Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

> with(RationalNormalForms);

[AreSimilar, IsHypergeometricTerm, MinimalRepresentation, PolynomialNormalForm, RationalCanonicalForm]

Этот пакет обеспечивает следующие возможности:

• конструирование полиномиальных нормальных форм рациональных функций;

• конструирование рациональных канонических форм для рациональных функций;

• конструирование минимальных представлений для гипергеометрических термов.

Ввиду очевидности названий функций этого пакета ограничимся примерами его применения (файл rnform):

> F := (n^2-2)*(3*n+3)!/((n+3)!*(2*n+5)!);

> IsHypergeometricTerm(F,n,'certificate');

true

> certificate;

> (z,r,s,u,v) := RationalCanonicalForm[1](certificate,n);

> MinimalRepresentation[1](F,n,k);

Глава 4

Практика

математического анализа

Математический анализ — одна из самых благодатных областей применения систем компьютерной алгебры [36–46]. В этой главе описано решение с помощью СКА Maple наиболее важных задач математического анализа. Особое внимание в этой главе уделено визуализации записи исходных выражений и результатов вычислений, а также проверке последних.

4.1. Вычисление сумм последовательностей

4.1.1. Основные функции для вычисления сумм последовательностей

Начнем рассмотрение задач математического анализа с вычисления сумм последовательностей. Вычисление суммы членов некоторой последовательности f(k) при изменении целочисленного индекса k от значения m до значения n с шагом +1, то есть выражения

является достаточно распространенной операцией математического анализа. Для вычисляемой и инертной форм сумм последовательностей служат следующие функции:

sum(f,k);

sum(f,k=m..n);

sum(f,k=alpha);

Sum(f,k);

Sum(f,k=m..n);

Sum(f,k=alpha).

Здесь f — функция, задающая члены суммируемого ряда, k — индекс суммирования, тип — целочисленные пределы изменения k, alpha — RootOf-выражение. Значение n может быть равно бесконечности. В этом случае для n используется обозначение ∞ или infinity. Допустимо (а зачастую рекомендуется с целью исключения преждевременной оценки суммы) заключение f и k в прямые кавычки — например, sum('f', 'k'=m..n). Рекомендуется все примеры проверять после команды restart, убирающей предыдущие определения f и k.

Внимание! При вычислении сумм (и произведений) последовательностей надо строго соблюдать прямой (нарастающий) порядок задания значений индексной переменной суммы. Нарушение этого порядка чревато грубыми ошибками. Так что правила о том, что при измени порядка суммируемых или умножаемых членов последовательности сумма и произведения не меняются в данном случае не поддерживаются на программном уровне.

4.1.2. Последовательности с заданным числом членов

Простейшими являются суммы последовательностей с фиксированным числом членов. Ниже даны примеры применения этих функций (файл sum):

> restart;k:=2;

k:= 2

> Sum(k^2,k=1..4);

> sum(k^2,k=1..4);

Error, (in sum) summation variable previously assigned, second argument evaluates to k=1..4

> sum('k^2','k'=1..4);

30

> sum(1/i,i=1..100);

> evalf(%);

5.187377518

Обратите

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

4.1.3. Суммы с известным пределом

Особый класс образуют последовательности, у которых существует их предел в аналитическом виде. Ниже представлен ряд последовательностей, у которых переменная индекса задается как 0..n или 1..n (файл sum):

> restart;

> sum(k, k=1..n);

> sum(i/(i+1),i=0..n);

n + 1 - Ψ(n +2) - γ

> sum(k*binomial(n,k),k=0..n);

Некоторые из таких сумм выражаются через специальные математические функции.

4.1.4. Суммы бесконечных рядов

Многие суммы бесконечных рядов сходятся к определенным численным или символьным значениям, и система Maple способна их вычислять. Это поясняют следующие примеры (файл sum):

> restart;

> sum(-exp(-k), k);

> sum(k*a^k,k);

> sum(1/k!,k=0..infinity);

e

> Sum(1/i^2, i=1..infinity) = sum(1/i^2, i=1..infinity);

> Sum(1/n!, n=1..infinity) = sum(1/n!, n=1..infinity);

> evalf(%);

1.718282828 = 1.718281828

> Sum(1/i^2, i)=sum(1/i^2, i);

4.1.5. Двойные суммы

Могут встречаться множественные суммы по типу «сумма в сумме». Ограничимся приведением примера двойной суммы, имеющей аналитическое значение (файл sum):

> Sum(Sum(k^2, k = 1..m), m = 1..N); factor(simplify(value(%)));

При конкретном значении N такую сумму нетрудно вычислить подстановкой:

> subs(N = 100, %);

8670850

Как видно из приведенных примеров, средства вычисления сумм последовательностей Maple 9.5/10 позволяют получать как численные, так и аналитические значения сумм, в том числе представляемые специальными математическими функциями.

Поделиться с друзьями: