Приложение 
Здесь приведем тексты программных реализаций всех алгоритмов, описанных в ходе данной работы. Все программы, приведенные здесь, написаны на языке Python. Вычисление МНК-плоскости Лапласа (см 2.2): def CalcErrLaplacePlane(params, R, Tdate):     '''     params: list of Laplace Plane's params (omega_m, omega_b, i, a, e, M0, m0 – star’s mass)     R: list of star traces’ coordinates      Tdate: list of star traces dates      '''     omega_m, omega_b, i, a, e, M0, m0 = params     def CalcAnomaly(M):         E_prev = M         E = M + e * math.sin(E_prev)         while abs(E_prev - E) > 10 ** (-11):             E_prev = E             E = M + e * math.sin(E_prev)         return E      def CalcTTA(t):         mu = k ** 2 * (m + m0)         n = math.sqrt(mu / (a ** 3))         M = M0 + n * t # (t-t0)         E = CalcAnomaly(M)         alpha = math.sqrt((1 + e)/(1 - e)) * math.tan(E / 2)         beta = math.asin((2 * alpha) / (1 + alpha ** 2))         if alpha >= 0 and alpha <= 1:             v = beta         elif alpha ** 2 > 1:             v = math.pi - beta         else:              v = 2 * math.pi + beta         return v      A = np.array(         [-math.sin(omega_m) * math.cos(omega_b) - math.cos(omega_m)*math.sin(omega_b)*math.cos(i),         -math.sin(omega_m) * math.sin(omega_b) + math.cos(omega_m)*math.cos(omega_b)*math.cos(i),         math.cos(omega_m)*math.sin(i)]     )      B = np.array(         [math.cos(omega_m) * math.cos(omega_b) - math.sin(omega_m) * math.sin(omega_b) * math.cos(i),         math.cos(omega_m) * math.sin(omega_b) + math.sin(omega_m) * math.cos(omega_b) * math.cos(i),         math.sin(omega_m)*math.sin(i)]     )      def x(v):         return np.array((a * (1 - e ** 2) / (1 + e * math.cos(v))) * (A * math.sin(v) + B * math.cos(v)))          TA = list(map(CalcTTA, Tdate.tolist()))          return np.sqrt(((R[:,0:2]-X[:,0:2])**2).sum(axis=1)).sum()  Вычисление функционала (см 3.1, 3.2): p = a * (1-e ** 2)  r0 = lambda v: p / (1 + e * math.cos(v))  def CalcAnomaly(e, M, eps=10 ** (-11)):     E_prev = M     E = M + e * math.sin(E_prev)     while abs(E_prev - E) > eps:         E_prev = E         E = M + e * math.sin(E_prev)     return E  def CalcTTA(m, m0, a, M0, t0, t, e):     mu = k  **   2 * (m + m0)     n = math.sqrt(mu / (a  **   3))     M = M0 + n * (t - t0)     E = CalcAnomaly(e, M)     alpha = math.sqrt((1 + e)/(1 - e)) * math.tan(E / 2)     beta = math.asin((2 * alpha) / (1 + alpha  **   2))     if alpha >= 0 and alpha <= 1:         v = beta     elif alpha  **   2 > 1:         v = math.pi - beta     else:          v = 2 * math.pi + beta     return v  def CalcS_dm_eps (v, v0, alpha, lambda_m):     def gint(v):         return alpha * (k ** 2) * (m0 + m) * (1 / (m)) * math.exp(-r0(v) / lambda_m) * r0(v) * (1 - r0(v) / lambda_m) - (alpha * (k ** 2) * (m0 + m) * (1 / (m)) * math.exp(-r0(v) / lambda_m) * (r0(v) ** 2) * (1 - r0(v) / lambda_m) * (e / p) * math.sin(v) + alpha * (k ** 2) * (m0 + m) * (1 / (m)) * math.exp(-r0(v) / lambda_m) * (r0(v) ** 4) * (1 - r0(v) / lambda_m + 1 / (lambda_m ** 2)) * (e / p) * math.sin(v))#alpha * (k ** 2) * (m0 + m) * (1 / (r0(v) * m)) * math.exp(-r0(v) / lambda_m) * (1 - r0(v) / lambda_m) * (1 - (r0(v) ** 3) * math.sin(v) * (e / p)) - math.exp(-r0(v) / lambda_m) * ( (r0(v) ** 2) / (lambda_m ** 3) + 3 * r0(v) / lambda_m + 1) * math.sin(v) * (e / p) * (r0(v) ** 2)      def G(v):         return r0(v) * alpha * (k ** 2) * (m0 + m) * (1 / m)  * math.exp(-r0(v) / lambda_m) * (1 - r0(v) / lambda_m) + 2 * gint(v) - 2 * gint(v0)      return (r0(v) / (k **  2 * (m0 + m) * p)) * (math.sin(v) * quad(lambda v: G(v) * (r0(v) ** 3) * math.cos(v), v0, v)[0] - math.cos(v) * quad(lambda v: G(v) * (r0(v) **  3) * math.sin(v), v0, v)[0])        def SumError(params, R, Tdate, CalcS, M0):     v0 = CalcTTA(m, m0, a, M0, 0, 0, e)      vq = list(map(lambda t: CalcTTA(m, m0, a, M0, 0, t, e), Tdate.tolist()))     s = list(map(lambda v: CalcS(v, v0, params[0] , params[1]), list(vq)))     return ((np.array(s) - np.array(list(map(r0, vq)))*(np.sqrt((R ** 2).sum(axis=1)) - np.array(list(map(r0, vq))))) ** 2).sum()  
Вычисление МНК-плоскости Лапласа (см 2.2): 
def CalcErrLaplacePlane(params, R, Tdate): 
params: list of Laplace Plane's params (omega_m, omega_b, i, a, e, M0, m0 – star’s mass) 
R: list of star traces’ coordinates 
Tdate: list of star traces’ dates 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
''' 
'''