Maple es un entorno de computación simbólica y numérica , además de un lenguaje de programación multiparadigma . Abarca diversas áreas de la computación técnica, como matemáticas simbólicas, análisis numérico, procesamiento de datos, visualización, entre otras. La caja de herramientas MapleSim añade funcionalidades para el modelado físico multidominio y la generación de código.
La capacidad de Maple para el cálculo simbólico incluye la 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 un software desarrollado comercialmente por la empresa canadiense de software Maplesoft . El nombre "Maple" hace referencia a los orígenes canadienses del software .
Descripción general
Funcionalidad principal
Los usuarios pueden introducir fórmulas 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 muestran ejemplos de cálculos simbólicos.
Maple incorpora un lenguaje de programación de estilo imperativo con tipado dinámico (similar a Pascal ), que permite variables de ámbito léxico . [ 4 ] También existen interfaces para otros lenguajes ( C , C# , Fortran , Java , MATLAB y Visual Basic ), así como para Microsoft Excel .
Maple admite MathML 2.0, que es un formato W3C para representar e interpretar expresiones matemáticas, incluyendo su visualización en páginas web. [ 5 ] También hay funcionalidad para convertir expresiones de notación matemática tradicional a un 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 diversas fuentes. La mayoría de las bibliotecas están escritas en el lenguaje Maple y su código fuente es consultable. Muchos cálculos numéricos se realizan mediante las bibliotecas numéricas NAG , las bibliotecas ATLAS o las bibliotecas GMP .
Las distintas funcionalidades de Maple requieren datos numéricos en diferentes formatos. Las expresiones simbólicas se almacenan en memoria como grafos 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 . [ 6 ] Los investigadores de la universidad deseaban comprar una computadora lo suficientemente potente como para ejecutar el sistema de álgebra computacional basado en Lisp, Macsyma . En cambio, 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 más tarde solo C). [ 6 ] 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. [ 7 ] A finales de 1983, más de 50 universidades tenían copias de Maple instaladas en sus máquinas.
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. [ 7 ] 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 [ 8 ] ).
En 1989, se desarrolló la primera interfaz gráfica de usuario para Maple y se incluyó con la versión 4.3 para Macintosh . Las versiones para X11 y Windows de la nueva interfaz le 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. [ 9 ] En 1994 se publicó un número especial de un boletín informativo creado por desarrolladores de Maple llamado MapleTech . [ 10 ]
En 1999, con el lanzamiento de Maple 6, Maple incluyó algunas de las bibliotecas numéricas de NAG . [ 11 ] En 2003, se introdujo la interfaz "estándar" actual con Maple 9. Esta interfaz está escrita principalmente en Java (aunque algunas 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; [ 12 ] se han realizado mejoras en versiones posteriores, aunque la documentación de Maple 11 [ 13 ] 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. [ 14 ] Con Maple 10 en 2005, Maple introdujo una nueva interfaz de "modo documento", que desde entonces se ha desarrollado aún más en varias versiones.
En septiembre de 2009, Maple y Maplesoft fueron adquiridas por el minorista de software japonés Cybernet Systems . [ 15 ]
Historial de versiones
- Maple 1.0: enero de 1982
- Maple 1.1: enero de 1982
- Maple 2.0: mayo de 1982
- Maple 2.1: junio de 1982
- Maple 2.15: agosto de 1982
- Maple 2.2: diciembre de 1982
- Maple 3.0: mayo de 1983
- Maple 3.1: octubre de 1983
- Maple 3.2: abril de 1984
- Maple 3.3: marzo de 1985 (primera versión disponible al público)
- Maple 4.0: abril de 1986
- Maple 4.1: mayo de 1987
- Maple 4.2: diciembre de 1987
- Maple 4.3: marzo de 1989
- Maple V: agosto de 1990
- Maple V R2: Noviembre de 1992
- Maple V R3: 15 de marzo de 1994
- Maple V R4: enero de 1996
- Maple V R5: 1 de noviembre de 1997
- Maple 6: 6 de diciembre de 1999
- Maple 7: 1 de julio de 2001
- Maple 8: 16 de abril de 2002
- Maple 9: 30 de junio de 2003
- Maple 9.5: 15 de abril de 2004
- Maple 10: 10 de mayo de 2005
- Maple 11: 21 de febrero de 2007
- Maple 11.01: julio de 2007
- Maple 11.02: Noviembre de 2007
- Maple 12: Mayo de 2008
- Maple 12.01: octubre de 2008
- Maple 12.02: diciembre de 2008
- Maple 13: 28 de abril de 2009 [ 16 ]
- Maple 13.01: julio de 2009
- Maple 13.02: octubre de 2009
- Maple 14: 29 de abril de 2010 [ 17 ]
- Maple 14.01: 28 de octubre de 2010
- Maple 15: 13 de abril de 2011 [ 18 ]
- Maple 15.01: 21 de junio de 2011
- Maple 16: 28 de marzo de 2012 [ 19 ]
- Maple 16.01: 16 de mayo de 2012
- Maple 17: 13 de marzo de 2013 [ 20 ]
- Maple 17.01: julio de 2013
- Maple 18: 5 de marzo de 2014 [ 21 ]
- Maple 18.01: mayo de 2014
- Maple 18.01a: julio de 2014
- Maple 18.02: Noviembre de 2014
- Maple 2015.0: 4 de marzo de 2015 [ 22 ]
- Maple 2015.1: Noviembre de 2015
- Maple 2016.0: 2 de marzo de 2016 [ 23 ]
- Maple 2016.1: 20 de abril de 2016
- Maple 2016.1a: 27 de abril de 2016
- Maple 2017.0: 25 de mayo de 2017 [ 24 ]
- Maple 2017.1: 28 de junio de 2017
- Maple 2017.2: 2 de agosto de 2017
- Maple 2017.3: 3 de octubre de 2017
- Maple 2018.0: 21 de marzo de 2018 [ 25 ]
- Maple 2019.0: 14 de marzo de 2019 [ 26 ]
- Maple 2020.0: 12 de marzo de 2020 [ 27 ]
- Maple 2021.0: 10 de marzo de 2021 [ 28 ]
- Maple 2022.0: 15 de marzo de 2022 [ 29 ]
- Maple 2023.0: 9 de marzo de 2023 [ 30 ]
Características
Las características de Maple incluyen: [ 31 ]
- Soporte para cálculos simbólicos y numéricos con precisión arbitraria.
- Bibliotecas de funciones matemáticas elementales y especiales
- Números complejos y aritmética de intervalos
- Aritmética, máximo común divisor y factorización de polinomios multivariables sobre los racionales, cuerpos finitos , cuerpos de números algebraicos y cuerpos de funciones algebraicas .
- Límites, series y desarrollos asintóticos
- Base de Gröbner
- Álgebra diferencial
- Herramientas de manipulación de matrices, incluyendo soporte para matrices dispersas.
- Herramientas para la representación gráfica y animación de funciones matemáticas
- Solucionadores para sistemas de ecuaciones , ecuaciones diofánticas , EDO , EDP , EDA , EDD y relaciones de recurrencia.
- Herramientas numéricas y simbólicas para el cálculo discreto y continuo , incluyendo integración definida e indefinida , suma definida e indefinida , diferenciación automática y transformadas integrales continuas y discretas.
- Optimización local y global con y sin restricciones
- Estadísticas que incluyen ajuste de modelos, pruebas de hipótesis y distribuciones de probabilidad.
- Herramientas para la manipulación, visualización y análisis de datos.
- Herramientas para problemas de probabilidad y combinatoria
- Compatibilidad con datos de series temporales y datos basados en unidades.
- Conexión a la recopilación en línea de datos financieros y económicos.
- Herramientas para cálculos financieros, incluyendo bonos, anualidades, derivados, opciones, etc.
- Cálculos y simulaciones sobre procesos aleatorios
- Herramientas para la minería de texto, incluidas las expresiones regulares.
- Herramientas para el procesamiento de señales y sistemas de control lineales y no lineales.
- Herramientas de matemáticas discretas, incluida la teoría de números.
- Herramientas para visualizar y analizar grafos dirigidos y no dirigidos.
- Teoría de grupos, incluyendo permutaciones y grupos finitamente presentados.
- Funciones tensoriales simbólicas
- Importa y exporta filtros para formatos de datos, imágenes, sonido, CAD y documentos.
- Procesamiento de textos técnicos, incluida la edición de fórmulas.
- Lenguaje de programación que admite construcciones procedimentales , funcionales y orientadas a objetos.
- Herramientas para agregar interfaces de usuario a cálculos y aplicaciones.
- Herramientas para conectarse a SQL , Java , .NET , C++ , Fortran y http
- Herramientas para generar código para C , C# , Fortran , Java , JavaScript , Julia , Matlab , Perl , Python , R y Visual Basic.
- Herramientas para la programación paralela
Ejemplos de código Maple
El siguiente código, que calcula el factorial de un entero no negativo, es un ejemplo de una estructura de programación imperativa dentro de Maple:
myfac := proc ( n :: nonnegint ) local out , i ; out := 1 ; for i from 2 to n do out := out * i end do ; out end proc ;Las funciones simples también se pueden definir utilizando la notación de flecha "mapea a":
mifac := n -> producto ( i , i = 1 .. n );Integración
Encontrar
- .
entero ( cos ( x / a ) , x );Producción:
Determinante
Calcula 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 alto grado:
f := x ^ 53 - 88 * x ^ 5 - 3 * x - 5 = 0fsolve ( f )- 1.097486315 , -. 5226535640 , 1.099074017El 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 }Representación gráfica de una función de una sola variable.
Tramacon x variando de -10 a 10:
trazar ( x * sin ( x ) , x = - 10 .. 10 );Representación gráfica de una función de dos variables
Tramacon x e y variando de -1 a 1:
plot3d ( x ^ 2 + y ^ 2 , x = - 1 .. 1 , y = - 1 .. 1 );
Animación de funciones
- Animación de la función de dos variables
plots :- animate ( subs ( k = 0.5 , f ) , x =- 30 .. 30 , t =- 10 .. 10 , numpoints = 200 , frames = 50 , color = red , thickness = 3 );
- Animación de funciones de tres variables
plots :- animate3d ( cos ( t * x ) * sin ( 3 * t * y ) , x =- Pi .. Pi , y =- Pi .. Pi , t = 1 .. 2 );
- Animación de recorrido virtual de gráficos 3D. [ 32 ]
M := Matrix ([[ 400 , 400 , 200 ] , [ 100 , 100 ,- 400 ] , [ 1 , 1 , 1 ]] , datatype = float [ 8 ]) : plot3d ( 1 , x = 0 .. 2 * Pi , y = 0 .. Pi , axes = none , coords = spherical , viewpoint = [ path = M ]);
Transformación de Laplace
f := ( 1 + A * t + B * t ^ 2 ) * exp ( c * t );inttrans :- laplace ( f , t , s );- transformada inversa de Laplace
inttrans :- invlaplace ( 1 / ( s - a ) , s , x );transformada de Fourier
inttrans :- fourier ( sin ( x ) , x , w )ecuaciones integrales
Encuentra funciones f que satisfagan la ecuación integral.
- .
eqn := f ( x ) - 3 * Int (( x * y + x ^ 2 * y ^ 2 ) * f ( y ) , y =- 1 .. 1 ) = h ( x ) : intsolve ( eqn , 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 versiones posteriores también permiten a los usuarios cargar y trabajar con hojas de cálculo de Maple que contienen componentes interactivos.
- MapleSim , una herramienta de simulación de ingeniería. [ 33 ]
- El paquete de química cuántica Maple de RDMChem calcula y visualiza las energías electrónicas y las propiedades de las moléculas. [ 34 ]
A continuación se enumeran productos comerciales de terceros que ya no utilizan el motor Maple:
- Las versiones de Mathcad publicadas 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 utiliza MuPAD (a partir de la versión MATLAB R2007b+). [ 35 ]
- Las versiones anteriores del editor matemático Scientific Workplace incluían Maple como motor de cálculo, aunque las versiones actuales incluyen MuPAD .
Véase también
- Comparación de sistemas de álgebra computacional
- Comparación de lenguajes de programación
- Comparación de paquetes estadísticos
- Lista de sistemas de álgebra computacional
- Lista de software de simulación por ordenador
- Lista de software de gráficos
- Lista de software de análisis numérico
- Software matemático
- SageMath (un programa de álgebra de código abierto)
Referencias
- ↑ "Actualizaciones de Maple y MapleSim 2025.2" . www.mapleprimes.com . Consultado el 11 de enero de 2026 .
- ↑ "Requisitos del sistema del producto Maplesoft" Maplesoft . Maplesoft . Consultado el 11 de enero de 2026 .
- ↑ "Soporte para idiomas internacionales en Maple" . Maplesoft . Consultado el 2 de junio de 2016 .
- ↑ Potencia de dos Archivado el 6 de julio de 2010 en Wayback Machine Bitwise Magazine
- ↑ "Bienvenido a la página principal de Maplesoft MathML " . www.maplesoft.com
- 1 2 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 .
- 1 2 "Historia del arce" . 15 de diciembre de 1998. Archivado del original el 25 de octubre de 2020. Consultado el 6 de abril de 2020 .
- ↑ 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 Álgebra Computacional de Ontario de la Universidad de Western Ontario.
- ↑ Notas de la versión 2 de Maple V de Maplesoft
- ↑ "Número especial de MTN de 1994" . web.mit.edu .
- ↑ Maple 6.0 Archivado el 18 de junio de 2008 en Wayback Machine Macworld, febrero de 2001
- ↑ Capturando conocimiento con matemáticas puras Archivado el 3 de marzo de 2016 en Wayback Machine , Scientific Computing World.
- ↑ Guía de instalación de Maple 11 Maplesoft
- ↑ Entrevista con Gaston Gonnet, cocreador de Maple. Archivada el 29 de diciembre de 2007 en Wayback Machine , SIAM History of Numerical Analysis and Computing, 16 de marzo de 2005.
- ↑ "Comunicados de prensa de Maplesoft" . www.maplesoft.com .
- ↑ "Blog de MaplePrimes: Maple 13 y MapleSim 2 ya están 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: ¡Maple 2020 ya está disponible!" . Consultado el 20 de marzo de 2020 .
- ↑ "Blog de MaplePrimes - Presentación de Maple 2021" . Consultado el 2 de marzo de 2024 .
- ↑ "Blog de MaplePrimes - Desempaquetado de Maple 2022" . Consultado el 2 de marzo de 2024 .
- ↑ "Blog de MaplePrimes - ¡Maple 2023 ya está aquí!" . Consultado el 2 de marzo de 2024 .
- ↑ "¿Qué es Maple?: Características del producto - Software de matemáticas e ingeniería - Maplesoft" . www.maplesoft.com
- ↑ Uso de la nueva función de recorrido virtual en Maple 13 Maplesoft
- ↑ 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". Applied Energy . 172 : 337–359 . Bibcode : 2016ApEn..172..337M . 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" . MathWorks . Consultado el 10 de julio de 2014 .
Enlaces externos
- Maplesoft, división de Waterloo Maple, Inc. – sitio web oficial
- Software propietario programado en C
- Interfaz de portátil
- Software de sistema de álgebra computacional para Linux
- Software de sistema de álgebra computacional para macOS
- Software de sistema de álgebra computacional para Windows
- Sistemas de álgebra computacional
- Software multiplataforma
- Software de minería de datos y aprendizaje automático
- Software de visualización de datos e información
- Lenguajes de programación centrados en datos
- Software de econometría
- Lenguajes funcionales
- Software de geometría interactiva
- Software IRIX
- Álgebra lineal
- Maplesoft
- Software de optimización matemática
- Software matemático
- Software de análisis numérico para Linux
- Software de análisis numérico para macOS
- Software de análisis numérico para Windows
- Lenguajes de programación numérica
- Software numérico
- Computación paralela
- Software de física
- Software de trazado
- Productos introducidos en 1982
- Software comercial propietario para Linux
- Software de regresión y ajuste de curvas
- Lenguajes de programación de simulación
- Lenguaje de modelado de software
- Lenguajes de programación estadística
- Sistemas de software para la demostración de teoremas
- Software de series temporales