stringtranslate.com

Arce (software)

Maple es un entorno de computación simbólica y numérica , así como un lenguaje de programación multiparadigma . Abarca varias áreas de la computación técnica, como las matemáticas simbólicas, el análisis numérico, el procesamiento de datos, la visualización y otras. Una caja de herramientas, MapleSim , añade funcionalidad para el modelado físico multidominio y la generación de código.

Las capacidades de Maple para el cálculo simbólico incluyen las de un sistema de álgebra computacional de propósito general . Por ejemplo, puede manipular expresiones matemáticas y encontrar soluciones simbólicas a ciertos problemas, como los que surgen de ecuaciones diferenciales ordinarias y parciales .

Maple es desarrollado comercialmente por la empresa canadiense de software Maplesoft . El nombre "Maple" es una referencia a la herencia canadiense del software .

Descripción general

Funcionalidad principal

Los usuarios pueden introducir operaciones matemáticas en notación matemática tradicional . También se pueden crear interfaces de usuario personalizadas. Se admiten cálculos numéricos con precisión arbitraria, así como cálculos simbólicos y visualización. A continuación se ofrecen ejemplos de cálculos simbólicos.

Maple incorpora un lenguaje de programación de estilo imperativo tipado dinámicamente (similar a Pascal ), que permite variables de alcance léxico . [3] También hay interfaces con otros lenguajes ( C , C# , Fortran , Java , MATLAB y Visual Basic ), así como con Microsoft Excel .

Maple es compatible con MathML 2.0, que es un formato W3C para representar e interpretar expresiones matemáticas, incluida su visualización en páginas web. [4] También hay una funcionalidad para convertir expresiones de notación matemática tradicional a marcado adecuado para el sistema de composición tipográfica LaTeX .

Arquitectura

Maple se basa en un pequeño núcleo , escrito en C , que proporciona el lenguaje Maple. La mayor parte de la funcionalidad la proporcionan las bibliotecas, que provienen de una variedad de fuentes. La mayoría de las bibliotecas están escritas en el lenguaje Maple; estas tienen código fuente visible. Muchos cálculos numéricos se realizan mediante las bibliotecas numéricas NAG , las bibliotecas ATLAS o las bibliotecas GMP .

Las distintas funciones de Maple requieren datos numéricos en distintos formatos. Las expresiones simbólicas se almacenan en la memoria como gráficos acíclicos dirigidos . La interfaz estándar y la interfaz de la calculadora están escritas en Java .

Historia

El primer concepto de Maple surgió de una reunión a finales de 1980 en la Universidad de Waterloo . [5] Los investigadores de la universidad deseaban comprar un ordenador lo suficientemente potente como para ejecutar el sistema de álgebra computacional basado en Lisp Macsyma . En su lugar, optaron por desarrollar su propio sistema de álgebra computacional, llamado Maple, que pudiera ejecutarse en ordenadores de menor coste. Con el objetivo de lograr la portabilidad, comenzaron a escribir Maple en lenguajes de programación de la familia BCPL (inicialmente utilizando un subconjunto de B y C , y más tarde solo C). [5] Una primera versión limitada apareció después de tres semanas, y versiones más completas entraron en uso generalizado a principios de 1982. [6] A finales de 1983, más de 50 universidades tenían copias de Maple instaladas en sus máquinas. [ cita requerida ]

En 1984, el grupo de investigación acordó con Watcom Products Inc. licenciar y distribuir la primera versión disponible comercialmente, Maple 3.3. [6] En 1988 se fundó Waterloo Maple Inc. (Maplesoft). El objetivo original de la empresa era gestionar la distribución del software, pero con el tiempo creció hasta tener su propio departamento de I+D, donde se lleva a cabo la mayor parte del desarrollo de Maple en la actualidad (el resto se realiza en varios laboratorios universitarios [7] ).

En 1989, se desarrolló la primera interfaz gráfica de usuario para Maple y se incluyó en la versión 4.3 para Macintosh . Las versiones X11 y Windows de la nueva interfaz siguieron en 1990 con Maple V. En 1992, Maple V Release 2 introdujo la "hoja de trabajo" de Maple que combinaba texto, gráficos y salida de entrada y composición tipográfica. [8] En 1994 se publicó una edición especial de un boletín creado por desarrolladores de Maple llamado MapleTech . [9]

En 1999, con el lanzamiento de Maple 6, Maple incluyó algunas de las bibliotecas numéricas NAG . [10] En 2003, se introdujo la interfaz "estándar" actual con Maple 9. Esta interfaz está escrita principalmente en Java (aunque partes, como las reglas para la composición tipográfica de fórmulas matemáticas, están escritas en el lenguaje Maple). La interfaz Java fue criticada por ser lenta; [11] se han realizado mejoras en versiones posteriores, aunque la documentación de Maple 11 [12] recomienda la interfaz anterior ("clásica") para usuarios con menos de 500 MB de memoria física.

Entre 1995 y 2005, Maple perdió una importante cuota de mercado frente a sus competidores debido a una interfaz de usuario más débil. [13] Con Maple 10 en 2005, Maple introdujo una nueva interfaz de "modo de documento", que desde entonces se ha desarrollado aún más en varias versiones.

En septiembre de 2009, Maple y Maplesoft fueron adquiridos por el minorista de software japonés Cybernet Systems. [14]

Historial de versiones

Características

Las características de Maple incluyen: [30]

Ejemplos de código Maple

El siguiente código, que calcula el factorial de un entero no negativo, es un ejemplo de una construcción de programación imperativa dentro de Maple:

myfac := proc ( n::nonnegint ) local out , i ; out := 1 ; para i de 2 a n do out := out * i fin do ; out fin proc ;                        

También se pueden definir funciones simples utilizando la notación de flecha "mapas a":

 myfac := n -> producto ( i , i = 1. . n ) ;       

Integración

Encontrar

.
 int ( cos ( x / a ) , x ) ; 

Producción:

Determinante

Calcular el determinante de una matriz.

 M := Matriz ([[ 1 , 2 , 3 ] , [ a , b , c ] , [ x , y , z ]]) ; # ejemplo Matriz       
Álgebra lineal: - Determinante (M);

Expansión de la serie

serie ( tanh ( x ) , x = 0,15 )    

Resolver ecuaciones numéricamente

El siguiente código calcula numéricamente las raíces de un polinomio de orden superior:

 f := x ^ 53 - 88 * x ^ 5 - 3 * x - 5 = 0     fsolve ( f ) - 1.097486315 , -. 5226535640 , 1.099074017  

El mismo comando también puede resolver sistemas de ecuaciones:

 f := ( cos ( x + y )) ^ 2 + exp ( x ) * y + cot ( x - y ) + cosh ( z + x ) = 0 :       g := x ^ 5 - 8 * y = 2 :       h := x + 3 * y - 77 * z = 55 ; fsolve ( { f , g , h } ) ;       { x = - 2,080507182 , y = - 5,122547821 , z = - 0,9408850733 }        

Trazado de una función de una sola variable

Gráfico con rango de -10 a 10:

 gráfica ( x * sin ( x ) , x = - 10. . 10 ) ;   

Trazado de función de dos variables

Trazar con y que van desde -1 a 1:

plot3d ( x ^ 2 + y ^ 2 , x = - 1. . 1 , y = - 1. . 1 ) ;      

Animación de funciones

gráficos : - animar ( subs ( k = 0.5 , f ) , x = - 30. . 30 , t = - 10. . 10 , numpoints = 200 , cuadros = 50 , color = rojo , grosor = 3 ) ;         
Solución de campana 2D
gráficos : - animate3d ( cos ( t * x ) * sin ( 3 * t * y ) , x = - Pi..Pi , y = - Pi..Pi , t = 1..2 ) ;   
Animación 3D de la función
 M := Matriz ([[ 400 , 400 , 200 ] , [ 100 , 100 ,- 400 ] , [ 1 , 1 , 1 ]] , tipo de dato = float [ 8 ]) : plot3d ( 1 , x = 0. . 2 * Pi , y = 0. . Pi , ejes = ninguno , coordenadas = esféricas , punto de vista = [ ruta = M ]) ;           
Vista aérea de Maple plot3D

Transformada de Laplace

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

Transformada de Fourier

 inttrans :- fourier ( sen ( x ) , x , w )  

Ecuaciones integrales

Encuentra funciones que satisfagan la ecuación integral

.
ecuación := f ( x ) - 3 * Int (( x * y + x ^ 2 * y ^ 2 ) * f ( y ) , y =- 1. . 1 ) = h ( x ) : intsolve ( ecuación , f ( x )) ;    

Uso del motor Maple

El motor Maple se utiliza en varios otros productos de Maplesoft :

A continuación se enumeran productos comerciales de terceros que ya no utilizan el motor Maple:

Véase también

Referencias

  1. ^ "Comunicados de prensa de Maplesoft". www.maplesoft.com . Consultado el 12 de mayo de 2024 .
  2. ^ "Soporte de idiomas internacionales en Maple". Maplesoft . Consultado el 2 de junio de 2016 .
  3. ^ Poder de dos Archivado el 6 de julio de 2010 en Wayback Machine Bitwise Magazine
  4. ^ "Bienvenido a la página de inicio de Maplesoft MathML". www.maplesoft.com .
  5. ^ ab MacCallum, Malcolm AH (2018). "Álgebra computacional en la investigación de la gravedad". Living Reviews in Relativity . 21 (1): 6. Bibcode :2018LRR....21....6M. doi : 10.1007/s41114-018-0015-6 . ISSN  2367-3613. PMC 6105178 . PMID  30174551. 
  6. ^ ab "Historia del arce". 15 de diciembre de 1998. Consultado el 6 de abril de 2020 .
  7. ^ Dos de estos laboratorios universitarios son el Grupo de Computación Simbólica de la Universidad de Waterloo y el Centro de Investigación de Ontario para Álgebra Computacional de la Universidad de Western Ontario.
  8. ^ Notas de la versión 2 de Maple V Maplesoft
  9. ^ "Número especial de MTN 1994". web.mit.edu .
  10. ^ Maple 6.0 Archivado el 18 de junio de 2008 en Wayback Machine Macworld, febrero de 2001
  11. ^ Capturando conocimiento con matemáticas puras, Scientific Computing World.
  12. ^ Guía de instalación de Maple 11 Maplesoft
  13. ^ Entrevista a Gaston Gonnet, cocreador de Maple Archivado el 29 de diciembre de 2007 en Wayback Machine , SIAM History of Numerical Analysis and Computing, 16 de marzo de 2005
  14. ^ "Comunicados de prensa de Maplesoft". www.maplesoft.com .
  15. ^ "Blog de MaplePrimes: Maple 13 y MapleSim 2 ya están disponibles" . Consultado el 28 de abril de 2009 .
  16. ^ "Blog de MaplePrimes: anunciamos Maple 14 y MapleSim 4" . Consultado el 29 de abril de 2010 .
  17. ^ "Blog de MaplePrimes: presentación de Maple 15" . Consultado el 11 de abril de 2011 .
  18. ^ "Blog de MaplePrimes: Maple 16 ya está aquí" . Consultado el 28 de marzo de 2012 .
  19. ^ "Blog de MaplePrimes: presentación de Maple 17" . Consultado el 13 de marzo de 2013 .
  20. ^ "Blog de MaplePrimes: anunciamos Maple 18" . Consultado el 5 de marzo de 2014 .
  21. ^ "Blog de MaplePrimes: ¡Maple 2015 ya está disponible!" . Consultado el 4 de marzo de 2015 .
  22. ^ "Blog de MaplePrimes: anunciamos Maple 2016" . Consultado el 2 de marzo de 2016 .
  23. ^ "Blog de MaplePrimes: anunciamos Maple 2017" . Consultado el 25 de mayo de 2017 .
  24. ^ "Blog de MaplePrimes: ¡Maple 2018 ya está aquí!" . Consultado el 21 de marzo de 2018 .
  25. ^ "Blog de MaplePrimes: anunciamos Maple 2019" . Consultado el 14 de marzo de 2019 .
  26. ^ "Blog de MaplePrimes: ¡Se lanzó Maple 2020!" . Consultado el 20 de marzo de 2020 .
  27. ^ "Blog de MaplePrimes: presentación de Maple 2021" . Consultado el 2 de marzo de 2024 .
  28. ^ "Blog de MaplePrimes: Unboxing de Maple 2022" . Consultado el 2 de marzo de 2024 .
  29. ^ "Blog de MaplePrimes: ¡Maple 2023 ya está aquí!" . Consultado el 2 de marzo de 2024 .
  30. ^ "¿Qué es Maple? Características del producto - Software de matemáticas e ingeniería - Maplesoft". www.maplesoft.com .
  31. ^ Cómo usar la nueva función Fly-through en Maple 13 Maplesoft
  32. ^ Mahmud, Khizir; Town, Graham E. (junio de 2016). "Una revisión de las herramientas informáticas para modelar los requisitos energéticos de los vehículos eléctricos y su impacto en las redes de distribución de energía". Energía aplicada . 172 : 337–359. doi :10.1016/j.apenergy.2016.03.100.
  33. ^ "Blog de MaplePrimes: presentación de la caja de herramientas de química cuántica de Maple" . Consultado el 6 de mayo de 2019 .
  34. ^ "Notas de la versión de Symbolic Math Toolbox". MathWorks . Consultado el 10 de julio de 2014 .

Enlaces externos