Maple (программное обеспечение) - Maple (software)
Maple интерфейс | |
Разработчики) | Клен Ватерлоо (Maplesoft) |
---|---|
изначальный выпуск | 1982 |
Стабильный выпуск | ) |
Написано в | C, Ява, Клен |
Платформа | Windows (7, 8 и 10), macOS, Linux |
Доступно в | английский, Японский и ограниченная поддержка на дополнительных языках[2] |
Тип | Система компьютерной алгебры, Числовые вычисления |
Лицензия | Проприетарный коммерческое программное обеспечение |
Интернет сайт | www |
Клен это символический и числовой вычислительная среда, а также язык программирования с несколькими парадигмами. Он охватывает несколько областей технических вычислений, таких как символьная математика, численный анализ, обработка данных, визуализация и другие. Ящик для инструментов, MapleSim, добавляет функциональность для многодоменного физического моделирования и генерации кода.
Возможности Maple для символьных вычислений включают в себя универсальные система компьютерной алгебры. Например, он может манипулировать математическими выражениями и находить символические решения для определенных проблем, например, возникающих из обычных и частичных дифференциальные уравнения.
Maple коммерчески разработан канадской софтверной компанией. Maplesoft. Название «Maple» - это ссылка на Канадское наследие.
Обзор
Основная функциональность
Пользователи могут вводить математику в традиционном математическая запись. Также можно создавать собственные пользовательские интерфейсы. Имеется поддержка числовых вычислений с произвольной точностью, а также символьных вычислений и визуализации. Примеры символьных вычислений приведены ниже.
Maple включает в себя динамически типизированный повелительный стиль язык программирования (напоминающий Паскаль ), что допускает переменные лексического объем.[3] Также есть интерфейсы для других языков (C, C #, Фортран, Ява, MATLAB, и Visual Basic ), а также Майкрософт Эксель.
Клен поддерживает MathML 2.0, что является W3C формат для представления и интерпретации математических выражений, включая их отображение на веб-страницах.[4] Также есть функция преобразования выражений из традиционных математических обозначений в разметку, подходящую для системы набора. Латекс.
Архитектура
Клен основан на небольшом ядро, написано в C, который предоставляет язык Maple. Большая часть функциональности обеспечивается библиотеками, которые поступают из различных источников. Большинство библиотек написано на языке Maple; у них есть доступный для просмотра исходный код. Многие численные вычисления выполняются Цифровые библиотеки NAG, АТЛАС библиотеки или GMP библиотеки.
Для различных функций Maple требуются числовые данные в разных форматах. Символьные выражения хранятся в памяти как ориентированные ациклические графы. Стандартный интерфейс и интерфейс калькулятора написаны на Ява.
История
Первая концепция Maple возникла на встрече в конце 1980 г. Университет Ватерлоо.[5] Исследователи из университета хотели приобрести компьютер, достаточно мощный для работы На основе Lisp система компьютерной алгебры Macsyma. Вместо этого они решили разработать свою собственную систему компьютерной алгебры под названием Maple, которая будет работать на более дешевых компьютерах. Стремясь к переносимости, они начали писать Maple на языках программирования из BCPL семья (изначально использовалась подмножество B и C, а позже только C).[5] Первая ограниченная версия появилась через три недели, а более полные версии стали широко использоваться с 1982 года.[6] К концу 1983 года более 50 университетов установили на свои машины копии Maple.[нужна цитата ]
В 1984 году исследовательская группа организовала Watcom Products Inc лицензировать и распространять первую коммерчески доступную версию Maple 3.3.[6] В 1988 г. Waterloo Maple Inc. (Maplesoft) была основана. Первоначальной целью компании было управление распространением программного обеспечения, но со временем у нее появился собственный отдел исследований и разработок, где большая часть разработки Maple происходит сегодня (остальная часть выполняется в различных университетских лабораториях.[7]).
В 1989 году был разработан первый графический пользовательский интерфейс для Maple, который был включен в версию 4.3 для Macintosh. Версии нового интерфейса для X11 и Windows последовали в 1990 г. с Maple V. В 1992 г. в Maple V Release 2 был представлен «рабочий лист» Maple, который объединял текст, графику, ввод и набор вывода.[8] В 1994 году разработчики Maple выпустили специальный выпуск информационного бюллетеня под названием MapleTech был опубликован.[9]
В 1999 году с выпуском Maple 6 в Maple были включены некоторые из Цифровые библиотеки NAG.[10] В 2003 году текущий "стандартный" интерфейс был представлен с Maple 9. Этот интерфейс в основном написан на Ява (хотя части, такие как правила набора математических формул, написаны на языке Maple). Интерфейс Java критиковали за медлительность;[11] улучшения были внесены в более поздние версии, хотя документация Maple 11[12] рекомендует предыдущий («классический») интерфейс для пользователей с менее 500 МБ физической памяти.
Между 1995 и 2005 годами Maple уступила значительную долю рынка своим конкурентам из-за более слабого пользовательского интерфейса.[13] В Maple 10 в 2005 году Maple представила новый интерфейс «режима документа», который с тех пор получил дальнейшее развитие в нескольких выпусках.
В сентябре 2009 года компании Maple и Maplesoft были приобретены японским продавцом программного обеспечения. Кибернет Системы.[14]
История версий
- Maple 1.0: январь 1982 г.
- Maple 1.1: январь 1982 г.
- Maple 2.0: май 1982 г.
- Maple 2.1: июнь 1982 г.
- Maple 2.15: август 1982 г.
- Maple 2.2: декабрь 1982 г.
- Maple 3.0: май 1983 г.
- Maple 3.1: октябрь 1983 г.
- Maple 3.2: апрель 1984 г.
- Maple 3.3: март 1985 г. (первая общедоступная версия)
- Maple 4.0: апрель 1986 г.
- Maple 4.1: май 1987 г.
- Maple 4.2: декабрь 1987 г.
- Maple 4.3: март 1989 г.
- Maple V: август 1990 г.
- Maple V R2: ноябрь 1992 г.
- Maple V R3: 15 марта 1994 г.
- Maple V R4: январь 1996 г.
- Maple V R5: 1 ноября 1997 г.
- Maple 6: 6 декабря 1999 г.
- Maple 7: 1 июля 2001 г.
- Maple 8:16 апреля 2002 г.
- Maple 9: 30 июня 2003 г.
- Maple 9.5: 15 апреля 2004 г.
- Maple 10:10 мая 2005 г.
- Maple 11:21 февраля 2007 г.
- Maple 11.01: июль 2007 г.
- Maple 11.02: ноябрь 2007 г.
- Maple 12: май 2008 г.
- Maple 12.01: октябрь 2008 г.
- Maple 12.02: декабрь 2008 г.
- Maple 13:28 апреля 2009 г.[15]
- Maple 13.01: июль 2009 г.
- Maple 13.02: октябрь 2009 г.
- Maple 14:29 апреля 2010 г.[16]
- Maple 14.01: 28 октября 2010 г.
- Maple 15:13 апреля 2011 г.[17]
- Maple 15.01: 21 июня 2011 г.
- Maple 16:28 марта 2012 г.[18]
- Maple 16.01: 16 мая 2012 г.
- Maple 17:13 марта 2013 г.[19]
- Maple 17.01: июль 2013 г.
- Maple 18: 5 марта 2014 г.[20]
- Maple 18.01: май 2014 г.
- Maple 18.01a: июль 2014 г.
- Maple 18.02: ноябрь 2014 г.
- Maple 2015.0: 4 марта 2015 г.[21]
- Maple 2015.1: ноябрь 2015 г.
- Maple 2016.0: 2 марта 2016 г.[22]
- Maple 2016.1: 20 апреля 2016 г.
- Maple 2016.1a: 27 апреля 2016 г.
- Maple 2017.0: 25 мая 2017 г.[23]
- Maple 2017.1: 28 июня 2017 г.
- Maple 2017.2: 2 августа 2017 г.
- Maple 2017.3: 3 октября 2017 г.
- Maple 2018.0: 21 марта 2018 г.[24]
- Maple 2019.0: 14 марта 2019 г.[25]
- Maple 2020.0: 12 марта 2020 г.[26]
Функции
Особенности Maple включают:[27]
- Поддержка символьных и числовых вычислений с произвольная точность
- Элементарный и специальная математическая функция библиотеки
- Сложные числа и интервальная арифметика
- Арифметика, наибольшие общие делители и факторизация за многомерные полиномы над рациональностью, конечные поля, поля алгебраических чисел, и поля алгебраических функций
- Пределы, серии и асимптотические разложения
- Основа Грёбнера
- Дифференциальная алгебра
- Матричная манипуляция инструменты, включая поддержку разреженные массивы
- Математический построение графиков функций и инструменты анимации
- Решатели для системы уравнений, диофантовы уравнения, ODE, PDEs, DAE, DDE и повторяющиеся отношения
- Цифровые и символьные инструменты для дискретного и непрерывного исчисление в том числе определенные и неопределенная интеграция, определенный и неопределенное суммирование, автоматическое дифференцирование и непрерывное и дискретное интегральные преобразования
- Ограниченный и неограниченный локальный и глобальный оптимизация
- Статистика включая примерку модели, проверка гипотезы, и распределения вероятностей
- Инструменты для обработки, визуализации и анализа данных
- Инструменты для вероятности и комбинаторный проблемы
- Поддержка временных рядов и данных на основе единиц
- Подключение к онлайн-сбору финансово-экономических данных
- Инструменты для финансовых расчетов, включая облигации, аннуитеты, деривативы, опционы и т. Д.
- Расчеты и моделирование случайных процессов
- Инструменты для интеллектуальный анализ текста включая обычные выражения
- Инструменты для обработка сигналов и линейные и нелинейные Системы управления
- Дискретная математика инструменты, включая теория чисел
- Инструменты для визуализации и анализа направленного и ненаправленного графики
- Теория групп, включая перестановки и конечно определенные группы
- Символьные тензорные функции
- Импорт и экспорт фильтров для данных, изображения, звука, CAD, и форматы документов
- Техническая обработка текста, включая редактирование формулы
- Поддержка языков программирования процедурный, функциональный и объектно-ориентированный конструкции
- Инструменты для добавления пользовательские интерфейсы к расчетам и приложениям
- Инструменты для подключения к SQL, Ява, .СЕТЬ, C ++, Фортран и http
- Инструменты для генерации кода для C, C #, Фортран, Ява, JavaScript, Юля, Matlab, Perl, Python, р, и Visual Basic
- Инструменты для параллельное программирование
Примеры кода Maple
Следующий код, который вычисляет факториал неотрицательного целого числа, является примером императивное программирование построить в Maple:
myfac := proc(n :: nonnegint) местный из, я; из := 1; за я из 2 к п делать из := из * я конец делать; изконец proc;
Простые функции также могут быть определены с помощью обозначения стрелки "сопоставления":
myfac := п -> товар(я, я = 1..п);
Интеграция
Находить
- .
int(потому что(Икс/а), Икс);
Выход:
Детерминант
Вычислить определитель матрицы.
M := Матрица([[1,2,3], [а,б,c], [Икс,y,z]]); # пример Матрица
LinearAlgebra: -Детерминант (M);
Расширение серии
серии(танх(Икс), Икс = 0, 15)
Решайте уравнения численно
Следующий код численно вычисляет корни полинома высокого порядка:
ж := Икс^53-88*Икс^5-3*Икс-5 = 0 fsolve(ж) -1.097486315, -.5226535640, 1.099074017
Эта же команда может также решать системы уравнений:
ж := (потому что(Икс+y))^2 + exp(Икс)*y+детская кроватка(Икс-y)+шиш(z+Икс) = 0: грамм := Икс^5 - 8*y = 2: час := Икс+3*y-77*z=55; fsolve( {ж,грамм,час} ); {Икс = -1.543352313, y = -1.344549481, z = -.7867142955}
Построение функции одной переменной
участок с от -10 до 10:
участок(Икс*грех(Икс), Икс = -10..10);
Построение функции двух переменных
участок с и от -1 до 1:
plot3d(Икс^2+y^2, Икс = -1..1, y = -1..1);
Анимация функций
- Анимация функции двух переменных
участки:-оживлять(подводные лодки(k = 0.5, ж), Икс=-30..30, т=-10..10, число точек=200, кадры=50, цвет=красный, толщина=3);
- Анимация функций трех переменных
участки:-animate3d(потому что(т*Икс)*грех(3*т*y), Икс=-число Пи..число Пи, y=-число Пи..число Пи, т=1..2);
- Пролетная анимация трехмерных графиков.[28]
M := Матрица([[400,400,200], [100,100,-400], [1,1,1]], тип данных=плавать[8]): plot3d(1, Икс=0..2*число Пи, y=0..число Пи, топоры=никто, координаты=сферический, смотровая площадка=[дорожка=M]);
Преобразование Лапласа
ж := (1+А*т+B*т^2)*exp(c*т);
inttrans:-лаплас(ж, т, s);
- обратное преобразование Лапласа
inttrans:-invlaplace(1/(s-а), s, Икс);
преобразование Фурье
inttrans:-фурье(грех(Икс), Икс, ш)
Интегральные уравнения
Найти функции которые удовлетворяют интегральное уравнение
- .
уравнение:= ж(Икс)-3*Int((Икс*y+Икс^2*y^2)*ж(y), y=-1..1) = час(Икс):intsolve(уравнение,ж(Икс));
Использование движка Maple
Движок Maple используется в нескольких других продуктах от Maplesoft:
- Moebius, пакет онлайн-тестирования DigitalEd, использует Maple для алгоритмической генерации вопросов и оценки ответов учащихся.
- MapleNet позволяет пользователям создавать JSP страницы и Ява Апплеты. MapleNet 12 и выше также позволяет пользователям загружать и работать с Листы клена содержащие интерактивные компоненты.
- MapleSim, инструмент инженерного моделирования.[29]
- Пакет Maple Quantum Chemistry Package от RDMChem вычисляет и визуализирует электронные энергии и свойства молекул.[30]
Ниже перечислены коммерческие продукты сторонних производителей, которые больше не используют движок Maple:
- Версии Mathcad выпущенный между 1994 и 2006 годами, включал основанный на Maple движок алгебры (MKM, также известный как Mathsoft Kernel Maple), хотя в последующих версиях используется MuPAD.
- Набор инструментов для символьной математики в MATLAB содержал часть движка Maple 10, но теперь использует MuPAD (начиная с выпуска MATLAB R2007b +).[31]
- Старые версии математического редактора Научное рабочее место включен Maple в качестве вычислительного движка, хотя текущие версии включают MuPAD.
Смотрите также
- Сравнение систем компьютерной алгебры
- Сравнение программ численного анализа
- Сравнение языков программирования
- Сравнение статистических пакетов
- Список систем компьютерной алгебры
- Список программ компьютерного моделирования
- Список графического программного обеспечения
- Список программного обеспечения для численного анализа
- Математическое программное обеспечение
- SageMath (программа алгебры с открытым исходным кодом)
Рекомендации
- ^ «История продуктов из клена». Получено 2020-03-20.
- ^ «Международная языковая поддержка в Maple». Maplesoft. Получено 2 июн 2016.
- ^ Сила двух Побитовый журнал
- ^ http://www.maplesoft.com/standards/MathML/info.html
- ^ а б МакКаллум, Малкольм А. Х. (2018). «Компьютерная алгебра в исследованиях гравитации». Живые обзоры в теории относительности. 21 (1). Дои:10.1007 / s41114-018-0015-6. ISSN 2367-3613.
- ^ а б «История клена». 1998-12-15. Получено 2020-04-06.
- ^ Две такие университетские лаборатории являются Группа символьных вычислений на Университет Ватерлоо и Исследовательский центр компьютерной алгебры Онтарио на Университет Западного Онтарио
- ^ Примечания к выпуску 2 Maple V Maplesoft
- ^ Специальный выпуск MapleTech, Birkhäuser-Boston, (1994)
- ^ Клен 6.0 Macworld, февраль 2001 г.
- ^ Получение знаний с помощью чистой математики, Мир научных вычислений.
- ^ Maple 11 Руководство по установке Maplesoft
- ^ Интервью с Гастоном Гонне, соавтором Maple В архиве 2007-12-29 на Wayback Machine, SIAM History of Numerical Analysis and Computing, 16 марта 2005 г.
- ^ https://www.maplesoft.com/company/news/releases/2009/2009-07-30-cybernet-systems-co-ltd-to-acquire-maple.aspx
- ^ «Блог MaplePrimes - теперь доступны Maple 13 и MapleSim 2». Получено 28 апреля 2009.
- ^ «Блог MaplePrimes - объявляем о выпуске Maple 14 и MapleSim 4». Получено 29 апреля 2010.
- ^ "Блог MaplePrimes - Представляем Maple 15". Получено 11 апреля 2011.
- ^ "Блог MaplePrimes - Maple 16 уже здесь". Получено 28 марта 2012.
- ^ "Блог MaplePrimes - Представляем Maple 17". Получено 13 мар 2013.
- ^ «Блог MaplePrimes - объявляем о выпуске Maple 18». Получено 5 мар 2014.
- ^ «Блог MaplePrimes - Maple 2015 уже доступен!». Получено 4 марта 2015.
- ^ «Блог MaplePrimes - объявляем о выпуске Maple 2016». Получено 2 марта 2016.
- ^ «Блог MaplePrimes - объявляем о выпуске Maple 2017». Получено 25 мая 2017.
- ^ «Блог MaplePrimes - Maple 2018 уже здесь!». Получено 21 мар 2018.
- ^ «Блог MaplePrimes - объявляем о выпуске Maple 2019». Получено 14 марта 2019.
- ^ «Блог MaplePrimes - Maple 2020 запущен!». Получено 20 мар 2020.
- ^ Страница характеристик продукта Maple
- ^ Использование новой функции пролета в Maple 13 Maplesoft
- ^ Махмуд, Хизир; Город, Грэм Э. (июнь 2016 г.). «Обзор компьютерных инструментов для моделирования требований к энергии электромобилей и их влияния на распределительные сети». Прикладная энергия. 172: 337–359. Дои:10.1016 / j.apenergy.2016.03.100.
- ^ «Блог MaplePrimes - Введение в набор инструментов для квантовой химии Maple». Получено 6 мая 2019.
- ^ «Примечания к выпуску для Symbolic Math Toolbox». MathWorks. Получено 10 июля 2014.
внешняя ссылка
- Maplesoft, подразделение Waterloo Maple, Inc. - Официальный веб-сайт
- Онлайн-справка по Maple - онлайн-документация
- MaplePrimes - сайт сообщества пользователей Maple
- MapleCloud - онлайн-просмотрщик приложений Maple