Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 25
Текст из файла (страница 25)
При вызове пакета > и1ГЬ(соеЬапае); выводится список имен его функций. Ввиду важности функций комбинаторики для некоторых специальных вычислений приведем их полные определения: ° СЬ((х) — гиперболический косинусный интеграл; ° Ьей(п) — возвращает числа из решения уравнения ехр(ехр(х)-1) = вцп)(Ье)((п)1п! х"п, пвО..(п([п)(у), причем для вычислений используется рекуррентное соотношение Ье!((и+1) = (Ье!((и)+1)"п; ° Ыпогп!а((п, г) — возвращает биноминальные коэффициенты, причем, если и и г — целые числа, удовлетворяющие условию О <= г<= и, то функция возвращает С(п,г)=п!1(г!(и-г)!), а в общем случае С(п, г) = ((гп(1(6АММА((Ч+1)1 6АММА(Я+1)1ОАММА(й-В+1),йвГ,(Ч=П).
178 Глава 3. Работа с математическими выражениями и функциями ° согпроз!йоп(п, )() — возвращает списки композиций для целых неотрицательныхпи1(; ° 6Ьопасс!(и) — возвращает числа Фибоначчи, вычисляемые по рекуррентной формуле Е(п) = г(п — 1) + е(п — 2), где с(0) = 0 и Е(1) = 1; ° ЯЬопасс1(п, х) — возвращает значение полинома Фибоначчи г(п, х) = х г(ив — 1, х) + Р(п — 2, х), где Р(0, х) = 0 и с(1, х) = 1„при этом г(п) = Е(п, 1); ° бгв!раП(п) — возвращает первый член последовательности из наборов чисел, сумма которых равна и (в оригинале каноническую последовательность); ° пех(раг((1) — возвращает следующую часть указанной выше последовательности; ° 1ав!раг!(и) — возвращает последний член последовательности, указанной для функции йгв!рап; ° ргечраП(1) — возвращает предпоследнюю часть канонической последовательности ряда; ° соп)раг)(1) — возвращает объединенный раздел в канонической последовательности ряда; ° дгаусо()е(п) — возвращает список кодов Грея для п-битовых чисел; ° п)ц!(!поп)!а1(п, К1, )(2, ..., Кп)) — возвращает мультиномиальные коэффициенты; ° поп)ЬсогпЬ(п) и поп)ЬсогпЬ(п, и)) — возвращает число комбинаций; ° пцп)Ьсоп)р(п, )() — возвращает число различных упорядоченных наборов из 1( натуральных чисел, сумма которых равна п; ° пц(пЬраг((п) — возвращает список всех возможных сумм, дающих и; ° реппц!е(п) и реггпц!е(п, г) — возвращает поп)Ьрепп(п, г) = пора(реггпц!е(п, г)); ° ро)не(ее!(в) — возвращает степень множества в множестве з; ° гап()соп)Ь(п, и)) — возвращает случайную комбинацию; ° гап()раг((п) — возвращает случайную часть: ° гапг)регп)(п) — возвращает случайную композицию; ° в!!г!!пд1(п, и)) — возвращает число Стирлинга первого рода; ° вйгйпд2(п, и)) — возвращает число Стирлинга второго рода; ° вцЬве)з(1.) — задает итерационную процедуру над степенями множества или списка 1; ° чес!о!п1(1) — возвращает индекс вектора канонического упорядочения 1; ° 1п((очес(п), и) — возвращает вектор канонического упорядочения для неотрицательных целых чисел гп и и.
Следующие примеры (файл согпЬ!па() иллюстрируют применение функций комбинаторики: > сьооае(4,3); [[1, 2, 3), [1, 2, 4[, [1, 3, 4), [2, 3, 4)) > сьооае ((а, а, Ь, с), 3) г Ца,а,Ь), [а,а,с), [а,Ь.сП > соироавсхоп(3,2! ([2, 1), (1, 2Ц > аесооерасе(4,2); [1. 1, 2) > ГеЬопассв(10) 55 179 3.4. Работа с функциями пакетов расширения Мар!е > аец(Е1Ьопасс1(1),1=1..12) 1, 1, 2, 3, 5.
8, 13, 2! . 34, 55, 89, 144 > рагг1г1оп(5]," И[, 1 1 1, 1), [1, 1, 1, 2), (1, 2, 2), (1, 1, 3), 12, 3), 11, 4), [5И > йегасрагг(3); (1, 1, 1) > пехграгс(Ъ)( [1, 2) > ргечрагг(Ы > 1ааграгг(3)) [3) > соп)рагг($); (1, 1, 1) > ви1геповеа1 (8, 2, 3, 3) 560 > пивЬсовр(8,5]; 35 > пиврагг(3)) пип]раг([3) > пивЬрегв(4) г 24 > пивЬрегв( [а,Ы ); > пивЬрегв ( ( а, Ъ, с), 2): > регвиге (3, 2) ) [[ 1, 21, (1, 3), (2, 1), (2, 3), [3, 1), [3, 2И > реево ге ( 1а, а, Ы, 2); Ца,а), (а, Ь1, [Ь,аИ > роиегаег((а,а.Ы )) [[ ), (а), (Ь), (а,Ь), [а,а), (а,а,ЬИ > гапосовЪ ( [а, Ь, с, с$), 3); 180 Глава 3. Работа с математическими выражениями и функциями > гапбсоеЬ( [а,Ь, с, б],3) ю [а,Ь,4 > гапбрагг(10) [2, 8[ > гапбрагг(10) > яс1г11пс1 (10, 5)) -269325 > ястг11п02(10,5): 42525 > Б: =яоЬяеся ((1, 2 )): > ев11е пог Б[сапьяьеб] бо 5[пехгяа1ое] (] об," (» (1» (2» (1, 2» > чесгоепг ( [1, О, О] ) г > 1пссочес(6,3] [1, О, 1[ 3.4.2.
Функции пакета структур комбинаторики соп)]звггцст Еше девять функций, относяшихся к структурам комбинаторики, содержит пакет соп)ЬБ(гцс(: > е1гь(совЬяггпсг) [об~едал, афтотелиоЬе, абГяепея, о(бягисвл соила г(га)я, Ятяйе((, 81едпя, )(1яепея, ало(не, Иегяггисап пегоягисг[ Эти функции служат для создания случайно однородных обьектов, принаалежаших заданному комбинаторному классу. Ограничимся приведением примеров применения этих функций (файл соп)Ь[с(п)ст): > а11яггпсгя (Боьяег ((опе, гюо) ) ); ((», (оле, пю», (~во», (опе»» > а11яггпсгя (Регпагаг1оп ( [х, у, я] ), я1яе=2); [[х,У[, [х,2[, [У,х[, [У,2[, [2,х[, [2,УИ > соопс(БпЬяеГ ((1, 2, 3) ) ); > бган (СовЬ1паг1оп (5), я1яе=я); «1.
3. 4, 5» 3.4. Работа с фуикциями пакетов расгаиреиия Мар1е > сопле (Реппоев11оп ( [ в, в, Ъ) ) ) ( > 11: =1гегвегосев (Реглоеяе1оп ( [в, в, Ъ) ), я1ге=2) 1(:=(аЫе([[[тябед = Га[ы, ))ехгга[ие =(ргос(0) ... еп([ ргос)[) > с)гае(Рвгг1Г1оп(9) ) с [2, 2, 2, 3[ > в11яегосев(соероя1Е1оп(3), ягге=2)( Ц2, 1[, [1, 2Ц 3.4.3. Функции пакета теории чисел — пцпй[)еогу В обширном пакете поп)1))еогу собран ряд функций, относящихся к теории чисел. Их можно просмотреть, используя команду: > е1ГЪ(ощпеьеогу)с Большинство функций этого пакета достаточно просты и заинтересовавшийся читатель вполне в состоянии провести их тестирование самостоятельно.
3.4.4. Пакет для работы с р-адическими числами — рве[[с Этот весьма специфический пакет содержит следующие функции для работы с р-адическими числами. Команда > я1ГЪ (рвсн.с); Выводит список имен этого пакета. Ввиду специфичности данных функций их изучение мы оставляем за читателем для самостоятельной работы — если она требует применения таких чисел. 3.4.5. Пакет для работы с гауссоаыми целыми числами — Овцев!п1 Гауссово целое число — это число вида и + 1 Ь, где а и Ь вЂ” любые целые рациональные числа.
Таким образом они образуют решетку всех точек с целыми координатами на плоскости комплексных чисел, Пакет Оацяя!и( содержит достаточно представительный набор функций для работы с этими числами: > еьгь(оаовятпе); %ап)[па,(Ъе пап)е С[иод [)ая Ъееп гедейпед [01Ьаягя, 01сйгет, 01([(уиог, 0[Гаера!у, ИХасяег, Щас(ог, 01~ас(огя, 01дсд 01дсдех, 01Ьегтйе, 01[яядг, 01[ст, С!тстЬ[ле, Илеагел, 01лос[(у, 01лолп, 01погта1, 01огдег, 01рй1, 01рлте, 01диаг)гея, 0!био, 01гет, 01гооеп Ия1еуе, 0!лт(Ь 0!яр(гее, 01ядгг, 01ил[(погтаЦ Нетрудно заметить, что в этот набор входят уже известные числовые функции, к именам которых добавлены буквы 01.
Например, функция 01(ас1ог(с) раскладывает гауссово число (в том числе комплексное) на простые множители, О(ос([(с1,с2) находит наибольший общий делитель гауссовых чисел с1 и с2 и т. д. В связи с этим в особых комментариях пакет не нуждается. 182 Глава 3. Работа с математическими выразкенилми и 4ункцннми З.б. Расширенные возможности Мар!е в работе с выражениями 3.5.1. Ввод выражений Фактически Мар)е — это система для манипулирования математическими выражениями. Выражение в системе Мар!е — объект, вполне соответствующий сути обычного математического выражения.
Оно может содержать операторы, операнды и функции с параметрами. Выражения в Мар!е могут оцениваться и изменяться в соответствии с заданными математическими законами и правилами преобразований. Например, функция упрошения выражений в)п)р))(у способна упрощать многие математические выражения. Мар1е автоматически упрощает некоторые выражения, например, такие, как х+ О, х- О, !»х, х/1 и т.
д. Но функцию можно применять и для выражений, записанных в качестве ее параметра в круглых скобках (файл ехрг): > аипр1егу (а>с (х) "2+со» (х] "2); > ахвр11 Гу ( (х" 2-2*х*а+а "2) I (х-а) ); х-а Важно отметить, что один и тот же результат может быть получен от многих выражений. Поэтому получение исходного выражения по упрощенному возможно далеко не всегда, а чаще всего просто вообще невозможно. Для выполнения любых математических операций необходимо обеспечить ввод в систему исходных данных — в общем случае математических выражений. Для ввода их и текстовых комментариев служат два соответствующих типа строк ввода. Переключение типа текущей строки ввода осуществляется клавишей Еб.
Строка ввода математических выражений имеет отличительный символ >, а строка ввода текстов такого признака не имеет. В строке ввода может располагаться несколько выражений. Фиксаторами (указанием, что выражение окончено) их могут быть символы; (точка с запятой) и: (двоеточие). Символ «;» фиксирует выражение и задает вывод результатов его вычисления. А символ гс» фиксирует выражение и блокирует вывод результатов его вычисления. Фиксаторы выполняют также функцию разделителей выражений, если в одной строке их несколько.