Maple es un programa orientado a la resolución de problemas matemáticos, capaz de realizar cálculos simbólicos, algebraicos y de álgebra computacional.

Fue desarrollado originalmente en 1981 por el Grupo de Cálculo Simbólico en la Universidad de Waterloo en Waterloo, Ontario, Canadá. Desde 1988 ha sido mejorado y vendido comercialmente por Waterloo Maple Inc. (también conocida como Maplesoft), compañía canadiense con sede en la misma localidad. La última versión es Maple 2020.

Maple se basa en un pequeño núcleo escrito en C, que proporciona el lenguaje Maple. Maple es un lenguaje de programación interpretado. Las expresiones simbólicas son almacenadas en memoria como grafos dirigidos sin ciclos. La mayoría de funcionalidades son proporcionadas por bibliotecas: unas escritas en lenguaje Maple, con acceso a su código fuente; pero también hace uso de otras bibliotecas bien conocidas como las NAG, ATLAS o GMP.

Origen del nombre Su nombre es una abreviatura o un acrónimo de la frase en inglés Mathemathic Pleasure (‘placer de las matemáticas’), también se debe a que Maple fue hecho en Canadá, cuya bandera tiene una hoja de arce (maple en inglés).

Código de ejemplo en Maple Las siguientes líneas de código calculan la solución exacta de una ecuación diferencial ordinaria de segundo orden:

Sujeto a las condiciones iniciales:

dsolve( {diff(y(x),x, x) - 3*y(x) = x, y(0)=0, D(y)(0)=2}, y(x) );

Raíz cuadrada del número 2 hasta 20 cifras decimales:

evalf( sqrt(2), 21 );

Simplificación de fracciones:

simplify( 35/42 - 5/30 );

Solución de una ecuación de segundo grado:

solve( 3*x^2 + b*x = 7, x );

Solución de ecuaciones diferenciales simbólicas:

f := x -> tan(x)*sqrt(x); D(f)(x);

Funciones integrales, solución simbólica, y solución numérica:

Int( sin(x)^2, x );

value( % );

int( sin(x)^2, x = 0..Pi/2 );

Evaluación de ecuaciones diferenciales lineales en forma simbólica y numérica:

DGL := diff( y(x), x, x ) - 3*y(x) = x: DGL;

dsolve( { DGL, y(0) = 1, D(y)(0) = 2 }, y(x) );

Historial de versiones

Maple 2020: marzo de 2020 Maple 2019: marzo de 2019 Maple 2018: marzo de 2018 Maple 2017: mayo de 2017 Maple 2016: marzo de 2016 Maple 2015: marzo de 2015 Maple 18: marzo de 2014 Maple 17: marzo de 2013 Maple 16: marzo de 2012 Maple 15: abril de 2011 Maple 14: abril de 2010 Maple 13: abril de 2009 Maple 12: junio de 2008 Maple 11: febrero de 2007 Maple 10: mayo de 2005 Maple 9.5: abril de 2004

Maple 9: junio de 2003 Maple 8: abril de 2002 Maple 7: julio de 2001 Maple 6: diciembre de 1999 Maple V R5: noviembre de 1997 Maple V R4: enero de 1996 Maple V R3: marzo de 1994 Maple V R2: noviembre de 1992 Maple V: agosto de 1990 Maple 4.3: marzo de 1989 Maple 4.2: diciembre de 1987 Maple 4.1: mayo de 1987

Maple 4.0: abril de 1986 Maple 3.3: marzo de 1985 (primera versión disponible públicamente) Maple 3.2: abril de 1984 Maple 3.1: octubre de 1983 Maple 3.0: mayo de 1983 Maple 2.2: diciembre de 1982 Maple 2.15: agosto de 1982 Maple 2.1: junio de 1982 Maple 2.0: mayo de 1982 Maple 1.1: enero de 1982 Maple 1.0: enero de 1982

Desde 1994, MathCad ha incluido un motor de álgebra derivado de Maple, Núcleo Mathsoft de Maple MKN por sus siglas en inglés (MKN, Mathsoft Kernel Maple).

Características Estas son algunas de las características más relevantes del software: Permite el desarrollo de cálculos matemáticos de manera simbólica y numérica con precisión arbitraria Bibliotecas para funciones matemáticas básicas y avanzadas Manejo de números complejos y sus diversas operaciones Aritmética, álgebra, operaciones para desarrollo de polinomios multivariados Límites, series y sucesiones Bases Groebner Álgebra diferencial Herramientas para la manipulación de matrices, incluyendo matrices dispersas Herramientas para gráficos y animaciones matemáticas Sistemas de solución para ecuaciones diferenciales en sus diferentes variedades (ODE, DAE, PDE, DDE) Herramientas simbólicas y numéricas para cálculo discreto y continuo, incluye integración definida e indefinida, diferenciación Optimización con restricciones y sin restricciones Herramientas estadísticas que incluyen adaptación a diversos modelos, pruebas de hipótesis y distribuciones probabilísticas Herramientas para la manipulación, visualización y análisis de datos Herramientas para la resolución de problemas en el campo de la probabilidad Herramientas para el uso de series de tiempo Conexión a datos en línea, recopilados para aplicaciones financieras y económicas Herramientas para cálculos financieros, incluyendo: bonos, anualidades, etc. Cálculos y simulaciones para procesos aleatorios Herramientas para el procesamiento de señales Herramientas para el desarrollo de sistemas lineales y no lineales Incluye matemáticas discretas Herramientas para visualizar y analizar gráficos Importación y exportación de filtros para datos, imágenes, sonido, CAD y documentos Procesamiento de texto, incluyendo fórmulas matemáticas Herramientas para agregar interfaces de usuario para el desarrollo de cálculos y aplicaciones Herramientas para conectarse a SQL, Java, .NET, C++, Fortran y http Herramientas para la generación de códigos en lenguajes C, C++, Fortran, Java, JavaScript, Julia, Matlab, Perl, Python, R y Visual Basic. Herramientas para programación paralela.

