stringtranslate.com

Клен (программное обеспечение)

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

Возможности Maple для символьных вычислений аналогичны возможностям системы компьютерной алгебры общего назначения . Например, он может манипулировать математическими выражениями и находить символические решения определенных проблем, например, возникающих из обыкновенных уравнений и уравнений в частных производных .

Maple коммерчески разработан канадской компанией-разработчиком программного обеспечения Maplesoft . Название Maple является отсылкой к канадскому наследию программного обеспечения .

Обзор

Основная функциональность

Пользователи могут вводить математику в традиционных математических обозначениях . Также можно создавать собственные пользовательские интерфейсы. Имеется поддержка числовых вычислений с произвольной точностью, а также символьных вычислений и визуализации. Ниже приведены примеры символьных вычислений.

Maple включает в себя динамически типизированный язык программирования императивного стиля (напоминающий Pascal ), который допускает переменные лексической области видимости . [3] Существуют также интерфейсы для других языков ( C , C# , Fortran , Java , MATLAB и Visual Basic ), а также для Microsoft Excel .

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]

История версий

Функции

Особенности Maple включают в себя: [30]

Примеры кода Maple

Следующий код, вычисляющий факториал неотрицательного целого числа, является примером конструкции императивного программирования в 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 = 0     fsolve ( ж ) - 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-анимация функции
 M := Матрица ([[ 400 , 400 , 200 ] , [ 100 , 100 ,- 400 ] , [ 1 , 1 , 1 ]] , тип данных = float [ 8 ]) : plot3d ( 1 , x = 0 ... 2 * Pi , y = 0. Pi , оси = нет , координаты = сферические , точка обзора = [ путь = M ]) ;           
Mapleplot3D пролет

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

ж := ( 1 + A * t + B * t ^ 2 ) * exp ( c * t ) ;  
 inttrans :- лаплас ( f , t , s ) ;  
inttrans : -invlaplace ( 1 / ( s - a ) , s , x ) ;  

преобразование Фурье

 inttrans :- Фурье ( sin ( x ) , x , w )  

Интегральные уравнения

Найдите функции , удовлетворяющие интегральному уравнению

.
eqn := f ( x ) - 3 * Int (( x * y + x ^ 2 * y ^ 2 ) * f ( y ) , y = - 1 ... 1 ) = h ( x ) : intsolve ( eqn , f ( Икс )) ;    

Использование движка Maple

Движок Maple используется в нескольких других продуктах Maplesoft :

Ниже перечислены коммерческие продукты сторонних производителей, которые больше не используют движок Maple:

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

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

  1. ^ "Медиа-релизы Maplesoft" . www.maplesoft.com . Проверено 16 мая 2023 г.
  2. ^ «Международная языковая поддержка в Maple». Мэйплсофт . Проверено 2 июня 2016 г.
  3. Сила двух. Архивировано 6 июля 2010 г. в журнале Wayback Machine Bitwise Magazine.
  4. ^ «Добро пожаловать на домашнюю страницу Maplesoft MathML» . www.maplesoft.com .
  5. ^ Аб МакКаллум, Малкольм А.Х. (2018). «Компьютерная алгебра в исследованиях гравитации». Живые обзоры в теории относительности . 21 (1): 6. Бибкод : 2018LRR....21....6M. дои : 10.1007/s41114-018-0015-6 . ISSN  2367-3613. ПМК 6105178 . ПМИД  30174551. 
  6. ^ ab «История клена». 15 декабря 1998 г. Проверено 6 апреля 2020 г.
  7. ^ Две такие университетские лаборатории - это Группа символических вычислений в Университете Ватерлоо и Исследовательский центр компьютерной алгебры Онтарио в Университете Западного Онтарио.
  8. ^ Примечания к Maple V Release 2 Maplesoft
  9. ^ "Специальный выпуск MTN 1994" . web.mit.edu .
  10. ^ Maple 6.0. Архивировано 18 июня 2008 г. на Wayback Machine Macworld, февраль 2001 г.
  11. ^ Получение знаний с помощью чистой математики, Мир научных вычислений.
  12. ^ Руководство по установке Maple 11 Maplesoft
  13. ^ Интервью с Гастоном Гонне, соавтором Maple. Архивировано 29 декабря 2007 г. в Wayback Machine , SIAM History of Numerical Analysis and Computing, 16 марта 2005 г.
  14. ^ "Медиа-релизы Maplesoft" . www.maplesoft.com .
  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. ^ "Блог MaplePrimes - Представляем Maple 2021" . Проверено 2 марта 2024 г.
  28. ^ «Блог MaplePrimes — Распаковка Maple 2022» . Проверено 2 марта 2024 г.
  29. ^ "Блог MaplePrimes - Maple 2023 уже здесь!" . Проверено 2 марта 2024 г.
  30. ^ «Что такое Maple: особенности продукта — математическое и инженерное программное обеспечение — Maplesoft» . www.maplesoft.com .
  31. ^ Использование новой функции пролета в Maple 13 Maplesoft
  32. ^ Махмуд, Хизир; Таун, Грэм Э. (июнь 2016 г.). «Обзор компьютерных инструментов для моделирования энергетических потребностей электромобилей и их влияния на распределительные сети». Прикладная энергетика . 172 : 337–359. doi :10.1016/j.apenergy.2016.03.100.
  33. ^ «Блог MaplePrimes - Представляем набор инструментов для квантовой химии Maple» . Проверено 6 мая 2019 г.
  34. ^ «Примечания к выпуску для панели инструментов символьной математики» . Матворкс . Проверено 10 июля 2014 г.

Внешние ссылки