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

на главную - закладки

Жанры

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 — операции задания таблиц.

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

Идеальный мир для Лекаря 15

Сапфир Олег
15. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 15

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Идеальный мир для Социопата 3

Сапфир Олег
3. Социопат
Фантастика:
боевая фантастика
6.17
рейтинг книги
Идеальный мир для Социопата 3

Кровь Василиска

Тайниковский
1. Кровь Василиска
Фантастика:
фэнтези
попаданцы
аниме
4.25
рейтинг книги
Кровь Василиска

Отвергнутая невеста генерала драконов

Лунёва Мария
5. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Отвергнутая невеста генерала драконов

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Аномалия

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Аномалия

Идущий в тени 4

Амврелий Марк
4. Идущий в тени
Фантастика:
боевая фантастика
6.58
рейтинг книги
Идущий в тени 4

Мастер 4

Чащин Валерий
4. Мастер
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Мастер 4

Неверный

Тоцка Тала
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Неверный

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

Мастер Разума II

Кронос Александр
2. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.75
рейтинг книги
Мастер Разума II

Те, кого ты предал

Берри Лу
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Те, кого ты предал

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2