Versiones disponibles Maplesoft vende Maple tanto en versiones profesionales como de estudiantes. (En EE. UU. desde US$99 para estudiantes, hasta US$1995 en versiones profesionales).

Desde la versión 6 y más recientes, las versiones para estudiantes no tienen limitaciones en poder de cómputo, pero sí vienen con menos documentación impresa. La situación es bastante similar para el programa Mathematica.

En versiones anteriores a la 6, la versión de estudiante tenía las siguientes limitaciones:

Un máximo de uso de 100 dígitos en punto flotante para cálculos Un tamaño máximo de 8000 para cualquier objeto algebraico (8000 en objetos o largo de palabras máquina) Un máximo de 3 para los arreglos vectoriales (arrays)

Comandos en Maple Tipos de "árboles de expresión" en Maple Las funciones son reconocidas por Maple como árboles de expresión. Maple reconoce los siguientes tipos de funciones (o sea árboles de expresión): string, integer, fraction, float, '+', '*', indexed y function. Si se pretende saber qué tipo de árbol de expresión es una función, se puede escribir el comando whattype( ).

Supóngase que se tiene una función x^2+4*x+4, y se quiere saber qué tipo de árbol de expresión es para maple. Primero se escribe la función, y luego se usa el comando whattype: p:= x^2+4*x+4 whattype(p)

Si se quiere saber si una determinada función es un determinado árbol de expresión, se usa la función type( , ). Por ejemplo, se quiere saber si la función p:= x^2+4*x+4 es un entero (integer). Primero se escribe la función y luego se usa el comando type: p:= x^2+4*x+4 type(p, integer)

Escribir una función Supóngase una función igual a x^2+4*x+4, a la cual se llame p. En Maple se debe escribir: p:= x^2+4*x+4

Si se desea saber cuál es el valor de esa función cuando x es 3, se escribe: x:= 3 p;

Cabe destacar que si ya no se quiere usar el valor asignado a x, se lo puede borrar de la siguiente manera: x:= 'x'

Hallar la antiderivada o integral Supóngase que se tiene una función igual a x^2+4*x+4 llamada p. Se pretende encontrar la antiderivada. p:= x^2+4x+4 int(p,x) Maple mostrará la antiderivada. Obviamente int significa integral.

Las funciones nops y op La función nops es usada en Maple para determinar el número de operandos de una expresión. Por ejemplo, supóngase que se tiene la función x^2+4*x+4, y se quiere saber su cantidad de operandos. Primero se define la función y luego se le aplica el comando nops:

p:= x^2+4*x+4; nops(p); (arrojaría el valor 3)

La función op es utilizada para conocer el operando que está en una posición indicada. Por ejemplo, supóngase que se tiene la función x^2+4*x+4, y se quiere encontrar el segundo operando. Primero se define la función y luego se le aplica el comando op:

p:= x^2+4*x+4; op(2,p); (arrojaría el valor 4x)

Escribir un bucle (loop) Para crear un bucle, se debe seguir la siguiente estructura: [for "nombre de la expresión" ] [from "expresión" ] [by "expresión"] [to "expresión"] [while "expresión"] do "declaración de sequencia" end do [by "expresión"] por defecto es 1.

Supóngase que se quiere programar bucle que imprima los cuadrados del 1 al 10. La expresión en Maple sería: for i from 1 by 1 to 10 do print(i^2) end do;

Véase también Lista de programas de álgebra computacional

Enlaces externos Sitio web de Maplesoft Sitio web oficial Centro de Recursos Maplesoft

Categoría:Sistemas algebraicos computacionales Categoría:Software matemático Categoría:Software programado en C Categoría:Software multiplataforma Categoría:Software científico Categoría:Paquetes de software estadístico Categoría:Editores de gráficos vectoriales Categoría:Software educativo Categoría:Software para Linux Categoría:Entornos de desarrollo integrados para Windows Categoría:Software para macOS Categoría:Software de análisis numérico Categoría:Optimización de software Categoría:Software de física Categoría:Software de gráficos Categoría:Demostradores de teoremas Categoría:Software de simulación Categoría:Análisis de la regresión Categoría:Análisis de series temporales Categoría:Entornos de desarrollo integrados para Linux Categoría:Lenguajes interpretados Categoría:Software de visualización de datos e información