MAXIMA(1)

NAME
Maxima - Eine Common Lisp Version von MACSYMA, einem Programm für symbolische Mathematik, veröffentlicht unter der GNU Public License.

Rmaxima - Eine Version von Maxima, die Befehls-Autovervollständigung beherrscht.

Xmaxima - Eine Version von Maxima mit einem einfachen graphischen Benutzerinterface.

SYNTAX
maxima [Optionen]

rmaxima [Optionen]

xmaxima [Optionen]

BESCHREIBUNG
Maxima ist eine Version des am MIT entwickelten MACSYMA Systems, das unter Common Lisp läuft. Es ist ein interaktives Expertensystem und eine Programmierumgebung für symbolische und numerische Mathematik. Es ermöglicht Differentiation, Integration, die Lösung von linearen oder polynomiellen Gleichungen, Faktorisierung von Polynomen, Taylorreihen- oder Laurentreihen-Entwicklung von Funktionen, Berechnung von Poissionreihen, Matrizen- und Tensorberechnungen und 2D und 3D Graphiken. Prozeduren können in einer ALGOL-ähnlichen Syntax geschrieben werden und sowohl Lisp-ähnliche Funktionen als auch Pattern-Matching kann verwendet werden. Maxima-Code kann in Dateien geschrieben und aus Dateien gelesen werden. Maxima-Befehle in Dateien können gelesen und ausgeführt werden, was Batch-Prozessing ermöglicht.

OPTIONEN

-b file, --batch=file
    Führe Maxima-Datei file nicht-interaktiv aus.

--batch-lisp=file
    Führe Lisp-Datei file nicht-interaktiv aus.

--batch-string=string
    Führe die Befehle im String string nicht-interaktiv aus.

-d, --directories
    Gibt Informationen über die Maxima Verzeichnisstruktur aus.

--disable-readline
    Deaktiviert die Readline-Unterstützung.

-g, --enable-lisp-debugger
    Aktiviert den Lisp Debugger.

-h, --help
    Gibt eine kurze Nutzungsübersicht aus.

--init=string
    Lädt die Maxima- und Lisp-Initialisierungsdateien string.mac und string.lisp beim Programmstart.

--init-mac=file
    Lädt die Maxima-Initialisierungsdatei file beim Programmstart.

--init-lisp=file
    Lädt die Lisp-Initialisierungsdatei file beim Programmstart.

-l lisp, --lisp=lisp
    Verwendet die Lisp-Implementierung lisp für Maxima. Die Option --list-avail zeigt die möglichen Werte an.

--list-avail
    Listet die verfügbaren Lisp- und Maxima-Versionen auf.

-p lisp_file, --preload-lisp=lisp_file
    Lädt die Lisp-Datei lisp_file vorab.

-q, --quiet
    Unterdrückt die Ausgaben beim Programmstart.

-r string, --run-string=string
    Verarbeitet die Befehle im String string in einem interaktiven Modus.

-s port, --server=port
    Verbindet Maxima zum Server an Port port. Anmerkung: Das erzeugt keinen Maxima-Server, Maxima ist das Clientprogramm.

-u version, --use-version=version
    Startet Maxima Version version. Die Option --list-avail zeigt die möglichen Werte an.

--userdir=directory
    Verwendet directory als das Homedirectory (standardmässig %USERPROFILE%/maxima auf Windows, $HOME/.maxima bei anderen Betriebsystemen)

-v, --verbose
    Gibt zusätzliche Informationen des Maxima Startskripts aus.

--version
    Gibt die (default) installierte Version aus.

--very-quiet
    Unterdrückt Ausdrucksmarken und Startmeldungen.

-X Lisp-Optionen, --lisp-options=Lisp-Optionen
    Optionen, die an das verwendete Lisp weitergereicht werden.

--no-init, --norc
    Initialisierungsdateien beim Start nicht laden.

EINFÜHRENDE ANMERKUNGEN
Nach dem Start von maxima gibt Maxima eine Startmeldung aus, anschließend einen Kommandozeilenprompt:

