Категории
Самые читаемые
onlinekniga.com » Научные и научно-популярные книги » Математика » Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Читать онлайн Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 32 33 34 35 36 37 38 39 40 ... 125
Перейти на страницу:

Рис. 3.15. Графики функций Бесселя и гамма-функции

3.3.4. Консультант по функциям

Математикам, серьезно работающим с функциями, большую помощь может оказать имеющийся в составе Maple 9.5 консультант по функциям, вводимый командой:

FunctionAdvisor()

FunctionAdvisor(topics, quiet)

FunctionAdvisor(Topic, function, quiet)

Здесь: topics — строковый параметр, задающий вывод тематической информации, quiet — строковый параметр, указывающий на вывод вычислительных данных, Topic — задание темы и function — задание имени функции или класса функций.

Команда FunctionAdvisor() выводит правила применения консультанта по функциям (файл funcadv):

> FunctionAdvisor(); The usage is as follows:

> FunctionAdvisor( topic, function, ... );

where 'topic' indicates the subject on which advice is required, 'function' is the name of a Maple function, and '...' represents possible additional input depending on the 'topic' chosen. To list the possible topics:

> FunctionAdvisor( topics ); A short form usage,

> FunctionAdvisor(function);

with just the name of the function is also available and displays a summary of information about the function.

Следующие примеры показывают вывод определений функций Бесселя:

> FunctionAdvisor(describe, Bessel);

BesselI = Modified Bessel function of the first kind,

BesselJ = Bessel function of the first kind,

BesselK = Modified Bessel function of the second kind,

BesselY = Bessel function of the second kind

> FunctionAdvisor(describe, BesselJ);

BesselJ = Bessel function of the first kind

В следующем примере выводится информация о представлении функции синуса в виде ряда, представленного суммой его членов:

> FunctionAdvisor(sum_form, sin);

Еще один пример показывает вывод интегрального представления синусного интеграла Френеля:

> FunctionAdvisor(integral form, FresnelS);

Представленные примеры дают представление лишь о малой части возможностей консультанта по функциям. С этим мощным средством получения информации о функциях можно дополнительно познакомиться по справке о нем, содержащей множество интересных примеров применения консультанта по функциям.

3.4. Работа с функциями пакетов расширения Maple

3.4.1. Работа с функциями пакета комбинаторики combinat

Функции комбинаторики достаточно известны из обычного курса математики. Но они применяются сравнительно редко. Поэтому они не включены в состав ядра системы, но имеются в пакете расширения combinat. При вызове пакета

> with(combinat);

выводится список имен его функций. Ввиду важности функций комбинаторики для некоторых специальных вычислений приведем их полные определения:

• Chi(x) — гиперболический косинусный интеграл;

• bell(n) — возвращает числа из решения уравнения ехр(ехр(х)-1)= sum(bell(n)/n!*x^n, n=0..infinity), причем для вычислений используется рекуррентное соотношение bell(n+1) = (bell(n)+1)^n;

• binomial(n, r) — возвращает биноминальные коэффициенты, причем, если n и r — целые числа, удовлетворяющие условию 0<=r<=n, то функция возвращает C(n,r)=n!/(r!(n-r)!), а в общем случае C(n, r) = limit(GAMMA(N+1)/ GAMMA(R+1)/GAMMA(N-R+1),R=r,N=n).

• composition(n, k) — возвращает списки композиций для целых неотрицательных n и k;

• fibonacci(n) — возвращает числа Фибоначчи, вычисляемые по рекуррентной формуле F(n) = F(n–1)+F(n–2), где F(0) = 0 и F(1)=1;

• fibonacci(n, х) —возвращает значение полинома Фибоначчи F(n, х) = х F(n–1, х) + F(n–2, х), где F(0, х)–0 и F(1, а)=1, при этом F(n)=F(n, 1);

• firstpart(n) — возвращает первый член последовательности из наборов чисел, сумма которых равна n (в оригинале каноническую последовательность);

• nextpart(1) — возвращает следующую часть указанной выше последовательности;

• lastpart(n) — возвращает последний член последовательности, указанной для функции firstpart;

• prevpart(1) — возвращает предпоследнюю часть канонической последовательности ряда;

• conjpart(1) — возвращает объединенный раздел в канонической последовательности ряда;

• graycode(n) — возвращает список кодов Грея для n-битовых чисел;

• multinomial(n, k1, k2,…, km) — возвращает мультиномиальные коэффициенты;

• numbcomb(n) и numbcomb(n, m) — возвращает число комбинаций;

• numbcomp(n, k) — возвращает число различных упорядоченных наборов из к натуральных чисел, сумма которых равна n;

• numbpart(n) — возвращает список всех возможных сумм, дающих n;

• permute(n) и permute(n, r) — возвращает numbperm(n, r) = nops(permute(n, r));

