Maxima se basa en una versión de 1982 de Macsyma , que fue desarrollada 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, es posible que el código que depende de estas mejoras no funcione 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 Internacional de Coordinación de Neuroinformática . [2]
Cálculos simbólicos
Como la mayoría de los sistemas de álgebra informática, Maxima admite una variedad de formas de reorganizar expresiones algebraicas simbólicas, como la factorización polinomial , el cálculo del máximo común divisor polinómico , la expansión, la separación en partes reales e imaginarias y la transformación de funciones trigonométricas a 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.
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 ampliarlo, ya que el Lisp subyacente se puede llamar desde Maxima. Utiliza gnuplot para dibujar.
Para cálculos que utilizan mucho punto flotante y matrices, Maxima tiene traductores del lenguaje Maxima a otros lenguajes de programación (en particular, Fortran ), que pueden ejecutarse de manera más eficiente.
wxMaxima [4] es una interfaz gráfica de alta calidad que utiliza el marco wxWidgets . wxMaxima proporciona una estructura de celdas similar a la del cuaderno de Mathematica, como se muestra en la figura de la derecha.
GMaxima es una interfaz de Maxima que utiliza GTK+ . [6]
Cantor , usando 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 GUI interactiva para Maxima, al igual que SageMath. Otras opciones incluyen la interfaz Imaxima, así como un modo de interacción Emacs y XEmacs que es activado por Imaxima.