Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 45
Текст из файла (страница 45)
Состав пакета огФоро(у Ортогональные л(ногочлены (полиномы) находят самое широкое применение в различных математических расчетах. В частности они широко используются в алгоритмах интерполяции, экстраполяции и аппроксимации различных функциональных зависимостей, где свойство ортогональности обеспечивает оценку погрешности приближения и сведение ее к минимуму — вплоть до нуля.
В пакете ог(Поро)у систел(ы Мар(е 9.5 задано 6 функций: > нтсь(осеьпро1у); (О, 0,2.,Р, т, Ц Однобуквенные имена этих функций отождествляются с первой буквой в наименовании ортогональных полиномов. Вопреки принятым в Мар!е правилам, большие буквы в названиях этих полиномов не указывают на инертность данных функций — все они являются немедленно вычисляемыми. В данном разделе функции этого пакета будут полностью описаны. Отметим определения указанных функций: 6(п,а,х) — полином Гегенбауэра (из семейства ультрасферических полиномов); Н(п,х) — полином Эрмита; ( (п,х) — поли ном Лагерра; 5.4. Рабата с оатагаиальиыми аааыяомами 1(п,а,х) — обобщенный полином Лагерра; Р(п,х) — полином Лежандра; Р(п,а,Ь.х) — полином Якоби; Т(п,х) — обобщенный полином Чебышева первого рода; 0(п,х) — обобщенный полином Чебышева второго рода.
Свойства ортогональных многочленов хорошо известны. Все они характеризуются целочисленным порядком и, аргументом х и иногда дополнительными параметрами а и Ь. Существуют простые рекуррентные формулы, позволяющие найти полином и-го порядка по значению полинома (и — 1)-го порядка. Эти формулы и используются для вычисления полиномов высшего порядка. 5.4.2. Вычисление ортогональных полиноыов Ниже представлены примеры вычисления ортогональных полиномов (файл опйро]): > 6(0,1,х) ) > 6(1,1,х); 2х > 6(1,1,5] г 1О > н(з,х]г 8 ха — 12 х > 1.(З, х); ! — Зх+-х] --хз 3 ! 2 б > Ь[г,а,х]; 1+ — а -2 х+-а -ах+ — х~ 3 !аг 2 2 2 > Р(г,х) р 3 1 †х-- 2 2 > Р(2,1,1,х) 151 3 — х —— 4 4 > Т(5,х]; 1бх~ -20х +5х > О(5,х) г 32х5 — 32х]+бх н. 334 Глава 5.
Анализ фунга(вокальных зависимостей и обработка данных В отличие от ряда элементарных функций, ортогональные многочлены определены только для действительного аргумента х. При комплексном аргументе ранее результат просто повторял исходное выражение с многочленом: > ече1Г(ц(2,2+э*1)); Р(2, 2 + 3 /) Но уже в Мар!е 9 ортогональные полиномы с комплексными аргументами могут вычисляться: > еча1Г (О (2, 2+3*1) ); -21. + 48.! Ортогональные многочлены не определены и для дробного показателя и.
Впрочем, надо отметить, что такие многочлены на практике используются крайне редко. 5.4 Раоота с оРтосональными полиномами 4 О ии 1 СКК ЗСК ]Лоло а 2 К С . С.. СКОС ЫОЬ ]]Лк > Р1ок((Т(1,к),Е(2,к),Е(З,к]],к -1 З,у -2..а,со]ог ]с]лоК]( З > р1оС( (2(1 сс),2 (2, к),2(З,к) ), к — 1. 1,у — 1 .. 1,ссо1ок-] 1лоК] . !] 32б Глава 5. Анализ функциональных зависимостей и обработка данных кций, которые рассматриваются в этой главе далее. Можно порекомендовать читателю по их образцу и подобию построить графики ортогональных многочленов при других значения параметра п и диапазонах изменения аргумента х.
5.4.4. Работе с рядами ортогонильных многочленов Для работы с рядами ортогональных многочленов имеется пакет Опйодопа!- Бепез для работы с рядами ортогональных многочленов. Он имеет довольно представительный набор функций: > етгЛ(оггЛоооиа15ег1ев); [Айс[, Арр1уОрегагог, СдапееВалз, Сое[йс(етз, Сопчег(ТоБит, Сору, Сгеа(е, Верее, Веги ате, Вег(чаг(чейергезеп(астап, Еча1иаге, СеИпто, Ми1бр1у, Ро[употи(1Ми[пр1у, Бса1агМи[йр[у, Яйпр[(ГуСоеф)степ(в, Тгипсаге ) Поскольку этот пакет представляет интерес, в основном, лля опытных математиков, мы не будем рассматривать его функции (в целом достаточно простые) подробно и ограничимся несколькими примерами. В следующем примере с помощью функции Сгеа1е создается бесконечный ряд с ортогональным многочленом Эрмита в составе базового выражения ряда: > ОгГЛовоиа15егзез [Сгеаее) (и (и), Негетеея (и, х) ) 2'и(п) Неги]!(еН(п,х) «=О В другом примере показано представление полиномиального выражения в новом базисе с ортогональными многочленами Чебышева с помощью функции СпапдеВав!5: > Огеьовоиа15егзез [СЛаивевавзз) (1+3*у*х" 2+у" 3*х, СЛеЬузЛечт (и, х), СЛеЬузьечо (в, у) ) О ! + — СЬеЬузЬечТ(2, х) СЛеЬувЛеч$3(1, у) + — С!]еЬувЛеч13(1, у) 3 3 4 4 + — СЛеЬузйечТ(1, х) СЬеЬувЛечЩ 1, у) 1 2 > Огеьовоиа15ег1ез[вча1иаее)(Ь): Зх у+ух+ ! Обратите внимание на то, что новое выражение после исполнения команды Еча)оа!е приняло вид исходного выражения.
Следующий пример демонстрирует создание ряда на основе ортогональных многочленов Чебышева и его копирование с помощью функции Сору: > 5: =Сгеаее ( (-1) "и/и!, СЛеЬувЛечт (и, х] ); ~ (-1)" СЛеЬувЛечТ(п, х) з=в п. 1 > т:=Сору(5) ~ (-1)" СЬеЬув[1ечТ(п, х) з=О п. 1 327 5.5. Пакет Ро1упот(а1Тоо!я Вычисление производной от ряда с ортогональными многочленами представлено ниже: > Б: = Ссеаге (и (и), СпеЪуаЛечт (и, х) ) г 5: = ~ ц(п) СЬеЬузйечТ(п, х) -о > Оегзчаге (Б,х) '~~ (и + 1)в(п + 1) СЬеЬуБЬеч()(п, х) п О Еще один пример демонстрирует операцию скалярного умножения ряда с помощью функции Зса)агМц)!)р(у: > Б:= Сгеасе(п+1,кгачсьопх(п,р,Ч, х) ) г 5:= ,'Е(п+ 1) «о Кгачсйоц)( п,х +9х +3! х +59х+60, — + — +3+4х+5х, х 1 2 2 г > Бса1агип1Е1р1у(а1рпа, Б) г 5:= 2 а(п+1) еа Кгачсйоц)( п,х +9х) +31х +59х+60, — + — +3+4х+5х), х 4 2 1 2 х' х > агер11еу($)г О 2 а(п+!) «еа Кгачсйоц)( п,х4 +9 ха +3)х) + 59х+ 60, 1+2х+Зх) +4хз+5х4 ° ' '') 5.5.
Пакет Ро!уг)о)т)1а!Тоо!а 5.5.1. Обзор возможностей пакета Ро1упогп1а1тоо1в Для выполнения ряда специальных операций с полиномами или создания полнномов с заданными свойствами служит пакет Ро!упоппа!Тоо!Б. Этот пакет имеет небольшое число функций: > чггь(ро1уповга1тоо1а)г [ Сое))гс(елИлег, Соус(елг)гесгог, Нигх 1(х, 1л5е)Тйес(ргоса1, Мгп(та(ро(упопио(, РТ)ЕТоРо1улот(а1 . Ро1упот(а(ТоРТУЕ, 5)гоггел, 5)гоггег, 5огг, 5рбг, 5р11(е, Тгапе(оге ) В пакет входят функции расщепления, сортировки и преобразования полиномов (в том числе в дифференциальные уравнения и наоборот) и др. 32В Глава 5. Анализ функ[[накальных зависимостей и о6раоотка данных 5.5.2.
Функции для работы с полиномами Рассмотрим несколько функций пакета Ро!упоп)!аПоо15 общего характера. Функция [вЯе1%ес1ргоса[(а, х, 'р') — проверяет полином а(х) на условие соей(а,х,)[) = соей(а,х,[)-)[) для всех К = О..[), где [) = [!едгее(а, х) — порядок полинома, Если это условие выполняется, то возвращается логическое значение !пзе, иначе — (а1ве. Если порядок [) четный и если задан третий аргумент р, то р будет представлять лелином Р порядка су2, такой, что х"([)!2)*Р(х+1/х) = а.
При нечетном [), подином а будет взаимо-обратным, что подразумевает деление на х+1. В этом случае если р указано, результат вычисляется в форме а/(х+1). Примеры применения этой функции представлены ниже (файл ройоо15): > еагь[Ро1уеов1а1тоо1а): 1аве1ГВеохргооа1[х"4+х"3+х+1, х, 'р'); оие > р; -2+х+х г > 1азе1таеотргооа1(х"5-З*х"4+х"3+х"2-З*х+1, х, 'р'); ггие > рг 3-4х+х > г:= ееа1Г[ 1+аягГ(2) ); г: = 2.414213562 Функция М!и!п)а[Ро[упоп)1а)(г, и, асс) возвращает полином минимальной степени не превышающей и, имеющий корень г.
Необязательный аргумент асс задает погрешность приближения. Функция М!п)п)а1Ро[упоп)[а!(г, и) использует решетчатый алгоритм и находит полином степени и (или менее) с наименьшими целыми коэффициентами. Корень г может быть действительным или комплексным. Результат зависит от значения переменной окружения О!д)!в. По умолчанию асс задано как 10*(0!д)!в-2). Примеры применения данной функции: > Мзетва1Ро1уоовга1( г, 2 )[ -1-2 Х+ Х) > г:= 1+аягГ (2) г:=1+~Г2 > ( г, 2 ): !+~Г2, 2 > Мзвтва1Ро1уеовьа1( 1.234, 3 )4 109+61 Х 5 Х)+22 Хз > гао).ее [ "., Х ) 1.234000001 згр 5.5.
Локет Ро(упот(а! ТооЬ Функция Яр)й(а, х, Ь) служит для расщепления полинома а с независимой переменной х. Параметр Ь вЂ” не обязательный. Функция Яр(й(а, х) осуществляет комплексную факторизацию инвариантного полинома а по х. Если третий аргумент Ь задан, он представляет множество элементов ((1,...,!и)), таких что полином а расщепляется над К=О(!1,...,(гп), где 0 означает поле рациональных чисел.
Примеры: > Яр11г(х"2+х+1,х); (х — йоо(ОГ( 7'+ 7+ !))(х+ )+ йоо(ОГ( 71+ 7+ !)) > Яр11Г(х"2|у*х+1+у"2, х, 'Ъ|) ) (х йоо(ОГ( 71 + у 7+ ! + у)))(х +у + ооо(О(( 71 +у 7+ ! + у))) 71+у 7+ )+у))) В пакете определена еще одна подобная функция Яр))(з, с которой можно познакомиться по справке на нее. Функция Тгапя)а(е(а, х, хО) преобразует полином а(х) с подстановкой х = х+ хО, где хΠ— константа. Примеры применения этой функции даны ниже: > Тгапз1аге (х" 2, х, 1) г (+2х+х > ехрапе(еча1 (х" 2, х=х+1)!; )+2х+х > Тгапз1аге [х"З,х, 2) 8+ )2 х+бх) +х) > ехрап|)(еча1[х"3, х х+2) ); 8+ !2х+бх'+х' > Тгапз1асе ( (х+1) "3, х, -1) хз 5.5.3. Функции сортировки полиномов Для сортировки полииомов предназначены следующие три функции: яиоггег(Г, д, х) Яогг(ч, х) ЯЬоггеп(Т, х) Здесь 1 и д полиномы„ч — список полиномов и х — независимая переменная.