Maple es un entorno informático simbólico y numérico , así como un lenguaje de programación multiparadigma . Cubre varias áreas de la informática técnica, como matemáticas simbólicas, análisis numérico, procesamiento de datos, visualización y otras. Una caja de herramientas, MapleSim , agrega funcionalidad para el modelado físico multidominio y la generación de código.
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 ingresar matemáticas en notación matemática tradicional . También se pueden crear interfaces de usuario personalizadas. Hay soporte para cálculos numéricos, con precisión arbitraria, así como cálculo y visualización simbólicos. A continuación se dan ejemplos de cálculos simbólicos.
Maple admite 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 existe una funcionalidad para convertir expresiones de notación matemática tradicional a marcas adecuadas 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 bibliotecas, que provienen de una variedad de fuentes. La mayoría de las bibliotecas están escritas en lenguaje Maple; estos 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 diferentes funciones de Maple requieren datos numéricos en diferentes 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 una computadora lo suficientemente potente como para ejecutar el sistema de álgebra informática basado en Lisp Macsyma . En lugar de eso, optaron por desarrollar su propio sistema de álgebra computacional, llamado Maple, que funcionaría en computadoras de menor costo. Con el objetivo de lograr portabilidad, comenzaron a escribir Maple en lenguajes de programación de la familia BCPL (inicialmente usando un subconjunto de B y C , y luego solo C). [5] Una primera versión limitada apareció después de tres semanas, y las versiones más completas entraron en uso generalizado a partir de 1982. [6] A finales de 1983, más de 50 universidades tenían copias de Maple instaladas en sus máquinas. [ cita necesaria ]
En 1984, el grupo de investigación acordó con Watcom Products Inc la licencia y distribución de 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 finalmente creció hasta tener su propio departamento de I+D, donde hoy en día se lleva a cabo la mayor parte del desarrollo de Maple (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 entrada y salida tipográfica. [8] En 1994 se publicó un número especial de un boletín creado por los 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, la interfaz "estándar" actual se introdujo con Maple 9. Esta interfaz está escrita principalmente en Java (aunque algunas partes, como las reglas para componer 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 participación 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 documento", que desde entonces se ha desarrollado 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
Arce 1.0: enero de 1982
Arce 1.1: enero de 1982
Arce 2.0: mayo de 1982
Arce 2.1: junio de 1982
Arce 2.15: agosto de 1982
Arce 2.2: diciembre de 1982
Arce 3.0: mayo de 1983
Arce 3.1: octubre de 1983
Arce 3.2: abril de 1984
Maple 3.3: marzo de 1985 (primera versión pública disponible)
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 ) salida local , i ; fuera := 1 ; para i de 2 a n salir : = salir * terminar hacer ; _ proceso final ; _
También se pueden definir funciones simples utilizando la notación de flecha "se asigna 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 ]]) ; # matriz de ejemplo
Á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 = 0resolver ( 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 :gramo := 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 función de una sola variable.
Gráfico con un rango de -10 a 10:
trazar ( x * sin ( x ) , x = - 10. . 10 ) ;
Trazado de la función de dos variables.
Trazar con y en un rango de -1 a 1:
plot3d ( x ^ 2 + y ^ 2 , x = - 1. . 1 , y = - 1. . 1 ) ;
Animación de funciones.
Animación de función de dos variables.
parcelas : - animar ( subs ( k = 0.5 , f ) , x = - 30. . 30 , t = - 10. . 10 , números de puntos = 200 , fotogramas = 50 , color = rojo , espesor = 3 ) ;
Animación de funciones de tres variables.
gráficos : - animate3d ( cos ( t * x ) * sin ( 3 * t * y ) , x = - Pi .. Pi , y = - Pi .. Pi , t = 1. . 2 ) ;
Animación aérea de gráficos tridimensionales. [28]
M : = Matriz ([[ 400 , 400 , 200 ] , [ 100 , 100 , - 400 ] , [ 1 , 1 , 1 ]] , tipo de datos = float [ 8 ] ) : plot3d ( 1 , x = 0. . 2 * Pi , y = 0. . Pi , ejes = ninguno , coordenadas = esféricas , punto de vista = [ ruta = M ]) ;
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 :
MapleNet permite a los usuarios crear páginas JSP y applets de Java . MapleNet 12 y superiores también permiten a los usuarios cargar y trabajar con hojas de trabajo de Maple que contienen componentes interactivos.
MapleSim , una herramienta de simulación de ingeniería. [29]
El paquete Maple Quantum Chemistry de RDMChem calcula y visualiza las energías electrónicas y las propiedades de las moléculas. [30]
A continuación se enumeran productos comerciales de terceros que ya no utilizan el motor Maple:
Las versiones de Mathcad lanzadas entre 1994 y 2006 incluían un motor de álgebra derivado de Maple (MKM, también conocido como Mathsoft Kernel Maple), aunque las versiones posteriores utilizan MuPAD .
Symbolic Math Toolbox en MATLAB contenía una parte del motor Maple 10, pero ahora usa MuPAD (a partir de la versión MATLAB R2007b+). [31]
Las versiones anteriores del editor matemático Scientific Workplace incluían Maple como motor computacional, aunque las versiones actuales incluyen MuPAD .
^ "Comunicados de prensa de Maplesoft". www.maplesoft.com . Consultado el 16 de mayo de 2023 .
^ "Soporte de idiomas internacionales en Maple". Arcesoft . Consultado el 2 de junio de 2016 .
^ Poder de dos Archivado el 6 de julio de 2010 en la revista Wayback Machine Bitwise.
^ "Bienvenido a la página de inicio de Maplesoft MathML". www.maplesoft.com .
^ ab MacCallum, Malcolm AH (2018). "Álgebra informática en la investigación de la gravedad". Reseñas vivas en relatividad . 21 (1): 6. Código Bib : 2018LRR....21....6M. doi : 10.1007/s41114-018-0015-6 . ISSN 2367-3613. PMC 6105178 . PMID 30174551.
^ ab "Historia del arce". 15 de diciembre de 1998 . Consultado el 6 de abril de 2020 .
^ Maple 6.0 Archivado el 18 de junio de 2008 en Wayback Machine Macworld, febrero de 2001
^ Capturando conocimiento con matemáticas puras, Scientific Computing World.
^ Guía de instalación de Maple 11 Maplesoft
^ Entrevista con Gaston Gonnet, cocreador de Maple Archivado el 29 de diciembre de 2007 en Wayback Machine , SIAM Historia del análisis numérico y la computación, 16 de marzo de 2005
^ "Comunicados de prensa de Maplesoft". www.maplesoft.com .
^ "Blog de MaplePrimes: Maple 13 y MapleSim 2 ya disponibles" . Consultado el 28 de abril de 2009 .
^ "Blog de MaplePrimes: anuncio de Maple 14 y MapleSim 4" . Consultado el 29 de abril de 2010 .
^ "Blog de MaplePrimes: Presentación de Maple 15" . Consultado el 11 de abril de 2011 .
^ "Blog de MaplePrimes: Maple 16 ya está aquí" . Consultado el 28 de marzo de 2012 .
^ "Blog de MaplePrimes: Presentación de Maple 17" . Consultado el 13 de marzo de 2013 .
^ "Blog de MaplePrimes: anuncio de Maple 18" . Consultado el 5 de marzo de 2014 .
^ "Blog de MaplePrimes: ¡Maple 2015 ya está disponible!" . Consultado el 4 de marzo de 2015 .
^ "Blog de MaplePrimes: anuncio de Maple 2016" . Consultado el 2 de marzo de 2016 .
^ "Blog de MaplePrimes: anuncio de Maple 2017" . Consultado el 25 de mayo de 2017 .
^ "Blog de MaplePrimes: ¡Maple 2018 ya está aquí!" . Consultado el 21 de marzo de 2018 .
^ "Blog de MaplePrimes: anuncio de Maple 2019" . Consultado el 14 de marzo de 2019 .
^ "Blog de MaplePrimes: ¡se lanzó Maple 2020!" . Consultado el 20 de marzo de 2020 .
^ "¿Qué es Maple: características del producto - Software de ingeniería y matemáticas - Maplesoft". www.maplesoft.com .
^ Uso de la nueva función Fly-through en Maple 13 Maplesoft
^ Mahmud, Khizir; Ciudad, Graham E. (junio de 2016). "Una revisión de herramientas informáticas para modelar los requisitos energéticos de 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.
^ "Blog de MaplePrimes: presentación de la caja de herramientas de química cuántica de Maple" . Consultado el 6 de mayo de 2019 .
^ "Notas de la versión de Symbolic Math Toolbox". Trabajos de matemáticas . Consultado el 10 de julio de 2014 .
enlaces externos
Wikimedia Commons tiene medios relacionados con Maple (software) .
Wikilibros tiene un libro sobre el tema: Arce
Maplesoft, división de Waterloo Maple, Inc. – sitio web oficial