Maple (программное обеспечение) - Maple (software)

Клен
Maple интерфейс
Maple интерфейс
Разработчики)Клен Ватерлоо (Maplesoft)
изначальный выпуск1982
Стабильный выпуск
2020.1 (10 июня 2020 г.; 5 месяцев назад (2020-06-10)) [±][1]
Написано вC, Ява, Клен
ПлатформаWindows (7, 8 и 10), macOS, Linux
Доступно ванглийский, Японский и ограниченная поддержка на дополнительных языках[2]
ТипСистема компьютерной алгебры, Числовые вычисления
ЛицензияПроприетарный коммерческое программное обеспечение
Интернет сайтwww.maplesoft.com/товары/ Клен/

Клен это символический и числовой вычислительная среда, а также язык программирования с несколькими парадигмами. Он охватывает несколько областей технических вычислений, таких как символьная математика, численный анализ, обработка данных, визуализация и другие. Ящик для инструментов, 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]

Примеры кода 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);
Maple1DPlot.PNG

Построение функции двух переменных

участок с и от -1 до 1:

plot3d(Икс^2+y^2, Икс = -1..1, y = -1..1);
Maple163DPlot.jpg

Анимация функций

  • Анимация функции двух переменных
участки:-оживлять(подводные лодки(k = 0.5, ж), Икс=-30..30, т=-10..10, число точек=200, кадры=50, цвет=красный, толщина=3);
2D колокол
  • Анимация функций трех переменных
участки:-animate3d(потому что(т*Икс)*грех(3*т*y), Икс=-число Пи..число Пи, y=-число Пи..число Пи, т=1..2);
3D анимация функции
  • Пролетная анимация трехмерных графиков.[28]
 M := Матрица([[400,400,200], [100,100,-400], [1,1,1]], тип данных=плавать[8]): plot3d(1, Икс=0..2*число Пи, y=0..число Пи, топоры=никто, координаты=сферический, смотровая площадка=[дорожка=M]);
Кленовый участок. 3D-перелет

Преобразование Лапласа

ж := (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.

Смотрите также

Рекомендации

  1. ^ «История продуктов из клена». Получено 2020-03-20.
  2. ^ «Международная языковая поддержка в Maple». Maplesoft. Получено 2 июн 2016.
  3. ^ Сила двух Побитовый журнал
  4. ^ http://www.maplesoft.com/standards/MathML/info.html
  5. ^ а б МакКаллум, Малкольм А. Х. (2018). «Компьютерная алгебра в исследованиях гравитации». Живые обзоры в теории относительности. 21 (1). Дои:10.1007 / s41114-018-0015-6. ISSN  2367-3613.
  6. ^ а б «История клена». 1998-12-15. Получено 2020-04-06.
  7. ^ Две такие университетские лаборатории являются Группа символьных вычислений на Университет Ватерлоо и Исследовательский центр компьютерной алгебры Онтарио на Университет Западного Онтарио
  8. ^ Примечания к выпуску 2 Maple V Maplesoft
  9. ^ Специальный выпуск MapleTech, Birkhäuser-Boston, (1994)
  10. ^ Клен 6.0 Macworld, февраль 2001 г.
  11. ^ Получение знаний с помощью чистой математики, Мир научных вычислений.
  12. ^ Maple 11 Руководство по установке Maplesoft
  13. ^ Интервью с Гастоном Гонне, соавтором Maple В архиве 2007-12-29 на Wayback Machine, SIAM History of Numerical Analysis and Computing, 16 марта 2005 г.
  14. ^ https://www.maplesoft.com/company/news/releases/2009/2009-07-30-cybernet-systems-co-ltd-to-acquire-maple.aspx
  15. ^ «Блог MaplePrimes - теперь доступны Maple 13 и MapleSim 2». Получено 28 апреля 2009.
  16. ^ «Блог MaplePrimes - объявляем о выпуске Maple 14 и MapleSim 4». Получено 29 апреля 2010.
  17. ^ "Блог MaplePrimes - Представляем Maple 15". Получено 11 апреля 2011.
  18. ^ "Блог MaplePrimes - Maple 16 уже здесь". Получено 28 марта 2012.
  19. ^ "Блог MaplePrimes - Представляем Maple 17". Получено 13 мар 2013.
  20. ^ «Блог MaplePrimes - объявляем о выпуске Maple 18». Получено 5 мар 2014.
  21. ^ «Блог MaplePrimes - Maple 2015 уже доступен!». Получено 4 марта 2015.
  22. ^ «Блог MaplePrimes - объявляем о выпуске Maple 2016». Получено 2 марта 2016.
  23. ^ «Блог MaplePrimes - объявляем о выпуске Maple 2017». Получено 25 мая 2017.
  24. ^ «Блог MaplePrimes - Maple 2018 уже здесь!». Получено 21 мар 2018.
  25. ^ «Блог MaplePrimes - объявляем о выпуске Maple 2019». Получено 14 марта 2019.
  26. ^ «Блог MaplePrimes - Maple 2020 запущен!». Получено 20 мар 2020.
  27. ^ Страница характеристик продукта Maple
  28. ^ Использование новой функции пролета в Maple 13 Maplesoft
  29. ^ Махмуд, Хизир; Город, Грэм Э. (июнь 2016 г.). «Обзор компьютерных инструментов для моделирования требований к энергии электромобилей и их влияния на распределительные сети». Прикладная энергия. 172: 337–359. Дои:10.1016 / j.apenergy.2016.03.100.
  30. ^ «Блог MaplePrimes - Введение в набор инструментов для квантовой химии Maple». Получено 6 мая 2019.
  31. ^ «Примечания к выпуску для Symbolic Math Toolbox». MathWorks. Получено 10 июля 2014.

внешняя ссылка