• powerset(s) — возвращает степень множества в множестве s;

• randcomb(n, m) — возвращает случайную комбинацию;

• randpart(n) — возвращает случайную часть:

• randperm(n) — возвращает случайную композицию;

• stirling1(n, m) — возвращает число Стирлинга первого рода;

• stirling2(n, m) — возвращает число Стирлинга второго рода;

• subsets(L) — задает итерационную процедуру над степенями множества или списка L;

• vectoint(I) — возвращает индекс вектора канонического упорядочения I;

• inttovec(m, n) — возвращает вектор канонического упорядочения для неотрицательных целых чисел m и n.

Следующие примеры (файл combinat) иллюстрируют применение функций комбинаторики:

> choose(4,3);

[[1,2,3], [1, 2, 4], [1,3,4], [2, 3, 4]]

> choose([a,a,b,с],3);

[[a,a,b], [a,a,с],[a,b,c]]

> composition(3,2);

{[2, 1], [1,2]}

> decodepart(4,2);

[1,1,2]

> fibonacci(10);

55

> seq(fibonacci(i),i=1..12);

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144

> partition(5);

[[1, 1, 1, 1, 1], [1, 1, 1, 2], [1, 2, 2], [1, 1, 3], [2, 3], [1, 4], [5]]

> firstpart(3);

[1, 1, 1]

> nextpart(%);

[1,2]

> prevpart(%);

[1, 1, 1]

> lastpart(3);

[3]

> conjpart(%);

[1, 1, 1]

> multinomial(8,2,3,3);

560

> numbcomp(8,5);

35

> numpart(3);

numpart(3)

> numbperm(4);

24

> numbperm([a, b]);

2

> numbperm({a,b,c}, 2);

6

> permute(3,2);

[[1,2], [1,3], [2, 1], [2, 3], [3, 1], [3, 2]]

> permute([a,a,b],2);

[[a,.a], [a,b], [b,a]]

> powerset([a,a,b]);

[[ ], [a], [b], [a,b], [a,a], [a,a,b]]

> randcomb([a,b,c,d],3);

[a,c,d]

> randcomb([a, b, c, d], 3);

[a,b,d]

> randpart(10);

[2, 8]

> randpart(10);

[10]

> stirling1(10,5);

-269325

> stirling2(10, 5);

42525

> S:=subsets({1,2}):

> while not S[finished] do S[nextvalue]() od;

{ } {1} {2} {1,2}

> vectoint([1,0,0]);

1

> inttovec(6,3);

[1,0,1]

3.4.2. Функции пакета структур комбинаторики combstruct

Еще девять функций, относящихся к структурам комбинаторики, содержит пакет combstruct:

> with(combstruct);

[agfeqns, agfmomentsolve, agfseries, allstructs, count, draw, finished, gfeqns, gfseries, gfsolve, iterstructs, nextstruct]

Эти функции служат для создания случайно однородных объектов, принадлежащих заданному комбинаторному классу. Ограничимся приведением примеров применения этих функций (файл combictruct):

> allstructs(Subset({one,two)));

{{ }, {one, two), {two}, {one)}

> allstructs(Permutation([x,y,z]),size=2);

[[x,y], [x,z], [x,y], [y,z], [z,x], [z,y]]

> count(Subset({1,2,3}));

8

> draw(Combination(5),size=4);

{1, 3, 4, 5}

> count(Permutation([a,a,b]));

> it :=iterstructs(Permutation([a,a,b]),size=2);

it:= table([finished = false, nextvalue = (proc(0) ... end proc)|)

> draw(Partition(9));

[2, 2, 2, 3]

> allstructs(Composition(3), size=2);

[[2, 1], [1,2]]

3.4.3. Функции пакета теории чисел — numtheory

В обширном пакете numtheory собран ряд функций, относящихся к теории чисел. Их можно просмотреть, используя команду:

> with(numtheory);

Большинство функций этого пакета достаточно просты и заинтересовавшийся читатель вполне в состоянии провести их тестирование самостоятельно.

3.4.4. Пакет для работы с р-адическими числами — padic

Этот весьма специфический пакет содержит следующие функции для работы с р-адическими числами. Команда

> with(padic);

Выводит список имен этого пакета. Ввиду специфичности данных функций их изучение мы оставляем за читателем для самостоятельной работы — если она требует применения таких чисел.

3.4.5. Пакет для работы с гауссовыми целыми числами — GaussInt

Гауссово целое число — это число вида а+I*b, где а и b — любые целые рациональные числа. Таким образом они образуют решетку всех точек с целыми координатами на плоскости комплексных чисел. Пакет GaussInt содержит достаточно представительный набор функций для работы с этими числами:

1 ... 32 33 34 35 36 37 38 39 40 ... 125
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов.
Комментарии