Введение

Математическая вычислительная среда

Maple — это символическая и числовая вычислительная среда, а также язык программирования с поддержкой нескольких парадигм. Он охватывает различные области технических вычислений, такие как символьная математика, численный анализ, обработка данных, визуализация и другие. Пакет инструментов MapleSim расширяет функциональность для мультидоменного физического моделирования и генерации кода. Возможности Maple в области символьных вычислений включают в себя функциональность общецелевой системы компьютерной алгебры. Например, он позволяет манипулировать математическими выражениями и находить аналитические решения определенных задач, возникающих, в частности, при решении обыкновенных и частных дифференциальных уравнений. Maple разрабатывается компанией Maplesoft, канадским разработчиком программного обеспечения. Название "Maple" отсылает к канадскому происхождению программы.

Основные функции

Пользователи могут вводить математические выражения в традиционной математической нотации. Также возможно создание пользовательских интерфейсов. Поддерживаются численные вычисления с произвольной точностью, а также символьные вычисления и визуализация. Примеры символьных вычислений приведены ниже. Maple включает в себя динамически типизированный императивный язык программирования (похожий на Pascal), допускающий использование переменных с лексической областью видимости. Предусмотрены интерфейсы для работы с другими языками (C, C#, Fortran, Java, MATLAB и Visual Basic), а также с Microsoft Excel. Maple поддерживает MathML 2.0 – формат W3C для представления и интерпретации математических выражений, включая их отображение в веб-страницах. Также имеется функциональность для преобразования выражений из традиционной математической нотации в разметку, подходящую для системы типографского набора LaTeX.

Архитектура

Maple основан на небольшом ядре, написанном на языке C, которое предоставляет язык Maple. Большая часть функциональности реализована в библиотеках, поступающих из различных источников. Большинство библиотек написано на самом языке Maple, и их исходный код доступен для просмотра. Многие численные вычисления выполняются с использованием численных библиотек NAG, библиотек ATLAS или библиотек GMP. Различные функции Maple требуют числовых данных в разных форматах. Символьные выражения хранятся в памяти в виде ориентированных ациклических графов. Стандартный и калькуляторный интерфейсы написаны на Java.

История

Первая концепция Maple возникла на встрече в конце 1980 года в Университете Ватерлоо. Исследователи университета хотели приобрести компьютер, достаточно мощный для работы с компьютерной алгебраической системой Macsyma, основанной на Lisp. Вместо этого они решили разработать собственную систему компьютерной алгебры, названную Maple, которая могла бы работать на компьютерах с меньшей стоимостью. Стремясь к переносимости, они начали писать Maple на языках программирования семейства BCPL (первоначально используя подмножество языков B и C, а затем только C). К концу 1983 года более 50 университетов установили копии Maple на свои компьютеры. В 1984 году исследовательская группа заключила соглашение с Watcom Products Inc. о лицензировании и распространении первой коммерчески доступной версии Maple 3.3. В 1989 году был разработан первый графический пользовательский интерфейс для Maple и включен в версию 4.3 для Macintosh. Версии для X11 и Windows этого нового интерфейса появились в 1990 году вместе с Maple V. В 1992 году Maple V Release 2 представил "рабочий лист" Maple, объединяющий текст, графику, ввод и вывод, а также типографское оформление. В 1994 году был опубликован специальный выпуск информационного бюллетеня, созданного разработчиками Maple, под названием MapleTech. В 1999 году, с выпуском Maple 6, Maple включил некоторые библиотеки численных методов NAG. В 2003 году с Maple 9 был представлен текущий "стандартный" интерфейс. Этот интерфейс написан в основном на Java (хотя некоторые его части, такие как правила типографского оформления математических формул, написаны на языке Maple). Интерфейс Java критиковали за низкую скорость; в более поздних версиях были внесены улучшения, однако документация к Maple 11 рекомендует предыдущий ("классический") интерфейс для пользователей с объемом оперативной памяти менее 500 МБ. В период с 1995 по 2005 год Maple потерял значительную долю рынка в пользу конкурентов из-за менее удобного пользовательского интерфейса. С Maple 10 в 2005 году Maple представил новый интерфейс "режим документа", который впоследствии был доработан в нескольких выпусках. В сентябре 2009 года Maple и Maplesoft были приобретены японским ритейлером программного обеспечения Cybernet Systems.