http://student.gomel.by – заказать курсовую работу Многомерно-матричные полиномы 2.1. Цель работы 1. Изучение полиномов многих переменных на основе системы Matlab. 2.2. Теоретические положения 2.2.1. Классические полиномы многих переменных Рассмотрим классическую форму представления скалярного полинома y многих переменных x1 , x 2 ,..., x n , или, иначе, скалярного полинома y векторной переменной x ( x1 , x 2 ,..., x n ) . Вектор ( 1 , 2 ,..., n ) с целочисленными неотрицательными компонентами назовем мультииндексом и обозначим | | 1 2 ... n . Скалярная функция n переменных x1 , x 2 ,..., x n вида ( x ) c x c x11 x 2 2 x n n , | | 0,1,2,... , (2.1) называется одночленом n переменных степени | |. Скалярная функция вида g k ( x ) c x | | k (2.2) называется однородным полиномом степени k векторной переменной x . Скалярная функция вида m y( x ) g k ( x ) k 0 называется полиномом степени m векторной переменной x . Таким образом, полином степени m векторной переменной x представляет собой сумму однородных полиномов (2.2) или сумму одночленов вида (2.1) со степенями от 0 до m : m y( x ) c x . | |0 (2.3) Например, классическое представление скалярного полинома второй степени трех переменных x1 , x 2 , x 3 имеет вид y c0 ,0 ,0 c1,0 ,0 x1 c0 ,2 ,0 x2 c0 ,0 ,3 x3 c2 ,0 ,0 x12 c0 ,2 ,0 x22 c0 ,0 ,2 x32 c1,1,0 x1 x 2 c1,0 ,1 x1 x3 c0 ,1,1 x2 x3 . Если ввести здесь однородные полиномы степеней 0 , 1 , 2 g 0 ( x ) c0 ,0 ,0 , g 1 ( x ) c1,0 ,0 x1 c0 ,2 ,0 x2 c0 ,0 ,3 x3 , (2.4) g 2 ( x ) c2 ,0 ,0 x12 c0 ,2 ,0 x22 c0 ,0 ,2 x32 c1,1,0 x1 x 2 c1,0 ,1 x1 x3 c0 ,1,1 x2 x3 , то этот полином будет иметь вид y g0 ( x ) g1( x ) g 2 ( x ). Важно знать, сколько одночленов содержит однородный полином степени k n переменных (2.2) и полином n переменных степени m (2.3). Очевидно, что эти полиномы имеют столько же коэффициентов. Однородный полином степени k n переменных (2.2) содержит ( n k 1 )! ( k , n ) C nk k 1 k ! ( n 1 )! одночленов (коэффициентов). Полином n переменных степени m (2.3) содержит M ( m, n ) ( m n )! . m! n! одночленов (коэффициентов). Ясно, что m M ( m , n ) ( k , n ) . k 0 В частности, для полинома второй степени трех переменных (2.4) имеем ( 0 ,3 ) C 20 C 22 1 , ( 1,3 ) C 31 3 , ( 2 ,3 ) C 42 M ( 2 ,3 ) 4! 6, 2!2! 5! 1 2 3 4 5 10 . 2!3! 1 2 1 2 3 Для сравнения, число коэффициентов полинома 2-й степени четырех переменных будет равно M ( 2 ,4 ) 6! 1 2 3 4 5 6 15 . 2!4! 1 2 1 2 3 4 Неудобство работы с полиномами многих переменных в классической форме (2.3) состоит в плохой формализованности этого выражения. Плохая формализованность заключается в том, что порядковый номер коэффициента c в сумме (2.3) не совпадает с его «официальным номером» ( 1 , 2 ,..., n ) . Для преодоления этих трудностей необходимо иметь способ упорядочивания мультииндексных номеров ( 1 , 2 ,..., n ) как для фиксированного числа | | 1 2 ... n ( k , n ) , так и для всех | | 0 , M ( m , n ) . Наиболее часто применяется так называемое лексикографическое упорядочивание, определение которого также плохо формализовано. Из названия такого упорядочивания следует, что оно рассчитано на лексикографические способности человека и выполняется вручную. При отсутствии компьютерного алгоритма упорядочивания для однозначного определения полинома многих переменных (2.3) необходимо задавать не его коэффициенты c , а таблицу соответствий порядковых номеров коэффициентов значениям коэффициентов и значениям их мультииндексов ( 1 , 2 ,..., n ) . 2.2.2. Многомерно-матричные полиномы Пусть y – p -мерная матрица, y ( yi1 ,i2 ,...,i p ), i1 1, m1 ,..., i p 1, m p , а x – q -мерная матрица, x ( x j1 , j2 ,..., jq ), j1 1, n1 ,..., j q 1, nq . Однородный p -мерно-матричный полином k -й степени q -мерно-матричной переменной x имеет следующее представление [1,2]: y 0 ,kq( c k x k ) , (2.5) где x k – (0,0) -свернутая k -я степень матрицы x , c k ( c , ) – ( p kq ) -мерная матрица коэффициентов. Мультииндекс этой матрицы содержит p индексов. Мультииндекс состоит из k мультииндексов, каждый из которых содержит q индексов. Матрица c k должна быть симметричной при k 2 относительно k своих последних мультииндексов. Произвольный p -мерно-матричный полином m -й степени q -мерно-матричной переменной x является суммой однородных полиномов (2.5): m y 0 ,kq( c k x k ) , k 0 (2.6) где по определению принято x 1 . Если в (2.6) p 0 , q 0 , то мы имеем известный скалярный полином скалярной переменной x : 0 m y c k x k c0 c1 x c 2 x 2 ... c m x m . (2.7) k 0 При p 0 , q 1 получаем скалярный полином x ( x1 , x 2 ,..., x n1 ) : y векторной переменной m y 0 ,k ( c k x k ) , (2.8) k 0 где c k – k -мерные симметричные при k 2 матрицы n 1 -го порядка. В частности, при m 1 имеем полином 1-й степени y c0 0 ,1( c1 x ) , (2.9) где с 0 – скаляр, c1 ci( 1 ) , i 1, n1 , – одномерная матрица n 1 -го порядка. Скалярный полином второй степени векторной переменной имеет вид y с0 0 ,1( с1 x ) 0 ,2 ( c 2 x 2 ) , где c 2 c i(,2j ) , i , j 1, n1 , – двухмерная матрица n 1 -го порядка, с 0 , c 1 – те же, что и в (2.9). При p 1 , q 1 имеем векторный полином y ( y1 , y 2 ,..., y m1 ) векторной переменной x ( x1 , x 2 ,..., x n1 ) : m y 0 ,k ( bk x k ) , k 0 где bk – ( k 1 ) -мерные симметричные при k 2 относительно своих k последних индексов матрицы. В частности, при m 1 получим векторный полином 1-й степени векторной переменной y b0 0 ,1( b1 x ) , где b0 bi( 0 ) , i 1, m1 , – одномерная матрица m1 -го порядка, b1 bi(,1j ) , i 1, m1 , j 1, n1 , – двухмерная ( m1 n1 ) -матрица. Векторный полином 2-й степени векторной переменной имеет вид y b0 0 ,1( b1 x ) 0 ,2 ( b2 x 2 ) , где b0 и b1 те же, что и в (6), а b2 bi(,2j ,)k – трехмерная ( m1 n1 n1 ) -матрица, симметричная относительно индексов j, k . 2.2.3. Схема Горнера для многомерно-матричного полинома Для расчета скалярного полинома скалярной переменной (2.7) известна схема Горнера [3], при использовании которой уменьшается алгоритмическая сложность и повышается точность расчетов. В связи с этим представляется целесообразной разработка такой же схемы для скалярного полинома векторной переменной (2.8) или вообще для многомерно-матричного полинома (2.6). Получим схему Горнера сразу для многомерно-матричного полинома (2.6). Для этого запишем его в развернутой форме y( x ) c0 0 ,q ( c1 x ) 0 ,2 q ( c 2 x 2 ) ... 0 ,( m 1 )q ( c m 1 x m 1 ) 0 ,mq ( c m x m ) (2.10) и представим в виде y( x ) 0,0 b 0,q 1 (b2 x) ... 0,( m2) q (bm1 x m2 ) 0,( m1) q (bm x m1 ) ( x x (0) ) b0 . (2.11) Раскроем скобки в (2.11). Для иллюстрации выполним это для отдельного слагаемого в (2.11) 0 ,0 0 ,( m2 )q 0 ,0 0 ,( m2 )q 0 ,( m2 )q ( bm1 x m2 )( x x ( 0 ) ) b ( bm1 x m2 )x b m1 x m1 0 ,0 0 ,( m2 )q 0 ,( m2 )q 0 ,0 m1 ( bm1 x m2 )x ( 0 ) ( x m 2 x ( 0 ) ) . (2.12) Учитывая симметричность матрицы bm 1 относительно последних мультииндексов, можно показать (см. приложение), что 0 ,( m2 )q b m1 0 ,0 ( x m 2 x ( 0 ) ) 0 ,( m1 )q 0 ,q 0 ,( m2 )q b m1 0 ,0 ( x ( 0 ) x m 2 ) ( bm1 x ( 0 ) )x m2 ) , и вместо (2.12) получим b 0 ,0 0 ,( m2 )q 0,( m2) q ( bm1 x m2 )( x x ( 0 ) ) m1 m1 x 0,( m1) q 0,q (bm1 x (0) ) x m2 . Этот результат позволяет нам после раскрытия скобок в (2.11) приравнять коэффициенты полиномов (2.10) и (2.11). В итоге получим соотношения c m bm , c m 1 0 ,q ( bm x ( 0 ) ) bm 1 , ……………………………… c j 0 ,q ( b j 1 x ( 0 ) ) b j , ……………………………… c0 0 ,q ( b1 x ( 0 ) ) b0 . Отсюда получаем алгоритм bm c m , b j c j 0 ,q ( b j 1 x ( 0 ) ) , j m 1, m 2,...,0 . Если учесть, что в конце расчетов по данному алгоритму мы получаем коэффициент b0 и что y( x ( 0 ) ) b0 , то становится ясно, что мы получили алгоритм расчета зна- чения многомерно-матричного полинома (2.6) в точке x ( 0 ) . Ввиду произвольности x ( 0 ) верхний индекс в обозначении этой точки можно опустить. В итоге получаем следующий алгоритм расчета значения полинома (2.6) в любой точке x : bm c m , b j c j 0 ,q ( b j 1 x ) , j m 1, m 2,...,0 , (2.13) y( x ) b0 . Это и есть схема Горнера для многомерно-матричного полинома (2.6). Схема Горнера реализована в пакете программ «Анализ многомерных данных» для расчета значений скалярного полинома векторной переменной произвольной степени. 2.3. Порядок выполнения работы 2.3.1. Запрограммировать расчет скалярного полинома ( p 0 ) векторной переменной ( q 1) по выражениям (2.3) и (2.8) в случае двух переменных ( n 2 ). Варианты заданий приведены в табл. 2.1. Вывести в одно графическое окно трехмерный и контурный графики полинома (2.3), а в другое – трехмерный и контурный графики полинома (2.8) (с помощью функции meshc). Указание. Исходный полином задать в классическом представлении (2.3), выбрав коэффициенты с и степени ( 1 , 2 ,..., n ) его переменных самостоятельно, а его многомерно-матричные коэффициенты в представлении (2.8) сформировать вручную путем сопоставления коэффициентов при одинаковых степенях переменных в классической и многомерно-матричной формах представления. Для такого сопоставления целесообразно записать эти две формы представления на бумаге. При правильном сопоставлении коэффициентов полинома двух форм представления (2.3) и (2.8) трехмерные графики в п. 2.3.1 должны совпадать. Для расчета значений полинома в многомерно-матричном представлении можно воспользоваться как непосредственно определением (2.8), так и схемой Горнера (2.13) (по выбору студента). Таблица 2.1 № варианта Степень № варианта полинома k Степень № варианта полинома k Степень полинома k 1. 3 11. 3 21. 3 2. 2 12. 4 22. 2 3. 3 13. 3 23. 3 4. 4 14. 2 24. 4 5. 5 15. 3 25. 3 6. 2 16. 4 26. 2 7. 3 17. 3 27. 3 8. 4 18. 2 28. 4 9. 3 19. 3 29. 3 10. 2 20. 4 30. 5