(%i1)

Alle Maxima Befehle müssen abgeschlossen werden mit:

1)  einem Strichpunkt (in diesem Fall, wird das Ergebnis ausgegeben, ein %o mit einer laufenden Nummer wird vorher ausgegeben) oder mit

2)  einem Dollarzeichen (was die Ausgabe des Ergebnisses unterdrückt).

BEISPIEL

(%i1) diff(sin(x),x);

(%o1) cos(x)

(%i2) integrate(%o1,x);

(%o2) sin(x)

Eingaben, die gemacht werden, erzeugen Maxima Objekte (wie z.B. Funktionen und Variablen) und modifizieren diese Objekte.

Unter UNIX ist es vielleicht besser, Maxima unter Gnu Emacs or XEmacs zu betreiben. Das kann gemacht werden, indem in Emacs der Shell-Modus aufgerufen wird und anschließend maxima eingegeben wird. Oder - besser - maxima.el von der Maxima-Distribution installiert wird und das Kommando

    M-x maxima

eingegeben wird.

Der Hauptvorteil, wenn Maxima innerhalb von Emacs verwendet wird ist, daß eine vollständige Historie der Eingaben und Ausgaben zur Verfügung steht. Wenn der Befehl

    display2d: false

eingegeben wird, ist es möglich, die Ausgaben mit Cut&Paste weiterzuverwenden.

Lisp ist in Maxima eingebaut. Die Funktion to_lisp() schaltet in den Lisp-Modus, wo Lisp Befehle eingegeben und ausgewertet werden. Die Lisp Funktion (run) kehrt zu Maxima zurück. Alternativ können in einer Zeile Lisp-Befehle eingegeben werden, indem am Anfang der Zeile :lisp eingegeben wird.

EINGEBAUTE HILFE
Das Benutzerhandbuch von Maxima kann am Inputprompt abgerufen werden. Die Beschreibung eines Befehls oder einer Funktion wird durch

describe(command);

ausgegeben, oder einfacher:

? command

Der Befehl

?? command

durchsucht die Liste der Funktionen nach dem String command und gibt die Treffer aus. Es gibt einige Demo-Dateien, die vollständige Probleme, die mit Maxima gelöst werden, zeigen. Sie können mit folgendem Befehl gezeigt werden: demo(command);

Zusätzliche - von Benutzern beigesteuerte Programmdateien - für verschiedene Probleme sind vorhanden, die Share Bibliothek

WEITERE DOKUMENTATION
Das Handbuch von Maxima existiert in vielen Formaten, z.B. als HTML oder PDF Dokument.

KOMMANDOS FÜR ANFÄNGER

Diese Liste inkludiert Befehle, die ein Anfänger nützlich finden könnte, bevor das gesamte Benutzerhandbuch und weitere Dokumentation konsultiert wird.

batch("myfile");
    Führt den Inhalt der Datei myfile, aus, die Datei sollte Maxima-Kommandos beinhalten.

closefile("myfile");
    Schließt die Sitzung, die durch das writefile Kommando (siehe unten) begonnen wurde.

demo("myfile");
    Führt den Inhalt der Datei myfile, Schritt für Schritt aus (die Datei sollte Maxima-Kommandos) beinhalten.

functions;
    Gibt die Liste der derzeit definierten Funktionen aus.

infolists;
    Gibt die Liste der verfügbaren Informationslisten aus.

kill(objectlist);
    Löscht die Objekte, die als Argument angegeben werden. kill(all); Löscht alle Objekte, die durch den Benutzer erzeugt wurden, Maxima wird in den Startzustand versetzt.

quit();
    Beendet Maxima.

reset();
    Setzt alle Maxima Kontrollparameter auf den Standardwert.

values;
    Gibt die Liste der derzeit zugewiesenen Variablennamen aus.

