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

на главную

Жанры

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

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

Шрифт:

Обратите внимание на примененный полезный прием оценки скорости вычислений с помощью функции time без аргумента. Можно подыскать и куда более эффектные частные примеры. Например, сумма 100000 членов 1/k^2 в Maple 8 вычислялась на ПК автора с процессором Pentium 4 НТ 2,6 ГГц за время около 256 с:

> t := time:add(1/k^2, k=1..100000): TIME=time-t;

TIME = 255.688

А в Maple 9.5 тот же пример дал время меньше 7 с:

> t := time :add(1/k^2, k=1..100000): TIME=time-t;

TIME = 6.500

В

данном случае резкое ускорение вычислений обусловлено применением новой библиотеки целочисленной арифметики — GNU Multiple Precision (GMP).

Доброго обывателя в области математики поражает способность Maple выполнять точные арифметические операции с целыми числами, которые не помешаются в строку. При этом знак \ переносит вывод на следующую строку, а знак % подставляет в строку ввода результат предшествующей операции:

> 200!+123456789;

031904170324062351700858796178922222789623703897374720 \
000000000000000000000000000000000000000123456789

> %-200!;

123456789

Но Maple 9.5 идет еще дальше — почти мгновенно (особенно при повторе примера) система вычисляет факториал 100000:

> t : = time:bigFactorial := 100000!:TIME=time-t;

TIME = .609

> t := time:bigFactorial := 100000!:TIME=time-t;

TIME = 0

Заметно повышена и скорость многих сложных вычислений. Например, на вычисление внушительного определенного интеграла

> Int( х^n*ехр(-х^n) + Sum( cos(k*x)/k, k=1..n), х=0..1);

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

> t := time:

for i from 1 to 100 do

 evalf(Int(х^i*ехр(-x^i) + add(cos(k*x)/k, k=0..i), x=0..1)):

end do:

TIME=time-t;

TIME = 2.922

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

> М := LinearAlgebra:-RandomMatrix(500);

> timeconsumed = time(type(M, 'Matrix'(algebraic)));

time_consumed = 0.031

Повышение скорости вычислений обеспечено усовершенствованием алгоритмов численных вычислений (например, GNU) и применением подпрограмм национальной группы алгоритмов NAG — общепризнанных в области быстрых вычислений при решении задач линейной

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

Читатели книги [23], описывающей предшествующую реализацию Maple 9, обратят внимание на то, что данные по скорости выполнения операций у Maple 9.5 лишь немного отличаются от приведенных для Maple 9, причем в ту или иную сторону. Это позволяет считать их практически равноценными.

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

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

1.3.1. Окно системы

Как у всех приложений под Windows интерфейс Maple 9.5 имеет ряд характерных элементов, отчетливо видимых на рис. 1.2, 1.3 и 1.4:

• строка заголовка (сверху);

• строка главного меню;

• главная панель инструментов;

• контекстная панель инструментов, вид которой зависит от режима работы с Maple 9.5;

• окно ввода и редактирования документов;

• строка состояния (в самом низу окна);

• панели ввода специальных математических символов (см. ниже).

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

Пользователь Maple 9.5 (как и ряда других математических систем) работает с документами, которые являются одновременно описаниями алгоритмов решения задач, программами и результатами их исполнения. Все данные команды и результаты размещаются в соответствующих ячейках. Графические построения выполняются как в ячейках документа, так и в отдельных окнах, и имеют свои меню для оперативного управления параметрами.

1.3.2. Меню системы

Наиболее полные возможности управления предоставляет меню системы Maple 9.5, расположенное под строкой заголовка — см. рис. 1.4 с открытой позицией View меню. Ниже дан перечень позиций меню, доступных при наличии открытого документа и стандартном виде интерфейса (см. рис. 1.2):

File — работа с файлами и печатью документов;

Edit — команды редактирование документа и операции с буфером обмена;

View — управление видом пользовательского интерфейса;

Insert — операции вставки;

Format — операции задания форматов;

Tools — доступ к инструментальным средствам;

Window — управление окнами;

Help — работа со справочной системой.

При классическом интерфейсе позиция Tools меню отсутствует, но есть другая позиция меню:

Spreadsheet — операции задания таблиц.

Поделиться:
Популярные книги

Бастард Императора

Орлов Андрей Юрьевич
1. Бастард Императора
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Бастард Императора

На границе империй. Том 10. Часть 1

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 1

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Измена. Вторая жена мужа

Караева Алсу
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Вторая жена мужа

Буря империи

Сай Ярослав
6. Медорфенов
Фантастика:
аниме
фэнтези
фантастика: прочее
эпическая фантастика
5.00
рейтинг книги
Буря империи

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

На изломе чувств

Юнина Наталья
Любовные романы:
современные любовные романы
6.83
рейтинг книги
На изломе чувств

Тринадцатый II

NikL
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый II

Сирота

Шмаков Алексей Семенович
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Сирота

Законы Рода. Том 9

Flow Ascold
9. Граф Берестьев
Фантастика:
городское фэнтези
попаданцы
аниме
дорама
фэнтези
фантастика: прочее
5.00
рейтинг книги
Законы Рода. Том 9

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Огненный князь 4

Машуков Тимур
4. Багряный восход
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 4

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5

Инкарнатор

Прокофьев Роман Юрьевич
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30
рейтинг книги
Инкарнатор