Выбрать главу

Но, системы Maple 9.5, благодаря встроенному аппарату точной арифметики, способна обеспечить эффективную проверку подобных формул. В нашем случае мы ограничились случаем n= 100 (максимальное значение k) и провели вычисления «всего» 600 цифр числа π — с тем, чтобы результаты вместились в один рисунок. И они говорит сам за себя — все цифры при вычислении числа π по формуле Рамануджана и по встроенному в Maple алгоритму полностью совпали, а вычисленная ошибка равна нулю!

2.1.6. Работа с комплексными числами

Maple, естественно, как и другие СКМ, может работать с комплексными числами вида z=Re(z)+I∙Im(z). Мнимая единица в комплексном числе (корень квадратный из -1) обозначается как I. Функции Re(z) и Im(z) возвращают действительную и мнимую части комплексных чисел. На комплексной плоскости числа задаются координатами точек (х, у) — рис. 2.2.

Рис. 2.2. Представление обычных и комплексных чисел на плоскости

Для представления чисел на рис. 2.2 используется функция pointplot(list), где list — список координат точек. Эта функция становится доступной при подключении пакета plots командой with(plots). Кроме того, использована функция вывода ряда графических объектов на один график — display (см. далее описание представления комплексных чисел).

Примеры задания комплексного числа и вывода его действительной и мнимой частей представлены ниже:

> a+b*I;

a+bI

> 1.25+Pi*I;

1.25 + I π

> Re(1.25+Pi*I);

1.25

> Im(1.25+Pi*I);

π

Комплексные числа обычно представляют на так называемой комплексной плоскости, у точек которой координата x задает действительную часть комплексного числа, а у (мнимая ось) показывает мнимую часть такого числа. На рис. 2.2 показано задание в виде радиус-векторов комплексного числа z=4+3I, -z и комплексно-сопряженного числа 4-3I. А на рис. 2.3 показан пример вычисления корней уравнения z^n=1 для случая n=16 (другие случаи читатель может рассмотреть самостоятельно, просто изменив n). Нетрудно заметить, что корни уравнения — комплексные числа и что на комплексной плоскости они ложатся на окружность единичного радиуса.

Рис. 2.3. Вычисление корней уравнения z^n=1 и расположение корней на комплексной плоскости

Окружность радиуса  представляет абсолютное значение комплексного числа z=a+b*I. Она является геометрическим множеством комплексных чисел, образованных концом вращающегося радиус-вектора числа z вокруг его начала в точке (0, 0) комплексной плоскости, иллюстрацией чего и является частный пример рис. 2.2. Позже мы рассмотрим ряд функций для работы с комплексными числами.

2.1.7. Контроль над типами чисел

Числа могут служить объектами ввода, вывода и константами, входящими в математические выражения. Функция type(x, numeric) позволяет выяснить, является ли х числом. Если является, то она возвращает логическое значение true (истина), а если нет, то false (ложь). Например:

> type(2,numeric);

true

> type(2.6,numeric);

true

> type(Pi,numeric);

false

> type(I,numeric);

false

> type(3/7,numeric);

true

> type(3^7,numeric);

true

> type(х^2,numeric);

false

Функции type(x, integer), type(x, rational) и type(x, fraction) можно использовать для проверки того, имеет ли х значение, соответственно, целого числа, рационального числа или простой дроби:

> type(123,integer);

true

> type(123.,integer);

false

> type(123/456,rational);

true

> type(1./3,rational);

false

> type(1/2,fraction);

true

> type(0.5,fraction);

false

2.1.8. Преобразования чисел с разным основанием

В Maple возможна работа с числами, имеющими различное основание (base), в частности, с двоичными числами (основание 2 — binary), восьмеричными (основание 8 — octal) и шестнадцатиричными (основание 16 — hex). Функция convert позволяет легко преобразовывать форматы чисел:

> convert(12345,binary);

11000000111001

> convert(%,decimal,binary);

12345

> convert(12345,octal);

30071

> convert(123456,hex);

1E240

> convert(%,decimal,hex);

123456

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

2.1.9. Пакет RealDomain для вычислений с действительными данными

В целом ряде случаев работа вычислителей Maple по умолчанию в области комплексных значений данных нежелательна, поскольку приводит к представлению результатов также в комплексном виде:

> restart:simplify(sqrt(х^2)); ln(-2); solve(х^3-8=0,x);

csgn(x) x ln(2)+ π I 2, -1+√3I, -1-√3I

В связи с этим в Maple введен новый математический пакет расширения RealDomain, переводящий вычисления в область реальных значений данных. Вызов пакета обеспечивается следующим образом: