Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 13
Текст из файла (страница 13)
Аналитические преобразования в Мар!е Можно сначала выделить произведение, используя команду подстановки, а затем обратным замещением получить требуемое: > ех1:-зпоз(а=аЫЬ. ех): ех2:=со11ест(ек1, аЬ): ех!»иЬ+саЬ+! сх2 и> (1 е с) аЬ+ 1 > ехэ:-зпоз(ао-з*Ь.ех2); сху:= (1 4 с) а Ь+ 1 Конечно, простые подстановки можно делать при помощи оператора присваивания, когда переменной присваивается некоторое выражение, Однако в этом случае введенная подстановка распространится и на следующие операции с участием атой переменной. Команда подстановки зпЬз не позволяет проводить замену в выражении производной, не действует под знаком многократного интеграла, в выражении предела и некоторых других случаях; для таких подстановок нужно применять команду ((сПапое из пакета РОЕтоо!з.
Отметим также интересную команду тт(дзоЬэ ( ЕХ ), позволяющую, в частности, вывести все тригонометрические эквиваленты выражения Е)(, Например, для синуса двойного угла получим: > тючзпЬз(юп(2*х)): 1 1 тяп(х) Мп(2 х), — Мп(-2 х), 2 з!п(х) соз(х),, —, 2 ' свс(2х)' сзс(-2х)' 1+!вп(х)з' -1 <з~ ~ ьзг > 1 — 1(е — е ) 2 Операции с полиномами Для всех пакетов аналитических вычислений операции с полиномами являются базовыми и часто используются при других преобразованиях формул.
Под поли- номом в Мар!е понимается сумма выражений одной или нескольких переменных с неотрицательнь(ми степенями, так что полиномами являются константа, простая переменная и выражение. Рассмотрим представительное подмножество команд работы с полнномами. В табл. 2.5 приведен список команд с короткими пояснениями. Здесь использованы следующие обозначения: Р, Р1, Р2 — полиномы, ЧАГ( — переменная или список переменных, й — целое число (степень, порядок), )(АМŠ— имя для присвоения результата операции.
Рассмотрим следующий пример: введем полином р двух переменных х и у, умножим его на выражение х+2, используем команду ехрэп(( для раскрытия скобок и результат присвоим переменной ((: > р:-х-2"у+х>у-2; П;-ехрапо(р>(х+2)); Р:=х-2у+ху-2 Ч:=ха-4у+хху-4 Операции с полиномами 73 Таблица 2.В. Команды работы с по)~(комами Команда сое(((Р,НАП,И) Назначение Вычисление коэффициента при М-й степени переменной НАМ для полинома Р Вычисление коэффициентов полинома Р по переменной (переменным) НАМ Вычисление степени полинома Р по переменной НАП Вычисление дискриминанта полинома Р относительно переменной НАМ спет(з(Р,НАИ) Персее(Р.НАМ) Ш зсгзм(Р.НАМ) Вычисление частного отделения двух полнномов Вычисление наибольшего общего делителя двух полиномов Вычисление старшего коэффициента полинома Вычисление наименьшей степени полинома относительно переменной НАП Нахождение корня И-й степени из полинома Р Нахождение квадратного корня из полинома Р Вычисление частного отделения двух полиномов Вычисление остатка отделения двух полиномов Создание полинома переменной (переменных) НАИ со случайными коэффициентами Вычисление интервала, где лежат вещественные корни полинома Вычисление свободного члена полинома Р Ш т(бе(Р1,Р2,ИАНЕ) дсо(Р1,Р2) 1сое(ЙР,НАМ) 1педгее(Р.НАМ) ргоо((Р.М) рзцгт(Р) цпо(Р1.Р2,НАИ) геи(Р1,Р2,НАП) гап()ро)у(НАМ) геа!гост(Р) (спет((Р НАП) При помощи команды Фн(пе разделим получившееся выражение на полипом у+ 1 > отн(ое(ц,у 1,р1): ггне Отметим, что для команды СН н(()е выводится булева величина (Сгце при успешном делении и Та1зе — при неудаче), а результат присваивается переменной, являю- щейся третьим параметром команды.
Выведем полученный в результате деления полипом р1, определим его степень и коэффициент при старшей степени: > р1: Педгее(р1). )совет(р1); х — 4 2,1 Наконец, при помощи команды дс() найдем наибольший общий делитель полиномов р1 и х'-2х, > дсц(р1.х"2-2"х); х-2 результатом выполнения команды соеттв будет переменная типа 1(зт, содержа- щая неупорядоченные коэффициенты. Для получения соответствия между коаф- фициентами и степенями переменной НАВ следует использовать расширенный фор- мат команды с указанием третьего параметра: 74 Глава 2. Аналитические преобразования в )евр1е > сое(тз(х"2+у"х-х"4+у"2+х,х."з"): з: у', -1, 1, у + 1 1,х~,хз,х Итак, в переменной в степени идут в порядке, соответствующем перечислению коз ффициентов.
Теперь приведем пример извлечения корня из полинома: > р;-х б+2*х+1-х"2-х"4-4«х"3+2"х"5: рзпгс(р)-ргоомр,2); р:=-х -х -4х'+2х +х +2х+1 з 4 3 3 б -1-х+х'+хз = (х - 1) (1 + х) При невозможности извлечь корень появляется сообщение; > ргоог(Р.З): )чОЯООТ Напомним, что для разложения полинома Р на множители достаточно выполнить команду Гассог(Р), Обратим внимание на специфические приложения команды сопчегс для операций с полиномами: сопчег1 (Р.
Погпег, ЧАР) — преобразование полинома по схеме Горнера, сопчег1 ( Р, п)асПогпег, ЧАР) — преобразование полинома по матричной форме схемы Горнера, сопчегг( Р, зцгггее, ЧАР) — разложение полинома на квадратные трех- члены. Приведем пример: > р:-гаппрп1у((х,у].сергее-2): р а56449х«63у+57хз — 59ху+45уз > р1:-сопчег1(р,погпег,(х.у]): р);= 56 + (63 + 45 у ) у + (-59 у + 49 + 57 х) х > Р2:-зчпз(у-р,х-вггву(П2,1],(1,3]]).еча1(р1)): ечв1и(Р2); +Г49+57~1 3Ц) 3 ~439 334~ 334 773 Для сортировки полипом иальных выражений применяется та же команда зогс, которая позволяет упорядочивать злементы сп)(ока, см.
главу 1 «Основы Мар!ев. Это связано со способом хранения полиномов — в виде списка. По умолчанию члены полинома располагаются по убывающим степеням, и после применения команды вогс полипом хранится в преобразованном виде. Для полинома от нескольких переменных при помощи второго параметра команды вогс — списка или множества переменных — можно указать желаемый порядок следования членов с переменными. Если указать параметр "р1 ех" (можно использовать и апострофы), то сортировка будет производиться в лексикографическом порядке. Пр))(ведем ряд примеров. Введем полипом трех переменных П, х, у и выполним команду сортировки без дополнительных параметров.
В результате пояучиз)с Операции с полиномами 75 > ро;-х"у'Ь+х>у 3-х 3 .у*х'2: эогг(ро): ро:тузх+ухх — хх еЬух х )Р - х' е х' у + х у Ь Теперь посмотрим, как выполнится сортировка при укарании переменной, по степеням которой следует расположить члены полинома: > эогг(ро,х,"р1ех"); зогмро.у): -х еух~+у х+уЬх уз + х2 у+ Ь х у — хз Опробуем две комбинации переменных, по которым нужно производить сорти- ровку > лосс(ро.[у,х]): эогс(ро,[Ь.х),"р1ех"); у'х+ух'-х'+Ьух уЬх-х1+ух +у х Наконец, убедимся, что полипом записан согласно последней команде сорти- ровки: > ро: у Ь х — х1 + у хх + уз х Ряд команд для работы с полиномами содержится в небольшой библиотеке ро1 уЬсо15, которая загружается целиком по команде: > ичзп(ро1утоо15); [ттро!у, гес(ро(у, хрип хрщх, ггапх(аге] При вызове одной команды СОН можно использовать полное имя: ро1угоо1 3 [СОИ] () или подгрузить команду при помощи вызова и) ЬЫ ро1 уСоо1 3.
СОН). Команда ли про1у(й,'и',АСС) позволяет построить полипом с целыми коэффициентами степени не выше и', такой, что его корнем является заданное значение й. При помощи дополнительного параметра АСС указывается точность, по умолчанию АСС равно )0" (01 9]тз-2), здесь О) д1гз — переменная среды [константа) Мар]е, определяющая число значащих цифр в вычислениях с плавающей запятой. Найдем полипом первой степени с корнем, приближающим число п: > ро:-и1про1у(рц1); ро: -355+ 113 7 Воспользуемся командой гость для определения корня и его кратности.
Преобразуем дробь в десятичное число и убедимся, что полученное значение содержит семь верных знаков числа и: > гоотз(ро. Х): еча1г($[]): [3.1415%920, Ц] 76 Глава 2. Аналитические преобразования в Мвр!е Помимо полиномов общего вида имеются полиномы, носящие имена великих математиков — Лежандра, Чебышева, Якоби и др. Эти полиномы и библиотека ортогональных полиномов огспоро1у описаны в главе 8 «Математические библиотеки Мар1е». В версиях, предшествующих Мар!е 6, перед запуском ряда команд требовалось их подгрузить из стандартной библиотеки при помаши команды гезбПЬ. Это касалось, например, рассмотренных здесь команд ргоос и рзцгс, ГядВА Математический анализ в Мар1е В этой главе изложены команды Мар! е, реализующие основные математические операции, известные читателям в основном из математического анализа и высшей математики в вузе.