Articulo de referencia

Máxima (software)

Maxima ( / ˈ m æ k s ɪ m ə / ) es un paquete de software libre y de código abierto para realizar cálculos de álgebra computacional en matemáticas y ciencias físicas. Está escrit...

Maxima ( / ˈ m æ k s ɪ m ə / ) es un paquete de software libre y de código abierto 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 distribuido bajo los términos de la Licencia Pública General de GNU (GPL).

Historia

Maxima se basa en una versión de Macsyma de 1982 , 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 fallecimiento en 2001. En 1998, Schelter obtuvo permiso del Departamento de Energía para publicar su versión bajo la licencia GPL. Dicha versión, ahora llamada Maxima, es mantenida por un grupo independiente de usuarios y desarrolladores. Maxima no incluye ninguna de las numerosas modificaciones y mejoras realizadas a la versión comercial de Macsyma entre 1982 y 1999. Si bien la funcionalidad principal sigue siendo similar, el código que depende de estas mejoras podría no funcionar en Maxima, y ​​los errores corregidos en Macsyma podrían persistir en Maxima, y ​​viceversa. Maxima participó en Google Summer of Code en 2019 bajo el marco de la International Neuroinformatics Coordinating Facility . [ 2 ]

Cálculos simbólicos

Al igual que la mayoría de los sistemas de álgebra computacional, Maxima admite diversas formas de reorganizar expresiones algebraicas simbólicas, como la factorización de polinomios , el cálculo del máximo común divisor de polinomios , la expansión, la separación en partes real e imaginaria y la transformación de funciones trigonométricas a exponenciales y viceversa. Cuenta con diversas 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 en serie de forma cerrada , así como términos de series de Taylor-Maclaurin - Laurent . Puede realizar manipulaciones de matrices 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 el Lisp subyacente se puede llamar desde Maxima. Utiliza gnuplot para el dibujo.

Para cálculos que utilizan intensivamente números de coma flotante y matrices, Maxima dispone de traductores del lenguaje Maxima a otros lenguajes de programación (en particular Fortran ), que pueden ejecutarse de forma más eficiente.

Interfaces

Captura de pantalla de la interfaz wxMaxima para Maxima.

Las distintas interfaces gráficas de usuario (GUI) para Maxima son:

  • wxMaxima [ 4 ] es una interfaz gráfica de alta calidad que utiliza el marco de trabajo wxWidgets . wxMaxima ofrece una estructura de celdas similar a la de un cuaderno de Mathematica, como se muestra en la figura de la derecha. Las sesiones en wxMaxima se pueden guardar en diversos formatos de archivo para su uso posterior.
  • Existe un núcleo para Project Jupyter , una interfaz gráfica de usuario flexible, estilo notebook , escrita en Python . [ 5 ]
  • Cantor , usando Qt , puede interactuar con Maxima (junto con SageMath , R y KAlgebra ) [ 6 ].
  • Los editores matemáticos GNU TeXmacs y LyX pueden utilizarse para proporcionar una interfaz gráfica interactiva a Maxima, al igual que SageMath. Otras opciones incluyen la interfaz Imaxima, así como un modo de interacción con Emacs y XEmacs que se activa mediante Imaxima.
  • Climaxima [ 7 ] es una interfaz basada en CLIM . [ 8 ]
  • El sistema de evaluación en línea STACK [ 9 ] incorpora Maxima y proporciona una interfaz web.

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 $f ( 4 );

64{\displaystyle 64}

Expandir

expandir (( a - b ) ^ 3 );

b3+3ab23a2b+a3{\displaystyle -b^{3}+3ab^{2}-3a^{2}b+a^{3}}

Factor

factor ( x ^ 2 - 1 );

(incógnita1)(incógnita+1){\displaystyle (x-1)(x+1)}

Resolver ecuaciones

incógnita2+a incógnita+1=0{\displaystyle x^{2}+a\ x+1=0}

resolver ( x ^ 2 + a * x + 1 , x );

[incógnita=(a24+a2),incógnita=a24a2]{\displaystyle [x=-{\Biggl (}{\frac {{\sqrt {a^{2}-4}}+a}{2}}{\Biggr )},x={\frac {{\sqrt {a^{2}-4}}-a}{2}}]}

Resolver ecuaciones numéricamente

porqueincógnita=incógnita{\displaystyle \cos x=x}

encontrar_raíz ( cos ( x ) = x , x , 0 , 1 );

0,7390851332151607{\displaystyle 0,7390851332151607}

bf_find_root ( cos ( x ) = x , x , 0 , 1 ), fpprec = 50 ;

