Maxima ein OpenSource Computer-Algebra-System (CAS)

Maxima ist ein CAS welches über das Terminal gestartet und bedient wird. Wir haben uns dem Problem angenommen und eine Binary Version von Maxima gebaut, da bisher eine solche nicht verfügbar war! Also hab ich Maxima aus dem Quellcode kompiliert und als ein pkg verpackt, dadurch kann nun Maxima leicht unter Mac OS X installiert werden. Für alle die nicht genau wissen was ein CAS ist, werden das innerhalb des Artikels noch erfahren, eines sei gesagt, ein CAS ist ein sehr umfangreicher “Taschenrechner”. Das etwas in die Jahre gekommene Logo habe ich auch angepasst.

Maxima Icon (4pple.de Version) Maxima Icon (offical Version)

Der Artikel gliedert sich in zwei Hälften: In der ersten Hälfte zeige ich ein kleines Einstiegstutorial zu Maxima sowie die “einfache” Installation mit den 4pple.de Installationspaketen. Die zweite Hälfte soll Aufschluss darüber geben, wie diese Pakete entstanden sind, vom Sourcecode zum einfachen nativen Mac OS X Installationspaket (pkg).

CAS Grundlagen. Die Abkürzung CAS steht für Computer-Algebra-System (http://de.wikipedia.org/wiki/Computer-Algebra-System). Ein CAS ist ein wichtiges Hilfsmittel in der Mathematik sowie diversen Naturwissenschaften (Physik, Chemie etc.), da es nicht nur einfache Rechenoperationen wie ein Taschenrechner durchführen kann, sondern auch Aufgaben (z.B. Gleichungen) mit Variablen lösen kann und diese nach Euklid gerecht darstellen kann.

Maxima CAS installieren. Da ich einen nativen Mac OS X Installer für Maxima gebaut habe, ist dies auch sehr einfach geworden … Weiter, Weiter klicken und Maxima ist betriebsbereit. Eines sei vorweggenommen, Maxima ist ein UNIX Programm d.h. es wird nicht in den Applications (zu dt. Programme) Ordner installiert sondern in die eigentliche UNIX-Verzeichnishierarchie, diese ist idR. unsichtbar. Es werden zwei Installationspakete benötigt, damit Maxima läuft: Zum einen SBCL (Lisp Distribution) und Maxima, diese sind bewusst getrennt, falls man eines schon installiert hatte. Da ich leider keinen PowerPC Mac besitze, kann ich (vorerst) kein PPC Paket anbieten!

Mac OS X Installationspakete laden.

Maxima starten & ein paar Befehle. Als erstes ein Terminal öffnen, zu finden in (Finder Tastenkombination “Shift+Apfel+G”) /Applications/Utilities -> Terminal. Jetzt in das Terminal “maxima” eintippen und schon startet die Anwendung innerhalb des Terminals und kann benutzt werden.

Maxima Mac OS X Terminal

Jetzt kann man maxima mit Befehlen füttern – das rechnen kann also beginnen. Auf der offiziellen Webseite gibt es eine Dokumentation für alle Funktionen des Programmes: http://maxima.sourceforge.net/docs.shtml (en) oder ein deutsches Tutorial http://maxima.sourceforge.net/docs/tutorial/de/maxima-einfuehrung.pdf. Aber hier noch ein paar kleine “Allgemeinbefehle”.

  • Allgemein: + – * / ^ – Grundrechenarten | % – Platzhalter für letzes Ergebnis | ; – Ende einer Zeile (nicht vergessen!)
  • Gleichung nach Variable auflösen: solve( Gleichung, Variable ); *** Beispiel: solve( x^2 = 9, x);
  • Funktion differenzieren: diff( Funktion, Variable, Ableitung); *** Beispiel: diff( x^2 + 3*x +1, x, 1 );
  • Funktion integriere: integrate( Funktion, Variable, von, bis); *** Beispiel: integrate( x^2, x, 0, 3);
  • Funktion definieren: Name(Variable) := Funktion; *** Beispiel: f(x) := x^2 + 2;
  • Dezimalstellen anzeigen: float(irrationale Zahl); *** Beispiel: float(sqrt(2));

An dieser Stelle ist der erste Teil zu Ende. Jetzt widmen wir uns der Frage, wie ich diese Pakete gebaut habe und wie maxima aus dem Quellcode gebaut wurde.

XCode Installation. Als allererstes muss XCode installiert werden, das ist auf der ersten Installations-DVD von Mac OS X zu finden. Bemerkung: XCode braucht ca. 1,5 GB Festplattenspeicher und wird in /Developer installiert. Nach der Installation ist euch Mac bereit Quellcode in Maschinencode zu übersetzen und damit für den Benutzer nutzbar zu machen.

Maxima kompilieren. Als allererstes muss man sich den aktuellen Quellcode von http://maxima.sourceforge.net/ besorgen ihn entpacken und dann kann es losgehen! Als erstes ein Terminal öffnen und mit dem Befehl “cd” zum Verzeichnis des entpackten Quellcodes wechseln dort das Konfigurationsskript “./configure” ausführen. Man beachte vorher ein Lisp wie SBCL installiert zu haben, sonst kann ./configure nicht erfolgreich beendet werden. Wenn alles erfolgreich Konfiguriert wurde, kann man mit “make” den Quellcode bauen. Mit “sudo make install” werden die gebauten Dateien in die UNIX-Hierarchie kopiert.

Paket schnüren & DMG. Als letzes habe ich mir die Dateien, die zu Maxima gehören, aus meiner UNIX-Hierarchie herausgesucht (Stichwort: make install log) und auf mein Desktop kopiert (in der exakt gleichen Verzeichnisstruktur). Jetzt mit dem PackageMaker (/Developer/Applications/Utilities) Programm aus XCode das ganze als pkg verpacken. Es ist darauf zu achten, die richtigen Rechte an die Dateien innerhalb des Pakets (einstellbar mit PackageMaker) zu verteilen, sonst kann das pkg nicht installiert werden! Mit dem Festplattendienstprogramm kann nun eine dmg erstellt werden: Ablage > Neu > Image von Ordner …, es ist darauf zu achten, dass das pkg vorher in einen Ordner gesteckt wird (der Ordnername ist gleichzeitig der Mountname des dmg).

Icon download (PSD, PNG, ICNS). Wer möchte kann sich das neue Icon runterladen. http://download.4pple.de/4pple.de_new_maxima_icon_psd_png_icns.zip.

Es kann sich gerne der Diskussion auf Apfeltalk angeschlossen werden: http://www.apfeltalk.de/forum/maxima-opensource-computer-t86390.html

Anmerkung: Ich bin momentan dabei wxMaxima (GUI für Maxima) zum laufen zu bekommen, aber es will noch nicht so recht klappen wie es soll … ich habe die Vermutung, dass das hier eingesetzte Lisp nicht so recht mit wxMaxima kann.

Der Artikel „Maxima ein OpenSource Computer-Algebra-System (CAS)“ wurde von Sven verfasst und am 24.06.2007 um 18:10 Uhr unter der Kategorie Software, Terminal, Wissenschaftlich veröffentlicht. Dieser RSS 2.0 Feed informiert über die neusten Kommentare. Über einen Kommentar, oder Trackback würde ich mich freuen.

13 Kommentare zu „Maxima ein OpenSource Computer-Algebra-System (CAS)“

  1. [...] Leute haben Probleme beim ausführen, des von uns veröffentlichten maxima-binary. Es gibt dafür eine einfache Erklärung: Maxima wird in /usr/local/bin installiert, dieses aber [...]

  2. Sven sagt:

    Solle euer maxima nicht starten, könnte dieses Workaround helfen: http://4pple.de/index.php/wenn-maxima-nicht-will/

  3. Gibt es in der Installer-Version auch die Oberfläche wxMaxima? Eine Schülerin von mir bräuchte diese.

  4. Sven sagt:

    Ich habe bereits wxMaxima aus dem Quellcode gebaut, dieses kann momentan leider noch keine Verbindung zu Maxima herstellen, da es mit der hier verwendeten Lisp Implementation nicht zurecht kommt.

    Ich werde, sobald ich Zeit finde, Maxima mit einem anderen Lisp bauen welches dann hoffentlich mit wxMaxima harmoniert!

  5. kusmi sagt:

    wxMaxima oder auch plain-vanilla maxima lässt sich auch über fink installieren:

    fink.sf.net

    Wenn jemand noch nicht fink benutzt hat, damit lassen sich allerlei UNIX tools benutzen – mit dem Vorteil, dass nichts tief ins System geschrieben wird. Alles wir in einem eigenen Ordner (/sw) geschrieben und lässt sich dort auch einfach wieder löschen.

    Also, wie bekommt man wxMaxima zum laufen?
    1.) Fink runterladen (http://www.finkproject.org/download/)
    2.) Fink installieren
    3.) FinkCommander in Applikations-Ordner ziehen
    4.) FinkCommander öffnen und zuerst mal unter Preferences->Fink die “unstable” packages selektieren
    5.) Dann Source->Selfupdate ausführen
    6.) oben rechts im Suchfeld “wxmaxima” eintippen
    7.) wxmaxima-mac auswählen und mit rechter Muastaste: Source->Install
    8.) Dann zu allem “ja” sagen
    9.) warten…
    10.) Wird installiert und legt einen Link in den Applikation Ordner
    11.) wxMaxima mit doppelklick starten
    12.) Rechnen :-)
    13.) Es gibt keinen Schritt 3… :-) (Sorry doch recht kompliziert…)

  6. Wahoo sagt:

    Thank you for sharing!

  7. Frank Ritter sagt:

    Leider funktioniert die Fink-Installation nicht einwandfrei. Die Darstellung der Formeln ist merkwürdig. Außerdem lassen sie sich nicht wie in der Windowsinstallation in eine Dokument übertragen.

    Vor allem habe ich Probleme mit der gnuplot-Ausgabe, die nur eingebettet funktioniert?

    Es wäre toll, wenn sich Fachmänner an ein dmg-Installation wagen würden.

    Grüße

    Frank Ritter

  8. Weiß jemand, wie man die Command-History auf die Cursor-Tasten legt?
    Cursortasten führen bei mir nur zur Anzeige von ^[[A bis ^[[D

    Grüße

    FB

  9. Jens sagt:

    Hallo,
    ich würde gern Maxima aus einem eigenen, kleinen Programm ansprechen und ihm Daten übergeben um z.B. lineare Gleichungssysteme lösen zu lassen.
    Kann mir jemand erklären wie man solche Daten an den Kern von Maxima schicken kann und die Ergebnisse ausliest.

    Danke und Grüße

    Jens

  10. Sven sagt:

    Leider kann ich dir nicht helfen. Höchstens jemand anderes … daher würde ich dir die Maximamailingliste empfehlen: http://maxima.sourceforge.net/maximalist.html

    Gruß,
    Sven

  11. Jens sagt:

    Danke für den Tipp Sven. Vielleicht finde ich dort eine Antwort.

    Gruß Jens

  12. Coti sagt:

    Thank you for Maxima! On “tiny” request: could we have a binary that will recognize all kernels in machines with 2, 4, 8 kernels? Anyway, excellent work!

    Danke schön,

    José

  13. Philipp sagt:

    Auf der Maxima-Sourceforge-Seite gibt es für Intel-basierte Macs mittlerweile eine maxima-Distribution, die wxmaxima direkt enthält.

Kommentar hinterlassen