Maxima ( / ˈmæksɪmə / ) es un potente paquete de software para realizar cálculos de álgebra computacional en matemáticas y ciencias físicas. Está escrito en Common Lisp y se ejecuta en todas las plataformas POSIX como macOS , Unix , BSD y Linux , así como en Microsoft Windows y Android . Es software libre publicado bajo los términos de la Licencia Pública General de GNU (GPL).
Historia
Maxima se basa en una versión de 1982 de Macsyma , que se desarrolló en el MIT con financiación del Departamento de Energía de los Estados Unidos y otras agencias gubernamentales. Bill Schelter mantuvo una versión de Macsyma desde 1982 hasta su muerte en 2001. En 1998, Schelter obtuvo permiso del Departamento de Energía para publicar su versión bajo la GPL. Esa versión, ahora llamada Maxima, es mantenida por un grupo independiente de usuarios y desarrolladores. Maxima no incluye ninguna de las muchas modificaciones y mejoras realizadas a la versión comercial de Macsyma durante 1982-1999. Aunque la funcionalidad principal sigue siendo similar, el código que depende de estas mejoras puede no funcionar en Maxima, y los errores que se corrigieron en Macsyma aún pueden estar presentes en Maxima, y viceversa. Maxima participó en Google Summer of Code en 2019 bajo el Centro de coordinación internacional de neuroinformática . [2]
Cálculos simbólicos
Al igual que la mayoría de los sistemas de álgebra computacional, Maxima admite una variedad de formas de reorganizar expresiones algebraicas simbólicas, como factorización de polinomios , cálculo del máximo común divisor de polinomios , expansión, separación en partes reales e imaginarias y transformación de funciones trigonométricas en exponenciales y viceversa. Tiene una variedad de técnicas para simplificar expresiones algebraicas que involucran funciones trigonométricas, raíces y funciones exponenciales. Puede calcular antiderivadas simbólicas ("integrales indefinidas"), integrales definidas y límites . Puede derivar expansiones de series de forma cerrada , así como términos de series de Taylor-Maclaurin - Laurent . Puede realizar manipulaciones matriciales con entradas simbólicas.
Maxima es un sistema de propósito general y los cálculos de casos especiales como la factorización de números grandes , la manipulación de polinomios extremadamente grandes , etc. a veces se realizan mejor en sistemas especializados.
Cálculos numéricos
Maxima se especializa en operaciones simbólicas , pero también ofrece capacidades numéricas [3] como números enteros de precisión arbitraria , números racionales y números de punto flotante , limitados únicamente por restricciones de espacio y tiempo.
Programación
Maxima incluye un lenguaje de programación completo con sintaxis similar a ALGOL pero semántica similar a Lisp . Está escrito en Common Lisp y se puede acceder a él mediante programación y extenderlo, ya que se puede llamar al Lisp subyacente desde Maxima. Utiliza gnuplot para dibujar.
Para cálculos que utilizan predominantemente puntos flotantes y matrices, Maxima tiene traductores del lenguaje Maxima a otros lenguajes de programación (especialmente Fortran ), que pueden ejecutarse de manera más eficiente.
Interfaces

Hay varias interfaces gráficas de usuario (GUI) disponibles para Maxima:
- wxMaxima [4] es una interfaz gráfica de alta calidad que utiliza el marco wxWidgets . wxMaxima proporciona una estructura de celda similar al cuaderno de Mathematica, como se muestra en la figura de la derecha.
- Existe un núcleo para el Proyecto Jupyter , una GUI flexible, estilo notebook , escrita en Python . [5]
- GMaxima es una interfaz Maxima que utiliza GTK+ . [6]
- Cantor , utilizando Qt , puede interactuar con Maxima (junto con SageMath , R y KAlgebra ) [7]
- Los programas de edición matemática GNU TeXmacs y LyX se pueden utilizar para proporcionar una interfaz gráfica de usuario interactiva para Maxima, al igual que SageMath. Otras opciones incluyen la interfaz de usuario de Imaxima, así como un modo de interacción con Emacs y XEmacs que se activa mediante Imaxima.
- Kayali [8]
- Climaxima, [9] un front-end basado en CLIM . [10]
Ejemplos de código Maxima
Operaciones básicas
Aritmética de precisión arbitraria
bfloat ( sqrt ( 2 )), fpprec = 40 ;
Función
f ( x ) := x ^ 3 $
y ( 4 );
Expandir
expandir (( a - b ) ^ 3 );
Factor
factor ( x ^ 2 - 1 );
Resolver ecuaciones
resolver ( x ^ 2 + a * x + 1 , x );
Resolver ecuaciones numéricamente
buscar_raiz ( cos ( x ) = x , x , 0 , 1 );
bf_find_root ( cos ( x ) = x , x , 0,1 ) , fpprec = 50 ;
Integral indefinida
integrar ( x ^ 2 + cos ( x ), x );
Integral definida
integrar ( 1 / ( x ^ 3 + 1 ), x , 0 , 1 ), ratsimp ;
Integral numérica
quad_qags ( sin ( sin ( x )), x , 0 , 2 )[ 1 ];
Derivado
diff ( cos ( x ) ^ 2 , x , 3 );
Límite
límite (( 1 + sinh ( x )) / exp ( x ), x , inf );
Teoría de números
primos ( 10 , 20 );
fibra ( 10 );
Serie
suma ( 1 / x ^ 2 , x , 1 , inf ), suma simple ;
Expansión de la serie
taylor ( sin ( x ), x , 0 , 9 );
niceindices ( series de potencias ( cos ( x ), x , 0 ));
Funciones especiales
bessel_j ( 0 , 4.5 );
aireado_ai ( 1.5 );
Véase también
- Comparación de sistemas de álgebra computacional
- SageMath , un software de matemáticas gratuito que toma prestadas muchas bibliotecas de Maxima
Referencias
- ^ "Anunciamos la versión 5.47.0". 1 de junio de 2023. Consultado el 2 de junio de 2023 .
- ^ «GSOC 2019 finalizó con éxito » Neuroinformática belga».
- ^ Barnes, David J. y Chu, Dominique (2010). "Capítulo 5". Introducción al modelado para biociencias . Springer . ISBN 978-1-84996-325-1.
- ^ "wxMaxima, una interfaz basada en documentos para el sistema de álgebra computacional Maxima" . Consultado el 29 de noviembre de 2021 .
- ^ "Maxima-Jupyter". GitHub . 13 de octubre de 2021.
- ^ "GMaxima:: Inicio". Archivado desde el original el 28 de julio de 2018. Consultado el 2 de abril de 2014 .
- ^ "Cantor". cantor.kde.org . Consultado el 15 de enero de 2020 .
- ^ "Descargar Kayali". SourceForge . 19 de abril de 2013 . Consultado el 31 de mayo de 2015 .
- ^ "Flathub: una tienda de aplicaciones y un servicio de compilación para Linux". flathub.org . Consultado el 27 de septiembre de 2019 .
- ^ Mårtenson, Elias (27 de agosto de 2019), GitHub - lokedhs/maxima-client: cliente Maxima. , recuperado el 27 de septiembre de 2019
Lectura adicional
- Timberlake, Todd Keene; Mixon Jr., J. Wilson (2015). Mecánica clásica con máximas . Springer. ISBN 978-1-4939-3206-1.
Enlaces externos
- Sitio web oficial
- wxMáxima