writefile("myfile");
    Schreibt eine Sitzung der folgenden Kommandos in die Datei myfile; (nur eine Datei kann gleichzeitig geöffnet sein) und das closefile Kommando muß ausgeführt werden, bevor Maxima beendet wird, um die Datei ordnungsgemäß zu schließen.

PLOTTING BEFEHLE
Maxima kann 2D und 3-dimensionale Plots erzeugen. Hier ein einfaches Beispiel für einen 2D-Plot:

plot2d (sin(x), [x, -2*%pi, 2*%pi]);

und ein einfaches dreidimensionales Beispiel:

plot3d (2^(-u^2 + v^2), [u, -5, 5], [v, -7, 7]);

Standardmässig werden Plots mit Hilfe von gnuplot erzeugt. Es gibt weitere Möglichkeiten für Plots, siehe "? plot_options". Für weitere Informationen zu Plotting Funktionen siehe "? plot".

DATEIEN

/opt/local/lib/maxima/5.47.0/binary-lisp
    Compilierte Dateien der Lisp-Implementation lisp

/opt/local/info
    Haupt-Dokumentations-Directory, beinhaltet info-Dateien, die für den 'describe'-Befehl verwendet werden oder auch zur Anzeige in Emacs oder einem anderen Info-Anzeigeprogramm.

/opt/local/share/maxima/5.47.0/doc/html
    HTML Version der info-Dokumentation.

/opt/local/share/maxima/5.47.0/demo
    Maxima Demonstrations-Dateien.

/opt/local/share/maxima/5.47.0/emacs
    Elisp Dateien für Verwendung unter Emacs oder XEmacs.

/opt/local/share/maxima/5.47.0/share
    Externe Pakete.

/opt/local/share/maxima/5.47.0/doc/share
    Documentation für externe Pakete.

/opt/local/share/maxima/5.47.0/src
    Vollständiger Maxima-Quellcode.

/opt/local/share/maxima/5.47.0/tests
    Dateien der Testprogramme.

/opt/local/share/maxima/5.47.0/xmaxima
    Dateien für Xmaxima.

/opt/local/libexec/maxima/5.47.0/
    Maxima Hilfs-Skripte.

UMGEBUNGSVARIABLEN

MAXIMA_USERDIR
    Directory für benutzerspezifische Einstellungsdateien. Der standardmässige Suchpfad von Maxima beinhaltet MAXIMA_USERDIR. Standardwert: $HOME/.maxima.

MAXIMA_PREFIX
    Maxima sucht seine Eingabedateien im Verzeichnis, das zum Zeitpunkt der Compilierung konfiguriert wurde: /opt/local. Maxima kann in ein anderes Verzeichnis verschoben werden, solange das maxima Startskript die selbe relative Position wie die restlichen Maxima Dateien beibehält. Falls das maxima Skript unabhängig davon verschoben werden soll, muß MAXIMA_PREFIX zum Pfad der Maxima-Dateien zeigen.

MAXIMA_DIRECTORY
    MAXIMA_DIRECTORY ist äquivalent zu MAXIMA_PREFIX. Es ist nur aus Kompatiblitätsgründen zu alten Maxima-Versionen vorhanden.

Maxima verwendet diverse andere Umgebungsvariablen für die Kommunikation zwischen dem maxima Skript und dem Lisp-Abbild. Alle diese Variablen starten mit MAXIMA_. Eine Änderung durch den Benutzer sollte nicht notwendig sein.

EINSTELLUNGSDATEIEN

maximarc
    maximarc wird vom maxima Skript beim Start eingelesen. Es sollte im Verzeichnis, auf das die Variable $MAXIMA_USERDIR zeigt (siehe oben) vorhanden sein. maximarc kann verwendet werden,
     um beispielsweise die standardmässige Lisp-Implementation zu ändern, z.B. durch die Zeile "MAXIMA_LISP=cmucl"
     (um CMUCL Lisp auszuwählen).

