Что такое Maple


Maple V представляет собой один из наиболее мощных математических пакетов Его возможности охватывают достаточно много разделов математики и могут с пользой применяться на разных уровнях, включая и уровень серьезных научных исследований.

Работать с ним можно как в режиме интерактивного диалога, так и путем составления и отладки программ на специальном Maple-языке, ориентированном на сложные математические вычисления.

Основу пакета составляет специальное ядро - программа символьных преобразований. Кроме того, имеется несколько тысяч специальных функций, хранящихся в подгружаемых к ядру пакетах и библиотеках.Общая ориентированность пакета на символьные преобразования (компьютерную алгебру) конечно не означает, что с помощью Maple нельзя решать задачи численно.

Maple умеет не только вычислять, но и обладает богатыми возможностями графического представления математических объектов и процессов.

 



Интерфейс пользователя


Здесь мы кратко рассмотрим лишь интерфейс пакета, работающего под Windows.

Окно Maple содержит многие атрибуты, привычные пользователю других приложений Windows: заголовочную часть, строку ниспадающих меню, панель управления, линейку вертикальной прокрутки, строку состояния и т.д. Основную часть базового окна занимает еще одно окно, в котором обычно располагаются один или несколько рабочих документов (Maple worksheet). В этом же окне могут располагаться окна помощи. Состояние ниспадающих и контекстного меню и кнопок на панели управления зависит от того, какое именно окно активно в настоящий момент и месторасположения курсора в окне Maple worksheet.

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

Исполняемые команды вводятся после специльного приглашения ' > ', красным цветом и должны заканчиваться точкой с запятой или двоеточием. Обычно команды вводятся в строчном формате, но пользователь имеет возможность перейти к специальному математическому формату ( который по умолчанию применяется при выводе). В одной строке может быть расположено более одной команды. Если после команды стоит двоеточие, то результат ее выполнения не будет отображен на экране. Если же после команды стоит точка с запятой, то после ее выполнения на экране появится результат. Если Maple не сможет вычислить введенное выражение, то результатом будет перевод введеннного выражения в матматический формат, принятый для вывода. Выходная информация печатается по умолчанию синим цветом. Исполнение Maple-команды инициируется нажатием ввода.

Команды можно объединять в исполняемые группы. Каждая такая группа выделяется слева общей для всех содержащихся в ней строк квадратной скобкой. Группа запускается на исполнение одним нажатием клавиши Enter и является по существу простейшей Maple-программой. Для того чтобы не исполнять каждую строку отдельно, а набрать целую исполняемую группу, достаточно осуществлять перевод строки с помощью комбинации клавиш Shift+Enter. Объединять исполняемые группы можно нажатием функциональной клавиши F4, а разбивать - нажатием F3. Разумеется, эти же действия можно проделать, выбрав соответствующие пункты в верхнем меню.

Текст черного цвета, которым написаны этот и предыдущие абзацы, используется для комментариев и никак не обрабатывается системой.

Для того чтобы вводить такой текст, достаточно, находясь в командной строке, нажать кнопку " Т " на панели управления, или вставить параграф, выбрав соответствющий пункт раздела "Insert" нисподающего меню.

Рабочий документ Maple можно структурировать, создавая вложенные друг в друга секции. Эти секции можно сворачивать. В свернутом виде каждая секция представлена лишь своим заголовком и признаком секции - кнопкой, снабженной знаком "+". Для разворачивания/сворачивания секции достаточно нажать на эту кнопку мышкой (впрочем, раз Вы читаете этот текст, то Вы, наверное, уже освоили эту возможность).

С помощью пункта меню "HyperLink..." из раздела " I nsert" можно создавать ссылки на определенные разделы других рабочих документов и топиков помощи. Тем самым Maple-документ может обладать структурой гипертекста.

 



Первые примеры 


Рассмотрим простейшие примеры работы с Maple в интерактивном режиме:

> 34*223457;

7597538

> 3^64;

3433683820292512484657849089281

> 31/35+17/42;

271/210

> 31./35+17/42;

1.290476191

> 2+sqrt(3^2-4);

2+sqrt(5)

> 50!;

30414093201713378043612608166064768844377641568960512000000000000

> sqrt(-9);

3 I

 

Обратите внимание, что по умолчанию Maple выполняет вычисления с абсолютной точностью, переходя, в случае необходимости к подходящим расширениям кольца целых чисел. И лишь наличие десятичной точки у одного из операндов привело к переходу к вычислениям с плавающей точкой.

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

> Pi;pi;

Pi

pi

> sin(Pi/3);sin(pi/3);

1/2*sqrt(3)

sin(1/3*pi)

> pi:=Pi/4;sin(pi);alpha:="Пример";

pi := 1/4*Pi

1/2*sqrt(2)

alpha :=

 

Эти примеры иллюстрируют три важных момента.

Во-первых, Maple чувствителен к регистру, т.е. различает заглавные и маленькие буквы.

Во-вторых, в то время как pi обозначает просто соответствующую букву греческого алфавита и может быть использовано в качестве идентификатора переменной, Pi означает известную математическую константу - отношение длины окружности к диаметру.

Наконец, в-третьих, переменной можно присваивать значение любого типа (при этом не обязательно явно указывать этот тип - Maple сам постарается разобраться) или не придавать никакого, используя ее именно в качестве переменной (в математическом понимании этого термина). 

Попытка присвоить значение защищенной константе приведет к ошибке:

> Pi:=1;

Error, attempting to assign to `Pi` which is protected

Сообщение об ошибке вызовет и попытка сложить число и символьную строку:

> pi+alpha;

Error, invalid types in sum

(Напомним, что переменной alpha присвоено значение "Пример")

Однако, следующее присвоение совершенно корректно:

> Delta:=2*test+5;

Delta := 2*test+5

Кроме Pi, в Maple имеются еще несколько зарезервированных констант. Отметим среди них мнимую единицу - I:

> i^2,I^2;

i2, -1

 

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

> evalf(Pi,28); evalf(alpha); evalf(Pi); Digits:= 6: evalf(Pi); Digits:=10:

3.141592653589793238462643383

"Пример"

3.141592654

3.14159

 

Обратите внимание, что если второй аргумент функции evalf отсутствует, то количество значащих цифр в возвращаемых значениях определено значением зарезервированной переменной окружения Digits , которое по умолчанию равно 10 и может быть изменено обычным присваиванием.

Следующий пример иллюстрирует одну очень важную особенность Maple:

> b:=2*d+3;

b := 2d+3

> d:=4;

d := 4

> b;

11

> b+3*B;

11 + 3 B

После того как переменной d, участвующей в выражении, хранящемся в b, было присвоено конкретное значение, значение b изменилось с учетом этого присвоения, хотя мы и не делали новых присваиваний для b.
Указанная особенность Maple объясняет, почему столь безобидная для других языков (и широко используемая в них) конструкция приводит к переполнению стека рекурсий на Maple:

> c:=c+1;

Warning, recursive definition of name

c := c + 1

> c;

Error, too many levels of recursion

Однако, если предварительно придать переменной конкретное значение, предыдущее присваивание не будет приводить к неприятностям:

> c:=5:c:=c+1;c;

c := 6

6


Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики