Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 44
Текст из файла (страница 44)
Эти функции задаются следующим образом: бедгее (а, х) 1бесЗгее (а, х) Функции бедгее и )бедгее используются, чтобы определить высшую и низшую степень полинома от неизвестного (неизвестных) х, которое чаше всего является единственным, но может быть списком или множеством неизвестных. Полином может иметь отрицательные целые показатели степеней при х.
Таким образом, бедгее и (бедгее могут возвратить отрицательное или положительное целое число. Если выражение не является полиномом от х сданным параметром, то возвращается ЕА[ . Чтобы бедгее и 1бедгее возвратили точный результат, полином обязательно должен быть сгруппирован по степеням х. Например, для выражения (х+ 1Кх+ + 2) — х' функция бедгее не обнаружит аннулирование старшего члена и неправильно возвратит результат 2.
Во избежание этой проблемы перед вызовом бедгее следует применять к полиному функции собес( или ехрапб. Если х — множество неизвестных, бедгее/[бедгее вычисляет полную степень. Если х — список неизвестных, бедгее/[бедгее вычисляет векторную степень. Векторная степень определяется следующим образом: с)еогсе <р, [1) = 0 с)ечгее(р, [х1,х2,...
) ) =с)еогее(р,х1) с)еогее (1соег г (р, х1), [х2,... ) ) Полная степень тогда определяется следующим образом: с)еогее (р,(х1, ...,хп)) = ссах1вопс с)еогее (р, (х1, ...хп)) или с)есгее (р,(х1, ..., хп)) = с)есгее(р,[х1, ...,хп1) 317 5.3. Операции с паеиномалюи Обращаем внимание на то, что векторная степень зависит от порядка перечисления неизвестных. а полная степень не зависит. Примеры применения функций байгее и )бейгее: > гевгагсг > р:=а4*х"4+аз*х"3+а2*х"2) р; = и4 х4 + пЗ х) + а2 х) > г)едгее(р,х)г > 1бедгее(р,х); > ги 1/х"2+2/х+3+4*х+5*х"2г д:= — +-+3+4х+5х~ ! 2 х х > дедгее (Ч, х); > 1бедгее (д, х) г > с)едгее (х*вгп (х), х]; ГА !Е > гего:= у* (х/(х+1)+1/(х+1) -1) г х ! гего:=у~ — + — — ! 1х+! х+! > г)едгее (гего, х); Йедгее (веге, у) гАП. > г)едгее (со11есГ (гего, х, поггаа1), х) гг)едгее (со11есГ (гего, у, погва1), у)г 5.3.5.
Контроль лолинома на наличие несокращаемых множителей Для контроля того, имеет ли полином несокращаемые множители, может использоваться функция )ггебцс(р) и ее вариант в инертной форме )гебос(р,К), где К вЂ” Коо(О!'-выражение. Ниже приведены примеры применения этих тестовых функций: > 1ггебпс(х"2-1)г /ийе > 1ггес)пс(х"2-2) ггие 318 Глава 5. Анализ функционалъных зависимостей и обработка банных > 1ггесос(2*х"2+б*х+б) пса 7) Го<ге > 1ггег<ос(х" 4+х+1) вос 2; ггае > а11ав(а1рпа4аооГОГ(х" 4+х+1] ): > 1ггег(ос(х"4+х+1,а1рпа) пю4) 2; ,Го<ге 5.3.6. Разложение полинома по степеням Для разложения полинома р по степеням служат инертные функции АЕас1ог(р) и АЕас(огв(р). Полином может быть представлен в виде зависимости от одной или нескольких переменных.
Функция АГас1ог(р) выполняет полную факторизацию (разложение) полинома р от нескольких переменных с коэффициентами в виде алгебраических чисел над полем комплексных чисел. При этом справедливо отношение еча1а(АЕас!ог(р))= Гас!ог(р,соп)р!ех). Таким образом, эта функция является, по существу, избыточной.
В случае одномерного полинома полное разложение на множители является разложением на линейные множители. Функция АЕас!огэ аналогична функции АГас!ог, но создает структуру данных формы [ц,[[Г[1),е[1Д,...,[Г[п),е[пЩ] так, что р=ц"Г[1)"е[1! ..."Г[п]*е[п), где каждый Г[<! — неприводимый полином. Ниже даны примеры применения функции АГас1ог: > епа1а (АГасгог (2*х" 2+4*к-б) ); 2 (х + 3) (х — ! ) > епа1а (АГасеог (х" 2+2*у" 2) ); (х — Кос(ОГ( 21 + 2)у) (х + Коо(ОГ( У~ + 2)у) > ехрапс) < (х-1) * (х-2) * (х-3) * (х-4) ): х — 10 х' + 35 х) — 50 х + 24 > АГасеог(Ъ) АЕас(ог(х — 10х +35х -50х+24) > епа1а (Ъ) (х — ! ) (х — 2) (х — 3) (х — 4) > ехрап4)( <х-1+1*2) ~ <х+1-1*2) *(х-3) ) г х) — Зхз+Зх-9+41 х — !2 Г > епа1а (АГасеог (Ы ) г (х - 3) (х' + 3 + 4! ) > ена1а [АГасгогв(х "2-2*у" 2) ); [1, [[х — Коо(ОГ( У~ -2)у, 1), [х+ Коо<ОГ( У~ +2)у, 1Щ Нетрудно заметить, что разложение полинома на множители позволяет оценить наличие у него корней.
Однако для этого удобнее воспользоваться специальными функциями, рассмотренными ниже. 319 5.3. Операции с палипомами 5.3.7. Вычисление корней полинома Для вычисления действительных и комплексных корней полиномов служит уже известная нам функции во(че(р,х), возвращающая список корней полинома р одной переменной.
Кроме того, имеются следующие функции для вычисления корней полиномов: гооЕв(р) гоогв(р, х) гооТв (р, К) гоогв(р, х, К) Эти функции вычисляют точные корни в рациональной или алгебраической области чисел. Корни возвращаются в виде [ [г1,(п1], ..., [гп,тп] ], где и — это корень полинома, а пв) — порядковый номер полинома. С действиями этих функций можно разобраться с помощью приведенных ниже примеров: > р:=«"4+9*«"3+31*«"2+59*«+604 р:= х4+9х'+31х'+59х+60 > во1че (р, х ); -3, -4, -1+ 2 1, -1 — 2 1 > гоогв (р «) > гоогв(х"2-4,х) [[2, 1], [-2,!Ц > ехрвв4) ( (х-1) * (х-2) * (х-3! * (х-4) ) х4 — 10х) +35х) — 50х+24 > гоогв(Ъ,«) [[1, 1], [2, 1], [3, 1], [4, !]] 5.3.8. Основные операции с полиномами С полиномами могут выполняться различные операции. Прежде всего, отметим некоторые функции, которые относятся к одному полиному: Действие этих функций достаточно очевидно, поэтому ограничимся приведением примеров их использования (файл ро!ор): > рвг(ге(х"2+2*«*у+у"2)г у+х рв()г((р) — возвращает квадрат полинома; ргоо!(р,п) — возвращает и-ю степень полинома; геа)гоо!(р) — возвращает интервал, в котором находятся действительные корни полинома; гапбро1у(чагв, е()пв) — возвращает случайный полином по переменным чагв (список) с максимальной степенью ес(пв; б!вопи(р,чаг) — вычисление дискриминанта полинома по переменной чаг; Рг)п)1!!че(а) пюб р — проверка полинома на примитивность (возвращает !п)е, если полином примитивен).
320 Глава 5. Анализ 4ункционаланых зависимостей и обработка данных > ргоог (х" 3+3*х" 2+3*х+1, 3); х+1 > раягг(х+у)( 1)[ОХ(,)Я Т > ргоое(х+у, 2); ФО](ООТ > р: х"3-3*х"2+5*х-10г р:=х) -Зхз+5х — 10 > бьасгтв (р, х) -1355 > геаб11Ь(геа1гоос) > геа1гоос(р): [[О, 4Ц > гапбро1у( [х],бевгее=10) 63х'4+57ха — 59х) +45ха -8х) -93 > гапбро1у([х],беогее 10); -5х +99х -б]х -50х~ — 12х — 18х > гапбро1у ( [х], бевгее=10) 4]х — 58ха — 9бх +53ха -х +94х > Ргтвггьче( х"4+х+1 ) воб 2г ггие Обратите внимание на то, что для использования некоторых из приведенных функций необходим вызов их из стандартной библиотеки.
Для функции гапбро1у приведенные результаты случайны, так что, скорее всего, их повторение невоз- МОЖНО. С полиномами можно выполнять обычные операции, используя для этого соответствуюшие операторы: > геаб11Ь(раягс): > геаб1гЬ(ргоог): > Рггвьегче( х"4+к+1 ) воб 2( ггие > р1:=а1*х"3+Ь1*х"2+с1*х+б1: р2:=а2*х"2+Ъ2*х+с2: > р1+р2; а1х +Ь1х" +с1х+Н+а2х +Ь2х+с2 > р1*р2; (а1х) +Ь1хз+с1х+Н)+(а2х +Ь2х+с2) 321 5.3. Опера((ии с яалинал(ами > со11есе ($, х)» а/а2х5+(Ыа2+а/Ь2)х +(с1а2+ЫЬ2+а/с2)х» +(»//а2+с1Ь2+Ь/с2)х) + (Л Ь2 + с1с2) х +»//с2 > р1/рз» а1х»+Их» +с/х+»/1 а2х +Ь2х+с2 > ехрала(а,х)» а1х' Ых' с1х а/х а2х +Ь2х+с2 а2х»+Ь2х+с2 а2х +Ь2х+с2 а2х»+Ь2х+с2 В целом надо отметить, что аппарат действий с полиномами в Мар!е хорошо развит и позволяет выполнять с ними практически любые математические операции.
В частности, можно вычислять производные от полиномов и интегралы, у которых полиномы являются подынтегральными функциями: > дьГГ (р1, х); 3 а/ х» + 2 Ы х + с/ > а1ЕГ (р1, х$2)» ба1х+2Ы > 1ае (р1, х) =аас [р1, х) ') а/х» +Их» +с1х+»//(/х = + + — +Их а/х Ых» с/х» 4 3 2 > Хпс (р1, х=е .. 1) =тес (р1, х=в .. 1); ) а/х» +Их» +с/х+»//»/х = — + — + — +(/1 а1 Ы с1 о 4 3 2 5.3.9.
Операции над степенными многочленами с отрицательными степенями Хотя в подавляющем большинстве случаев используются степенные много- члены (полиномы) с положительными степенями, Мар)е не накладывает особых ограничений и на многочлены с отрицательными степенями. Например, можно задать такой степенной многочлен: > рр:=а*х" (-2) +)»*х" (-1) +с*х+а+е*х" 2»Г*х" 3; рр:= — + — +сх+»/+ах-+ /'х а Ь ъ» Нетрудно показать, что с ним можно выполнять различные операции: > РР+РР» 2 — + — +2сх+2(/+2ех +2,/'х а 2Ь »» х» х 322 Глава 5. Анализ функциональных зависимостей и обработка данных > рр"2; с о Ь ) — + — +сх+Н+ех + Гх)~ х) х.
> ехир1веу(ъ) (а+Ьх+сх'+Их) +ех'+,Гх')' х| > шг г (рр, х) =с)ь ге (рр, х); — ~ — + — +сх+д+ех + Гх ) =-2 — — — +с+2ех+3 Гх д(о Ь а Ь 2 дх(,х' х ) х х > 1пе(рр,х) и Ь вЂ” + — +сх+д+ех +,Гх) дх ) х х > хпе (рр, х); — — +Ып(х)+ — сх) +Их+ — ех + — Гх а ! 3 ! 4 х 2 3 4 Хотя Мар(е и не накладывает ограничений на применение степенных много- членов (полиномов) с отрицательными степенями свойства таких полиномов заметно отличаются от свойств полиномов с положительными степенями, поэтому при применении первых надо проявлять известную осторожность. 5.4. Работа с ортогональными полиномами 5.4.1.