maxima-init.lisp
    Beim Programmstart wird die Lisp-Datei maxima-init.lisp eingelesen, falls sie im Suchpfad gefuden wird. Für userspezifische Einstellungen sollte maxima-init.lisp im Verzeichnis $MAXIMA_USERDIR vorhanden sein (siehe oben). Maxima hat üblicherweise eine systemweite maxima-init.lisp Datei im Maxima 'share' Verzeichnis, man kann diese Datei in das $MAXIMA_USERDIR kopieren, um dort eigene Änderungen zu machen. Alternativ kann man eine Lisp-Initialisierungs-Datei mit den Kommandozeilenoptionen --init-lisp oder --init laden.

maxima-init.mac
    Beim Programmstart wird die Maxima-Datei maxima-init.mac eingelesen, falls sie im Suchpfad gefuden wird. Für userspezifische Einstellungen sollte maxima-init.mac im Verzeichnis $MAXIMA_USERDIR vorhanden sein (siehe oben). Maxima hat üblicherweise eine systemweite maxima-init.mac Datei im Maxima 'share' Verzeichnis, man kann diese Datei in das $MAXIMA_USERDIR kopieren, um dort eigene Änderungen zu machen. Alternativ kann man eine Maxima-Initialisierungs-Datei mit den Kommandozeilenoptionen --init-mac oder --init laden.

~/.xmaximarc
    Xmaxima speichert hier userspezifische Einstellungen.

~/.xmaxima_history
    Xmaxima speichert hier die Kommando-Historie.

REFERENZEN
Alte Refererenz: MACSYMA Reference Manual (volumes 1 and 2). The Mathlab Group, Laboratory for Computer Science, MIT. Version 10. January 1983.

Neuere Referenzen: https://maxima.sourceforge.io/de/

FEHLER
Maxima ist ein komplexes System. Es beinhaltet sowohl bekannte als auch unbekannte Fehler. Verwenden Sie es auf eigenes Risiko. Die Maxima-Fehlerdatenbank ist verfügbar unter: https://sourceforge.net/p/maxima/bugs/ Neue Fehlermeldungen (und -korrekturen) sind gern gesehen. Bitte inkludieren Sie die Ausgabe der Maxima-Funktion "build_info()" in die Meldung. Und sehen Sie zuvor nach, ob der Fehler nicht schon gemeldet wurde.

AUTOREN
MACSYMA (Project MAC's SYmbolic MAnipulation System) wurde entwickelt von der Mathlab group am MIT Laboratory for Computer Science (ursprünglich bekannt als Project MAC), während der Jahre 1969-1972. Die Arbeit wurde unterstützt durch die Zuschüsse NSG 1323 der National Aeronautics and Space Administration, N00014-77-C-0641 des Büros für Naval Research, ET-78-C-02-4687 des U.S. Department of Energy, und F49620-79-C-020 der U.S. Air Force. MACSYMA wurde weiterentwickelt, um auf UNIX Betriebssystemen verwendet zu werden (zur Verwendung auf DEC VAX Computern und Sun Workstations), durch Richard Fateman und Kollegen auf der University of California in Berkeley; diese Version von MACSYMA ist bekannt als VAXIMA. Die derzeitige Version hat ihre Ursprünge in den Weiterentwicklungen der Public Domain Version MIT MACSYMA for GNU Common Lisp, die von William Schelter, University of Texas in Austin bis 2001 betreut wurde. Es beinhaltet viele Erweiterungen und Verbesserungen zum Original. Die ursprüngliche Version dieser Manualseite wurde von R. P. C. Rodgers (UCSF School of Pharmacy, San Francisco, CA 94143 (rodgers@maxwell.mmwb.ucsf.edu) 1989 verfasst. Sie wurde erweitert von James Amundson in 2002. Die deutsche Übersetzung stammt von Wolfgang Dautermann. Maxima wird nun entwickelt und betreut vom Maxima Projekt auf Sourceforge. (https://maxima.sourceforge.io/de/)

SIEHE AUCH
wxmaxima(1)