Maple — это среда символьных и числовых вычислений, а также многопарадигмальный язык программирования . Он охватывает несколько областей технических вычислений, таких как символьная математика, численный анализ, обработка данных, визуализация и другие. Набор инструментов MapleSim добавляет функциональные возможности для многодоменного физического моделирования и генерации кода.
Возможности Maple для символьных вычислений аналогичны возможностям системы компьютерной алгебры общего назначения . Например, он может манипулировать математическими выражениями и находить символические решения определенных проблем, например, возникающих из обыкновенных уравнений и уравнений в частных производных .
Maple коммерчески разработан канадской компанией-разработчиком программного обеспечения Maplesoft . Название Maple является отсылкой к канадскому наследию программного обеспечения .
Обзор
Основная функциональность
Пользователи могут вводить математику в традиционных математических обозначениях . Также можно создавать собственные пользовательские интерфейсы. Имеется поддержка числовых вычислений с произвольной точностью, а также символьных вычислений и визуализации. Ниже приведены примеры символьных вычислений.
Maple поддерживает MathML 2.0 — формат W3C для представления и интерпретации математических выражений, включая их отображение на веб-страницах. [4] Также имеется функционал по преобразованию выражений из традиционной математической записи в разметку, подходящую для системы набора текста LaTeX .
Архитектура
Maple основан на небольшом ядре , написанном на C , которое обеспечивает язык Maple. Большая часть функциональности обеспечивается библиотеками, полученными из различных источников. Большинство библиотек написаны на языке Maple; у них есть видимый исходный код. Многие численные вычисления выполняются числовыми библиотеками NAG , библиотеками ATLAS или библиотеками GMP .
Различные функции Maple требуют числовых данных в разных форматах. Символьные выражения хранятся в памяти в виде направленных ациклических графов . Стандартный интерфейс и интерфейс калькулятора написаны на Java .
История
Первая концепция Maple возникла на встрече в конце 1980 года в Университете Ватерлоо . [5] Исследователи из университета хотели приобрести компьютер, достаточно мощный для запуска системы компьютерной алгебры Macsyma на основе Lisp . Вместо этого они решили разработать собственную систему компьютерной алгебры под названием 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. Этот интерфейс в основном написан на Java (хотя некоторые его части, такие как правила набора математических формул, написаны на языке Maple). Интерфейс Java критиковали за медленную работу; [11] улучшения были сделаны в более поздних версиях, хотя документация Maple 11 [12] рекомендует предыдущий («классический») интерфейс для пользователей с объемом физической памяти менее 500 МБ.
В период с 1995 по 2005 год Maple уступила значительную долю рынка конкурентам из-за более слабого пользовательского интерфейса. [13] В Maple 10, вышедшем в 2005 году, Maple представила новый интерфейс «режим документа», который с тех пор получил дальнейшее развитие в нескольких выпусках.
В сентябре 2009 года Maple и Maplesoft были приобретены японским ритейлером программного обеспечения Cybernet Systems. [14]
История версий
Клен 1.0: январь 1982 г.
Клен 1.1: январь 1982 г.
Клен 2.0: май 1982 г.
Клен 2.1: июнь 1982 г.
Клен 2.15: август 1982 г.
Клен 2.2: декабрь 1982 г.
Клен 3.0: май 1983 г.
Клен 3.1: октябрь 1983 г.
Клен 3.2: апрель 1984 г.
Maple 3.3: март 1985 г. (первая общедоступная версия)
Следующий код, вычисляющий факториал неотрицательного целого числа, является примером конструкции императивного программирования в Maple:
myfac := proc ( n::nonnegint ) local out , я ; выход := 1 ; for i от 2 до n do out := out * i end do ; окончание процесса ; _
Простые функции также могут быть определены с использованием обозначения стрелки «сопоставляется»:
myfac := n -> продукт ( я , я знак равно 1. . n ) ;
Интеграция
Находить
.
int ( cos ( x / a ) , x ) ;
Выход:
Определитель
Вычислить определитель матрицы.
M := Матрица ([[ 1 , 2 , 3 ] , [ a , b , c ] , [ x , y , z ]]) ; # пример матрицы
Линейная алгебра:-Определитель(M);
Расширение серии
серия ( tanh ( x ) , x знак равно 0 , 15 )
Решайте уравнения численно
Следующий код численно вычисляет корни многочлена высокого порядка:
е := х ^ 53 - 88 * х ^ 5 - 3 * х - 5 = 0fsolve ( ж )- 1.097486315 , -. 5226535640 , 1.099074017
Эта же команда также может решать системы уравнений:
е := ( потому что ( x + y )) ^ 2 + exp ( x ) * y + детская кроватка ( x - y ) + ch ( z + x ) = 0 :г := х ^ 5 - 8 * у = 2 :ч := х + 3 * у - 77 * z = 55 ; fsolve ( { ж , г , час } ) ;{ x = - 2,080507182 , y = - 5,122547821 , z = - 0,9408850733 }
Построение графика функции одной переменной
График с диапазоном от -10 до 10:
сюжет ( х * грех ( х ) , х = - 10 ... 10 ) ;
Построение функции двух переменных
Постройте график в диапазоне от -1 до 1:
plot3d ( x ^ 2 + y ^ 2 , x = - 1 ... 1 , y = - 1 ... 1 ) ;
Анимация функций
Анимация функции двух переменных
графики : - анимация ( subs ( k = 0,5 , f ) , x = - 30 ... 30 , t = - 10 ... 10 , количество точек = 200 , кадров = 50 , цвет = красный , толщина = 3 ) ;
2D-решение колокола
Анимация функций трех переменных
графики :- animate3d ( cos ( t * x ) * sin ( 3 * t * y ) , x =- Pi .. Pi , y =- Pi .. Pi , t = 1. . 2 ) ;
3D-анимация функции
Сквозная анимация трехмерных сюжетов. [31]
M := Матрица ([[ 400 , 400 , 200 ] , [ 100 , 100 ,- 400 ] , [ 1 , 1 , 1 ]] , тип данных = float [ 8 ]) : plot3d ( 1 , x = 0 ... 2 * Pi , y = 0. Pi , оси = нет , координаты = сферические , точка обзора = [ путь = M ]) ;
eqn := f ( x ) - 3 * Int (( x * y + x ^ 2 * y ^ 2 ) * f ( y ) , y = - 1 ... 1 ) = h ( x ) : intsolve ( eqn , f ( Икс )) ;
Использование движка Maple
Движок Maple используется в нескольких других продуктах Maplesoft :
MapleNet позволяет пользователям создавать страницы JSP и апплеты Java . MapleNet 12 и более поздние версии также позволяют пользователям загружать и работать с рабочими листами Maple , содержащими интерактивные компоненты.
Пакет квантовой химии Maple от RDMChem вычисляет и визуализирует электронную энергию и свойства молекул. [33]
Ниже перечислены коммерческие продукты сторонних производителей, которые больше не используют движок Maple:
Версии Mathcad , выпущенные между 1994 и 2006 годами, включали алгебраический движок на основе Maple (MKM, также известный как Mathsoft Kernel Maple), хотя последующие версии использовали MuPAD .
Символьный Math Toolbox в MATLAB содержал часть движка Maple 10, но теперь использует MuPAD (начиная с выпуска MATLAB R2007b+). [34]
Старые версии математического редактора Scientific Workplace включали Maple в качестве вычислительного механизма, хотя текущие версии включают MuPAD .
^ Аб МакКаллум, Малкольм А.Х. (2018). «Компьютерная алгебра в исследованиях гравитации». Живые обзоры в теории относительности . 21 (1): 6. Бибкод : 2018LRR....21....6M. дои : 10.1007/s41114-018-0015-6 . ISSN 2367-3613. ПМК 6105178 . ПМИД 30174551.
^ ab «История клена». 15 декабря 1998 г. Проверено 6 апреля 2020 г.
^ Две такие университетские лаборатории - это Группа символических вычислений в Университете Ватерлоо и Исследовательский центр компьютерной алгебры Онтарио в Университете Западного Онтарио.
^ Примечания к Maple V Release 2 Maplesoft
^ "Специальный выпуск MTN 1994" . web.mit.edu .
^ Maple 6.0. Архивировано 18 июня 2008 г. на Wayback Machine Macworld, февраль 2001 г.
^ Получение знаний с помощью чистой математики, Мир научных вычислений.
^ Руководство по установке Maple 11 Maplesoft
^ Интервью с Гастоном Гонне, соавтором Maple. Архивировано 29 декабря 2007 г. в Wayback Machine , SIAM History of Numerical Analysis and Computing, 16 марта 2005 г.
^ "Медиа-релизы Maplesoft" . www.maplesoft.com .
^ «Блог 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 г.
^ "Блог MaplePrimes - Представляем Maple 2021" . Проверено 2 марта 2024 г.
^ «Блог MaplePrimes — Распаковка Maple 2022» . Проверено 2 марта 2024 г.
^ "Блог MaplePrimes - Maple 2023 уже здесь!" . Проверено 2 марта 2024 г.
^ «Что такое Maple: особенности продукта — математическое и инженерное программное обеспечение — Maplesoft» . www.maplesoft.com .
^ Использование новой функции пролета в Maple 13 Maplesoft
^ Махмуд, Хизир; Таун, Грэм Э. (июнь 2016 г.). «Обзор компьютерных инструментов для моделирования энергетических потребностей электромобилей и их влияния на распределительные сети». Прикладная энергетика . 172 : 337–359. doi :10.1016/j.apenergy.2016.03.100.
^ «Блог MaplePrimes - Представляем набор инструментов для квантовой химии Maple» . Проверено 6 мая 2019 г.
^ «Примечания к выпуску для панели инструментов символьной математики» . Матворкс . Проверено 10 июля 2014 г.
Внешние ссылки
Викискладе есть медиафайлы, связанные с Maple (программное обеспечение) .
В Wikibooks есть книга на тему: Клен.
Maplesoft, подразделение Waterloo Maple, Inc. – официальный сайт