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

на главную

Жанры

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

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

Приручитель женщин-монстров. Том 3

Дорничев Дмитрий
3. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 3

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

Совок 9

Агарев Вадим
9. Совок
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Совок 9

Столичный доктор

Вязовский Алексей
1. Столичный доктор
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Столичный доктор

Темный Лекарь 5

Токсик Саша
5. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 5

Ваше Сиятельство 5

Моури Эрли
5. Ваше Сиятельство
Фантастика:
городское фэнтези
аниме
5.00
рейтинг книги
Ваше Сиятельство 5

Удиви меня

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

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

Измена. За что ты так со мной

Дали Мила
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. За что ты так со мной

Неожиданный наследник

Яманов Александр
1. Царь Иоанн Кровавый
Приключения:
исторические приключения
5.00
рейтинг книги
Неожиданный наследник

Снегурка для опера Морозова

Бигси Анна
4. Опасная работа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Снегурка для опера Морозова

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

INDIGO
9. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.40
рейтинг книги
На границе империй. Том 7. Часть 3

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

Амврелий Марк
5. Идущий в тени
Фантастика:
фэнтези
рпг
5.50
рейтинг книги
Идущий в тени 5