7.3908513321516064165531208767387340401341175890076101{\displaystyle 7.3908513321516064165531208767387340401341175890076\cdot 10^{-1}}

Integral indefinida

incógnita2+porqueincógnita dincógnita{\displaystyle \int x^{2}+\cos x\ dx}

integrar ( x ^ 2 + cos ( x ), x );

pecadoincógnita+incógnita33{\displaystyle \sin x+{\frac {x^{3}}{3}}}

Integral definida

011incógnita3+1dincógnita{\displaystyle \int _{0}^{1}{\frac {1}{x^{3}+1}}\,dx}

integrar ( 1 / ( x ^ 3 + 1 ), x , 0 , 1 ), ratsimp ;

3registro2+π332{\displaystyle {\frac {{\sqrt {3}}\log 2+\pi }{3^{\frac {3}{2}}}}}

Integral numérica

02pecado(pecado(incógnita))dincógnita{\displaystyle \int _{0}^{2}\sin(\sin(x))\,dx}

quad_qags ( sin ( sin ( x )), x , 0 , 2 )[ 1 ];

1.247056058244003{\displaystyle 1.247056058244003}

Derivado

d3dincógnita3porque2incógnita{\displaystyle {d^{3} \over dx^{3}}\cos ^{2}x}

diferencia ( cos ( x ) ^ 2 , x , 3 );

8porqueincógnitapecadoincógnita{\displaystyle 8\cos {x}\sin {x}}

Límite

límiteincógnita1+sinhincógnitamiincógnita{\displaystyle \lim _{x\to \infty }{\frac {1+\sinh {x}}{e^{x}}}}

límite (( 1 + sinh ( x )) / exp ( x ), x , inf );

12{\displaystyle {\frac {1}{2}}}

teoría de números

primos ( 10 , 20 );

[11,13,17,19]{\displaystyle [11,13,17,19]}

fib ( 10 );

55{\displaystyle 55}

Serie

incógnita=11incógnita2{\displaystyle \sum _{x=1}^{\infty }{\frac {1}{x^{2}}}}

suma ( 1 / x ^ 2 , x , 1 , inf ), suma simple ;

π26{\displaystyle {\frac {\pi ^{2}}{6}}}

Expansión de la serie

taylor ( sin ( x ), x , 0 , 9 );

incógnitaincógnita36+incógnita5120incógnita75040+incógnita9362880{\displaystyle x-{\frac {x^{3}}{6}}+{\frac {x^{5}}{120}}-{\frac {x^{7}}{5040}}+{\frac {x^{9}}{362880}}}

niceindices ( powerseries ( cos ( x ), x , 0 ));

i=0(1)iincógnita2i(2i)¡{\displaystyle \sum _{i=0}^{\infty }{\frac {(-1)^{i}x^{2i}}{(2i)!}}}

Funciones especiales

bessel_j ( 0 , 4.5 );

0,3205425089851214{\displaystyle -0,3205425089851214}

airy_ai ( 1.5 );

0,07174949700810543{\displaystyle 0,07174949700810543}

Véase también

Referencias

  1. "Anunciando Maxima 5.49" .
  2. "GSOC 2019 finalizado con éxito » Neuroinformática belga" . Archivado del original el 24 de julio de 2021. Consultado el 25 de febrero de 2021 . 
  3. Barnes, David J. y Chu, Dominique (2010). «Capítulo 5». Introducción al modelado para biociencias . Springer . ISBN 978-1-84996-325-1.
  4. "wxMaxima, una interfaz basada en documentos para el sistema de álgebra computacional Maxima" . Consultado el 29 de noviembre de 2021 .
  5. «Maxima-Jupyter» . GitHub . 13 de octubre de 2021.
  6. "Cantor" . cantor.kde.org . Consultado el 15 de enero de 2020 .
  7. "Flathub: una tienda de aplicaciones y un servicio de compilación para Linux" . flathub.org . Consultado el 27 de septiembre de 2019 .
  8. ^ Mårtenson, Elias (27 de agosto de 2019), GitHub - lokedhs/maxima-client: Cliente Maxima. , recuperado el 27 de septiembre de 2019
  9. "El sistema de evaluación en línea STACK" . stack-assessment.org . Consultado el 31 de marzo de 2026 .

Lecturas adicionales

  • Timberlake, Todd Keene; Mixon Jr., J. Wilson (2015). Mecánica clásica con máximos . Springer. ISBN 978-1-4939-3206-1.
  • Sitio web oficial
  • wxMaxima