Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 44
Текст из файла (страница 44)
1. 5): 11 > огдю(Н>: Комбинаторика Элементарные комбинаторные операции реализуются при помощи команд стандартной библиотеки. Так, при помощи команды Ы поли а) (и, г) вычисляются биномиальные коэффициенты. Если и и г являются целыми положительнымн числами, то это число выборов г объектов из и объектоа: Ы покб а)(п, г) - и! /г! /(и-г)! . Для всех других случаев используется формула Ыпоа)а)(п, г) - )1я1с(6АИИА(И+1)/6АИИА(й+1)/6АИИА(И-й+1),й г,й-п) Если в качестве аргументов заданы символьные переменные, то, за исключением простыхслучаевтипаЫпсо>та) (п.1)-п, возвращаетсянеоцененноевыражение. Приведем простые примеры: Коибииаториха 233 > Ьзлоп(п)(5,2): !О > Ь(лопзп)(8, 1/2): 65536 ! 6435 и > Ьзлоппа)(п.5): Ь!попип1(л, 5) > ехрапщт); 1, 1 и 7 з 5 з и л + л л + л !20 12 24 !2 5 > ехрапз)(Ьзлоп)п)(л.л)); Ь(лоппа!(зз, гл) Другие операции могут быть выполнены при помощи команд пакетов комбинаторики соыЫпа1 и комбинаторных структур соа)ЬптгисЬ Перечислим некоторые команды пакета сап) Ы па!.
Для вычисления сочетаний и числа сочетаний применяются команды споозе и повЬсспЬ, а для вычисления перестановок и их числа имеются команды регвоге и липЬрегп) соответственно; команда 71 Ьоласс( служит для определения и-го числа Фибоначчи. Приведем пример использования перечисленных команд: > гепгаг( лз!Ыссеь(лпг): Иагп)пр. Ьие ргогес(ес лале СЫ Ьаз Ьеел гез)е[)пес' ало ипргопесгед > сьоопе([а,ь.с]); лаиьсопо([п,Ь.с]); [[ ), [а], [Ь], [а, Ь], [с], [а, с], [Ь, с], [а, Ь, сИ 8 > регенте([п.Ь.с]); липзьрега([а.ь,с]); [[а, Ь. с], [а, с, Ь), [Ь, а, с), [Ь, с, а], [с, а, Ь), [с, Ь, аП 6 Для создания случайно однородных объектов, принадлежащих к одному комбинаторному классу, используется пакет соп)Ьзтгист.
Например, для получения всех перестановок некоторого списка достаточно выполнить: > гепппг( и!СЬ(соиьпггас(): > а))п(гас(п(регщига(зол([х,у.х])): [[х, у, х], [х, а у), [у, х, и], [у, а х), [г, х, у], [а у, хП В пакете дгоор собраны команды для работы с,группами перестановок и конечно- приводимыми группами. Список команд вместе с описанием и примерами можно посмотреть в справке Мар[е, мы приведем простой пример.
Подключим пакет дгоор и создадим группу перестановок: > М1Ь(ассар): рр реллзгоар(7, [[[1.2.3]].[П.2,3,4,5,7]]])' р(7 [П1 2,3]], П1,2,3,4,5,7))!) Проверим на принадлежность группе несколько перестановок: > вгоираепЬег(П1,2.3.7П,рр): 234 Глава 8. Математические библиотеки Мар!е тгее > ргоореепоег(П1,5]. [3.6]]. ре): уи(ае Вычислим порядок определенной группы: > огоирогдег(ре); 720 Вазис Гребнера Пакет дгобпег предназначен для работы с многочленами.
Базис Гребнера — это набор многочленов, эквивалентный исходному множеству многочленов. Корни многочленов базиса Гребнера совпадают с корнями исходного множества много- членов. При этом коэффициенты многочленов базиса составляют верхнюю тре- угольную матрицу. В состав пакета входят следующие команды: Г(пбоп(, 7(п((е, дЬаз)г, дзо)че, )еаппоп, погл)а)Г, зо)чаЬ)е, зро)у. Рассмотрим пример.
Сначала подключим пакет и зададим множество из трех по- линомов относительно переменных х, у и г: > иип(егоЬпег. 9Ьаиа): > Р.=(г"2-2*х>у*г>5*х, х"у"2+у*г 3+2, 3*х"у"2-8*г 3]: Р:= (г' - 2 у г х+ 5 х, х у'+у г'+ 2, 3 х у' — 8 г'] > 6>9Ьаиа(Р.[х,у,г],р)ех); с7:= ',75 х — 32 г' — 16 г'+ ! 5 г' — 12, -60 г'+ 9 у — 64 г' — 48 г' — 32 г' — 24, 24 г + 9 + Зо г + З2 г + 24 г + 16 г ] Обратим внимание, что третий многочлен 6[3] зависит только от переменной г. Найдем численно его корни: > во:-(во!че(6(3],(г),спер!ех); Теперь можно найти все корни системы нелинейных уравнений; > (ог аг (и Бо Оо ву:-то)че(аоот(аг.6(2]).(У)): ах,-ао)че(ввоз(ау,аг,з(1]).(х)): рг)пг(ах[].5у[].тг[]) оо; х = -1.92221, у = -1.66084, г = -1.25752 х= -.04048!З,у = 4.33716,г = -.658514 х .0918000+ .0928427х', у -4 46789 + .820911 1, г =-.373182- .931470 1 'х= .0918000- .0928427 1чу -4 46789- .8209!1 1, г >373182+ .9314701 х = .284283+ .
! 69908 б у = .951578+ 1 75980 й г = .288450-.737768 Е х= .284283 †.!69908 Г, у =.951578 — 1.759808 г = .288450+ .737768 1 х =.0113385+.0481443 й у -.488446-4 58358 1, г =,574001-.4561341 х = .0113385 †.0481443 8 у = -.488446+ 4 58358 8 г = .574001 + .456! 34 1 Алгебры м формы 235 Для проверки подставим последнее решение в исходное множество многочленов: > аиоа(ах,аУ,57.Р): (-.)б Ю'-.г)озбд Ш'-ЛО )паАО.+О() Видно, что найденные решения являются корнями трех исходных полиномов с по- грешностью округлений.
Алгебры и формы В данном разделе кратко обсудим ряд пакетов, предназначенных для проведения абстрактных математических выкладок. Пакет дФоглта предоставляет команды для создания дифференциальных форм н работы с ними. Пакет работает с формами (тип тога), в формировании которых участвуют величины скалярного типа (зса1а г) и константы (соозС). Например, при помощи команды т)еттопа можно определить базис, адля преобразований использовать операции внешнего умножения (А") и производной (т)). Для получения сведений об используемых пакетом типах следует обратиться к справке?т))ттогтаз(суре), где в качестве туре могут выступать соозт, зса1аг нли тогат.
Приведем пример: > ютмот ттоппа): се(тоги(т-аса)аг, 9-аса1аг. Ш1)-е); > туре(г 9,(огц); уа(ее > т>(а*(ч,ч) а"(и,и))+9*а"(и.ч): 5)мргога1(т); у((ц ееч)+ (цел те)) +Х (ц,алч) (Г" + е ) ( и еее ч ) +у ( и Йе и') > (уре(т.аса)аг): тгие > о(1): О(1"2): Ша); б(а) В пакете 11еауп)лт, позволяющем работать с симметриями Лн, используются свои внешняя производная (б) и внешнее произведение (б ), не зависимые от имеющихся в пакете б)йотлтк Определение списка координатных переменных (нуль- форм) производится при помощи команды зесцр, для вычисления производной Ли служит команда Ьте', команда ысо11ест применяется для представления формы в виде суммы форм.
Для преобразования форм-и представления результатов имеются команды споозе, детсоетт, лпхраг, ыбедгее, ыебдезеС и ча)ие. Команды пакета не требуют непосредственной работы с дифференциальными формами. Если задан набор дифференциальных уравнений, то при помощи команды ()еьеплт пе определяются их координаты и дифференциальные формы. Для обозначения частных производных лучше использовать команду 0т тт, чем команды бт тт и О.
23йп Глава В. Ивтеиатичесиие библиотеки нар)е Для определения нужного порядка смешанных производных можно использовать команду в! храг, а для конвертирования производных О! 11 в производные б! ГГ при представлении результатов работы команды бегегпп пе нужно использовать команду ча1це. Проиллюстрируем работу некоторых команд. Напомним, что идея применения групп Ли [64] для анализа дифференциальных уравнений заключается в поиске полной группы симметрий системы дифференциальных уравнений, что позволяет строить новые решения системы по уже известным. В качестве примера рассмотрим хорошо известное уравнение Кортевега-де Фриза.
Анализ существующих у данного уравнения непрерывных симметрий можно найти в кинге [64], а их поиск средствами Мар!е обсуждался в книге [8]. Следуя [8, 64], найдем с помощью команд пакета (! епугпго симметрии уравнения Кортевега— де Фриза. Сначала подключим пакет и определим дифференциальное уравнение: > и!СП(1!еп)пп): )Саго!пр, Спе ргогесгеб папе с1опе Ьап Ьееп себе(!пес апо опргогесгеб > еО:-О!11(о(х.г).С)>о(х,г)*О!ГС(о(х,г),х)- О!11(о(х,г),х,х.х) О; ее:=~ — о(х, с)!+о(х, с) ~ — и(х, с)~ — ~ — о(х, с) =О '='[Эс ~ '[Эх ~ [Э„ Теперьвычислимгеиераторы группыдиффереициальиогоуравиения,азатемупро- стим их: > еап:- аогоп!ир(бегеги!пе(ач.т.о(х.г) ги)); ечп и> ( ) А>пьесе (ЧЗ 4(с') = С1, ЧЗ 5(с) =С2, ЧЗ 2(х, с) =х С1+ С2, Ч1 2(с) = с С1 + Сб, ЧЗ 3(с) = -с С1 + СВ, Ч1 3( с) = с С2 + С4, Ч!(х, с, и) = х (с С1 + Сб) + с С2+ С4.
Ч1 1(х, с) = х ( с С1 + Сб) + с С2+ С4, ЧЗ(х, с, и) =и(-с С1+ СВ)+хС1+С7,-сС1 — С — 2Сб О, ЧЗ 1(х,с) =-с С1+ СВ. Ч2 2(с) = С9+ — сс С1+3 Сбс, Ч2(х,с,и)=С9+ — с С1+3 Сбс) 3, 2 Заметим, что среди полученных равенств десятое выполняется только в случае С1-О и С8--2Сб.
Подставим зги условия в генераторы группы: > поЬп(С1-О„СО--2 Сб.ор(2.епп)): ( ЧЗ 5(с) С7, Ч1 З(с) с С7+ С4, О = О, ЧЗ З(с) =-2 Сб, ЧЗ(х,с,и) -2иСб+С2,ЧЗ 1(х,с)=-2Сб.ЧЗ 4(с)=О,Ч32(х,с)=С7. Ч1 2( с) = Сб, Ч1(х, с, и) = х Сб+ С С7+ С4, Ч1 1(х. с) = х Сб+ с С2+ С4, Ч2 2(с)=С9+3 Сбс, Ч2(х,с,и)=С9+ЗСбс) Следующей командой вьщелим условия, при которых векторное поле о Чцхп,и)Э, + Ч2(хпи) Э, + ЧЗ(х Си)Э„ порождает группу симметрий: Алгебры и формы 237 > ае!ест(лаа, Х, (у1.
с2.'сЗ) ): ( ЧЪ(х, с, и ) = -2 и Сб+ С2, Ч((х, с, и) = х Сб+ С С2+ С4, Ч2(х, с, и ) = Сд+ 3 Сб с ) В полученных выражениях С2, С4, СВ, Сд — произвольные постоянные. Таким образом, алгебра симметрий уравнения Кортевега-де Фриза порождается четырьмя векторными полями; ц = д„— сдвиг в пространстве, о, = дс — сдвиг во времени, о, = 9„— преобразование Галилея и о, = сд„+ 39, -2сDŽ— растяжение. В пакете б(йа(д собраны команды, реализующие алгебраические операции над по- лем полиномиальных дифференциальных уравнений. Пакет включает более двад- цати команд, позволяющих оперировать с такими дифференциальными уравне- ниями, в частности понижать их порядок, разыскивать решение в виде формального ряда. Для представления уравнений в пакете предусмотрена сокращенная форма записи, так называемое )ес-представление.