Диссертация (1149672), страница 10
Текст из файла (страница 10)
Напомним, чтопри l [1: n(k )], [1: (k )] величины ( k ) , n(k ) , Qk ,l ( p1 ,..., p ( k ) ;1 ,..., n( k ) ), Pk , ( x k 1 )уже известны (см. (a) и (b)).(2.12)552.4.2 Вычисление производных системы функцийПустьDi yr i1 ...im f r ( x) / x1i1 ...xmim , i (i1 ,..., im ), i j [0 : ) ,u (i )D(0,...,0) yr yr f K ,r ( x K ) , Di yr ar , (i ) x (i , ) ,(2.13) 0x ( x1 ,..., xm ( K ) ), (i, ) ( ,1 (i),..., ,m ( K ) (i)),где, для любого i , мультииндексы (i, ), 0,...
различны. Используя цепное правилодифференцирования получаем следующие рекуррентные формулы:Di e jyr 1m( K )Di yr dx u (i ) ar , (i)x dx j 0m( K ) 1 , (i) x ( i , ) ex , j ,(2.14)r [1: N ], j [1: m], e1 (1,0,...,0), ..., em (0,...,0,1) ,где x , j dx / dx j вычисляются при помощи (2.10), (2.11), причем x , j , j , , j [1: m]2.4.3 Схема алгоритма дифференцированияШаг 1. После того, как система (2.5) введена в компьютер при помощи, скажем,пакета “Wolfram Mathematica”, алгоритм создает подбиблиотеку, состоящую только из необходимых функций и функций их расширений.
Как сама система, так иподбиблиотека могут зависеть от параметров, причем два и более различных параметра могут иметь идентичные обозначения. В связи с этим, алгоритм формируетспециальное число так, что если два или более из параметров имели обозначения , 1,... в (2.5), топрисваивается значение, равное максимальному из ; в про-тивном случае полагается0.После этого все такие имена параметров в подбиб-лиотеке заменяются на 1, 2 , ... и создается таблица соответствия старых и новыхимен параметров.Шаг 2. Используя элементарное преобразование (п.2.4.1, (a-c)), алгоритм последовательно преобразует систему к очередной системе вида (2.9) до тех пор, пока онане станет полиномиальной.56Шаг 3. При помощи формул (2.10), (2.11) (п.2.4.1, (a-c)) вычисляются первые производные дополнительных переменных.Шаг 4.
При помощи формулы (2.14) последовательно вычисляются искомые производные исходной системы (2.5) до требуемого порядка.Ниже на Рис. 2.1 приведена соответствующая блок-схема.2.4.4 Пример: вычисление матрицы ЯкобиРассмотрим систему, записанную в терминах функций из библиотеки, содержащей подбиблиотеки, рассмотренные в п.2.2.2:y1 x33 (sin cos(a ln 2 x2 bx3 ) b ln 4 x2 ) sin 5 (a ln 2 x2 bx3 ) Dv( g 2 ,1, 1; x1 ),y2 sin cos(a ln 2 x2 bx3 ) b ln 4 x2 sin5 (a ln 2 x2 bx3 ) Dv( g 2 ,1, 1; x1 ),y3 x22 cossin(a ln 2 x2 bx3 ) cos 4 (a ln 2 x2 bx3 ) EK 2 (sin sin(a ln 2 x2 bx3 ), x1 ),(2.15)y4 x22 cossin(a ln 2 x2 bx3 ) cos4 (a ln 2 x2 bx3 ) EK (sin sin(a ln 2 x2 bx3 ), x1 ),y5 x12 (ch2 (a ln 2 x2 bx3 ) sin(a ln 2 x2 bx3 )) sh5 (a ln 2 x2 bx3 ),y6 x1 (ch2 (a ln 2 x2 bx3 ) sin(a ln 2 x2 bx3 )) sh5 (a ln 2 x2 bx3 ),где a, b, g - параметры.Займемся теперь на этом примере описанием пошаговой реализации алгоритмасимвольного дифференцирования, который был изложен в п.п.2.4.1-2.4.3.Шаг 1.
Пользователь заводит в компьютер систему (2.15) при помощи пакетакомпьютерной алгебры “Wolfram Mathematica” [128]; алгоритм создает подбиблиотеку Пб, которая состоит из функций, в терминах которых записана система (2.15).Таблица соответствия старых и новых параметров не потребуется, так как в этойсистеме нет параметров .Шаг 2. Алгоритм преобразует систему шаг за шагом, используя элементарноепреобразование (п. 2.4.1(a-c)), т.е. вводя последовательно дополнительные переменные и получая все новые системы вида (2.9) на каждом шаге, пока на K -ом шаге эта57система не окажется полиномиальной.
Для рассматриваемого примера число K шагов оказалось равным семи. Ниже все множество дополнительных переменных выписано в виде семи строк так, что k - ая из них состоит из всех функцийрасширения k 1 ,..., n ( k ) с на первом месте:kx4 ln x2 , x5 x21;x6 sin(ax42 bx3 ), x7 cos(ax42 bx3 );x8 sh(ax42 bx3 ), x9 ch(ax42 bx3 );x10 cos x6 , x11 sin x6 ;(2.16)x12 sin x7 , x13 cos x7 ;x14 EK ( x11 , x1 ), x15 EKs( x11 , x1 ), x16 EKc( x11 , x1 ), x17 EKi ( x11 , x1 );x18 Dv( g 2 ,1, 1; x1 ), x19 DV ( g 2 ,1, 1; x1 ) .После седьмого шага система (2.9) становится полиномиальной:y7,1 x33 ( x12 bx44 ) x65 x18 , y7,2 x12 bx44 x65 x18 ,y7,3 x22 x10 x74 x142 ,y7,4 x22 x10 x74 x14 ,y7,5 x12 ( x92 x6 ) x85 ,y7,6 x1 ( x92 x6 ) x85(2.17)(таким образом, для исходной системы (2.9) получено полиномиальное представление в терминах исходных и дополнительных переменных).Шаг 3.
На каждом шаге алгоритм находит соответствующие данные (2.12) и вычисляет производные дополнительных x4 ,..., x19 по независимым переменным x1 , x2 , x3 ,используя формулы (2.10), (2.11). Чтобы проиллюстрировать производимые алгоритмом действия на очередном шаге, рассмотрим наиболее трудоемкий, как оказалось, шаг – шестой. Прежде всего, алгоритм находит в функциях y6,1 ,..., y6,6 выражение ( P ( x ), P566 ,16 ,25( x ))2 ( EK ( x11 , x1 ))2, гдеP6 ,1 ( x ) x11 , P6 , 2 ( x ) x1 ,55а ( p , p ) EK ( p , p )61212- биб-лиотечная функция.
Так как расширение{ 1 ( p1 , p2 ) 6 , 2 ( p1 , p2 ) sin 1 , 3 ( p1 , p2 ) cos 1 , 4 ( p1 , p2 ) (1 p1 cos 1 ) 1 }функции 6( p1 , p2 ) состоитиз четырех функций двух аргументов, тоn(6) 4, (6) 2 .58Сообщение об ошибкеВХОД: заведение системыНетВозможно ли построение подбиблиотеки?Заведение ипроверкаисходныхданныхДаПостроение подбиблиотеки для исходной системы.Формирование разделов и таблицы параметровЯвляется ли полиномиальной полученная системаНетПодготовкаНайти в системе функцию,аргументы которой –полиномыЗамена в системе функций расширенияновыми переменнымиПреобразованияДаНахождение производных для дополнительныхпеременныхНахождение искомых производных исходной системыПроизводныеВывод исходной системы функций, таблицы параметров,дополнительных переменных и их производных,системы полиномов и их производныхВыводданныхРис.
2.1. Блок-схема алгоритма символьного дифференцированияТак как функции 1 ,..., 4 удовлетворяют системе (она имеется в библиотеке)112222 Q16,1 24 , Q 6,1 4 , Q16,2 234 , Q 6,2 34 ,p1p2p1p2334422 Q16,3 224 , Q6,3 24 , Q16,4 342 p12243 , Q 6,4 p1432 ,p1p2p1p2то полиномы Qk ,l также известны. Таким же образом величины (2.12) находятся навсех остальных шагах. Все эти величины представлены в таблице 2.1.59Производные Pk , ( xk 1 ) / x (они необходимы для вычислений по формулам (9)) иx , j , 4,...,19; j 1, 2,3 (получены по (2.10), (2.11)) даны в таблицах 2.2, 2.3.Шаг 4.
Используя формулы (2.14), алгоритм находит производные первого порядка функций исходной системы (2.15) по всем независимым переменным x1 , x2 , x3 .В таблице 2.4 множество всех этих производных представлено в виде матрицыЯкоби (yr / x j ) . Производные высших порядков можно теперь последовательно вычислять, используя (2.14).Краткое обсуждение примера и метода. В разделах 2.4.1-2.4.3 было дано детальное описание алгоритма символьного дифференцирования, применимого к системе функций многих переменных (2.5).
В качестве примера, демонстрирующеговозможности алгоритма, в разделе 2.4.4 была получена матрица Якоби для заданнойсистемы из шести функций (2.15) от трех независимых переменных x1 , x2 , x3 и трехпараметров a, b, g . Проследим и обсудим теперь схему применения предложенногоалгоритма символьного дифференцирования в процессе решения этого примера.Исходная система (2.15) представлена в терминах базовых арифметических операций, шести элементарных функций inv( p) p 1 , ln p , sin p , cos p , s h p , c h p , двухспециальных функций EK ( p1 , p2 ) (эксцентрическая аномалия, зависящая от эксцентриситета и средней аномалии), Dv( p) (функция Вебера) и их конечных суперпозиций. Отметим, что мы специально включили в рассматриваемый пример функциюEK ( p1 , p2 ) , такой функции среди стандартных функций, определенных в доступныхнам пакетах компьютерной алгебры мы не нашли.
Используемая библиотека содержит все упомянутые функции, их расширения и соответствующие полиномиальныедифференциальные уравнения, которым эти функции удовлетворяют.Используя эти уравнения из библиотеки для введения дополнительных переменных x4 ,..., x19 , алгоритм преобразует систему (2.15) в систему полиномов (2.17) по исходным и дополнительным переменным, затем по (2.10), (2.11) находит производные дополнительных переменных как полиномы по тем же переменным (см. Таблицу 2.3) и, наконец, при помощи (2.14) находит все первые производные исходной60системы (2.15) по независимым переменным x1 , x2 , x3 в форме полиномов по x1 ,..., x19(см.















