Матрица коэффициентов с максимумами ряда Тейлора - PullRequest
2 голосов
/ 08 апреля 2020

Я пытаюсь получить матрицу коэффициентов для следующего разложения в ряд Тейлора

(%i47) SS: taylor( matrix( [sin(h)], [cos(t)] )  , [h,t], [h_0, t_0], 1 );
                                                                                           [ sin(h_0) + cos(h_0) (h - h_0) + . . . ]
(%o47)/T/                                                                                  [                                       ]
                                                                                           [ cos(t_0) - sin(t_0) (t - t_0) + . . . ]

Теперь, когда у меня есть разложение в ряд Тейлора, я хочу получить его в виде A[h;t] + b.

coefmatrix( SS, [h,t,1] );
                               [ sin(h_0) + cos(h_0) (h - h_0) + . . . ]
coefmatrix: improper argument: [                                       ]
                               [ cos(t_0) - sin(t_0) (t - t_0) + . . . ]
 -- an error. To debug this try: debugmode(true);

Этот последний шаг выдает ошибку. Как я могу выполнить 1009 * то, что я желаю?

1 Ответ

1 голос
/ 09 апреля 2020

После некоторого возни, правильный способ сделать это:

SS(h,t):= taylor( matrix( [sin(h)], [cos(t)] )  , [h,t], [h_0, t_0], 1 );
q: list_matrix_entries( SS( h,t ) );
A: coefmatrix( q, [h, t] );
b: expand( A . [h,t] - q );

, что приводит к:

(%i6) A: coefmatrix( q, [h,t] );
                                        [ cos(h_0)      0      ]
(%o6)                                   [                      ]
                                        [    0      - sin(t_0) ]
(%i7) b: expand( A . [h,t] - q );

                                    [   h_0 cos(h_0) - sin(h_0)   ]
(%o7)                               [                             ]
                                    [ (- t_0 sin(t_0)) - cos(t_0) ]

В целом функция list_matrix_entries была ключевой.

...