Maxima (software) - Maxima (software)
|
Screenshot van Maxima, die de 2D-grafiek van een functie plot met het gnuplot-x11-pakket dat draait op Ubuntu Linux
| |
| Ontwikkelaar(s) | Macsyma-groep bij Project MAC en vrijwillige bijdragers |
|---|---|
| Eerste uitgave | 1982 |
| Stabiele vrijlating | 5.45.0 / 24 mei 2021
|
| Opslagplaats | |
| Geschreven in | Gemeenschappelijke Lisp |
| Besturingssysteem | Cross-platform |
| Type | Wiskundige software |
| Vergunning | GPL |
| Website | maxima |
Maxima ( / m æ k s ɪ m ə / ) is een computer algebra systeem (CAS) op basis van een 1982 versie van Macsyma . Het is geschreven in Common Lisp en draait op alle POSIX- platforms zoals macOS , Unix , BSD en Linux , evenals onder Microsoft Windows en Android . Het is gratis software die is vrijgegeven onder de voorwaarden van de GNU General Public License (GPL).
Geschiedenis
Maxima is gebaseerd op een versie van Macsyma uit 1982 , die is ontwikkeld aan het MIT met financiering van het Amerikaanse ministerie van Energie en andere overheidsinstanties. Een versie van Macsyma werd onderhouden door Bill Schelter van 1982 tot aan zijn dood in 2001. In 1998 kreeg Schelter toestemming van het ministerie van Energie om zijn versie onder de GPL uit te brengen. Die versie, die nu Maxima heet, wordt onderhouden door een onafhankelijke groep gebruikers en ontwikkelaars. Maxima bevat geen van de vele wijzigingen en verbeteringen die in 1982-1999 aan de commerciële versie van Macsyma zijn aangebracht. Hoewel de kernfunctionaliteit gelijk blijft, werkt code die afhankelijk is van deze verbeteringen mogelijk niet op Maxima, en bugs die in Macsyma zijn opgelost, kunnen nog steeds aanwezig zijn in Maxima en vice versa. Maxima nam in 2019 deel aan Google Summer of Code onder International Neuroinformatics Coordinating Facility .
Symbolische berekeningen
Zoals de meeste computeralgebrasystemen ondersteunt Maxima verschillende manieren om symbolische algebraïsche uitdrukkingen te reorganiseren, zoals polynomiale factorisatie , polynomiale grootste gemene delerberekening , expansie, scheiding in reële en imaginaire delen en transformatie van trigonometrische functies naar exponentieel en vice versa. Het heeft een verscheidenheid aan technieken voor het vereenvoudigen van algebraïsche uitdrukkingen met trigonometrische functies, wortels en exponentiële functies. Het kan symbolische antiderivaten ("onbepaalde integralen"), bepaalde integralen en limieten berekenen . Het kan gesloten vorm leiden reeksontwikkelingen alsmede termen van Taylor-Maclaurin - Laurent series. Het kan matrixmanipulaties uitvoeren met symbolische invoer.
Maxima is een systeem voor algemene doeleinden en berekeningen voor speciale gevallen, zoals factorisatie van grote getallen , manipulatie van extreem grote polynomen , enz., worden soms beter gedaan in gespecialiseerde systemen.
Numerieke berekeningen
Maxima is gespecialiseerd in symbolische bewerkingen , maar biedt ook numerieke mogelijkheden zoals willekeurige precisie integer , rationaal getal en drijvende-kommagetallen , alleen beperkt door ruimte- en tijdsbeperkingen.
Programmeren
Maxima bevat een complete programmeertaal met ALGOL- achtige syntaxis maar Lisp- achtige semantiek . Het is geschreven in Common Lisp en is programmatisch toegankelijk en uitgebreid, aangezien het onderliggende Lisp vanuit Maxima kan worden aangeroepen. Het gebruikt gnuplot om te tekenen.
Voor berekeningen waarbij veel gebruik wordt gemaakt van drijvende komma en arrays, heeft Maxima vertalers van de Maxima-taal naar andere programmeertalen (met name Fortran ), die mogelijk efficiënter kunnen worden uitgevoerd.
Interfaces
Voor Maxima zijn verschillende grafische gebruikersinterfaces (GUI's) beschikbaar:
- wxMaxima is een grafische front-end die gebruik maakt van wxWidgets .
- Er is een kernel voor Project Jupyter , een flexibele GUI in notebookstijl geschreven in Python .
- GMaxima is een Maxima-interface die gebruikmaakt van GTK+ .
- Cantor kan met behulp van Qt communiceren met Maxima (samen met SageMath , R en KAlgebra )
- De wiskundige bewerkingsprogramma's GNU TeXmacs en LyX kunnen worden gebruikt om Maxima een interactieve GUI te bieden, evenals SageMath. Andere opties zijn de Imaxima-frontend, evenals een Emacs- en XEmacs- interactiemodus die wordt geactiveerd door Imaxima.
- Kayali
- Climaxima, een op CLIM gebaseerde front-end.
Zie ook
- Vergelijking van computeralgebrasystemen
- SageMath , gratis wiskundesoftware die veel bibliotheken leent van Maxima
Referenties
Verder lezen
- Timberlake, Todd Keene; Mixon Jr., J. Wilson (2015). Klassieke mechanica met Maxima . springer. ISBN 978-1-4939-3206-1.