Maple (software)
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.
Maple | ||
---|---|---|
| ||
Información general | ||
Tipo de programa | Software matemático | |
Desarrollador | Maplesoft | |
Lanzamiento inicial | 1982 | |
Licencia | Propietario | |
Idiomas | Inglés | |
Información técnica | ||
Programado en | C, Java, Maple | |
Plataformas admitidas | x86, x86-64 | |
Versiones | ||
Última versión estable | 2019 ( 14 de marzo de 2019) | |
Archivos legibles | ||
| ||
Archivos editables | ||
| ||
Enlaces | ||
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 );
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
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
Enlaces externos
- (en inglés) Sitio web de Maplesoft
- (en inglés) Sitio web oficial
- Centro de Recursos Maplesoft