Zu der Distribution gehören eigentlich zwei Programme matrix und tkmatrix. Matrix ist ein Programm, das diverse Operationen auf Matrizen ausführen kann. Hierzu gehören Gaussalgorithmus, Jordanalgorithmus, Ausrechnen von Bild und Kern einer Matrix, Inverse, Nährungsverfahren, Determinante und ganze Reihe von Algorithmen zur Optimierung von Ungleichungssystemen. Tkmatrix ist eine Erweiterung des Programm matrix um eine graphische Benutzeroberfläche. Dabei ist tkmatrix kein backend sondern benutzt spezielprogrammierte Tcl-bibliothek. Matrizen gehören zu linearer Algebra, und sind der Stoff, damit die Professoren die armen Erstsemester quälen (z.B. Wirtschaftsinformatiker)
Vorsicht Das Programm ist vor allem für Lern- und Testzwecke bedacht. Deswegen wurde der Haupaugenmekt auf ausgiebige Protokolle der Zwischenschritte der Algorithmen gelegt. Alle Berechnungen können auch auf Bruchzahlen durchgeführt werden. Benutzen Sie, liebe Informatikfreude, das Programm nicht um irgendwelche sensible Daten zu berechnen. Für die Richtigkeit der Ergebnissen kann ich nicht garantieren, also benutzen Sie das Programm auf eigene Risiko.
Das Programm soll dabei helfen, das Erlernen von diesen Algorithmen zu erleichtern. Es ist kein Lernprogramm im engen Sinne, obwohl in dieser Hilfe-Datei alle Informationen enthalten sind, die man braucht, um die Algorithmen nachvollziehen zu können (d.h. Formel, ohne dazugehörige mathematische Beweise). Man kann es Benutzen, um die Richtigkeit seiner eigenen Rechnungen zu überprüfen. Dabei bleibt der mühsame Weg "per Hand Rechnen" nicht erspart, wenn man sich die Rechnenfertigkeiten aneignen möchte, um z.B. die bevorstehende Mathe I Klausur zu bestehen.
Benutzte Algorithmendefinitionen und Notationen entsprechen der Vorlesung von Wintersemester '95 UGH Essen Lineare Algebra für Wirtschaftsinformatiker. Weil es eine ganze Reihe von Notationen bezüglich Optimierungsverfahren gibt, werden sie genau beschrieben. Das Programm war auf allen Aufgaben aus der Vorlesung getestet und funktionierte einwandfrei.
Dieses Programm ist freie Software. Sie können es unter den Bedingungen ähnlich der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version. Es steht jedem frei zur Verfügung, kann modifiziert und weiter entwickelt werden. Kann aber nicht mit veränderten (beschränkten) Rechten weiter verbreitet werden. Bei Benutzung von Teilen des Programms soll der Autor (Artur Trzewik) explizit angegeben werden.
Insbesondere darf der Quelltext nicht vorbehalten werden. Das bezieht sich auch auf die Teile des Programms. Es darf nichtkommerziell verbreitet werden. Der Preis, der dafür verlangt wird, darf die Materialkosten nicht wesentlich Übersteigen, es darf damit kein Profit gemacht werden. Einzige Ausnahme sind Sammlungen von PD-Software, Freeware und Shareware auf CD-ROM.
Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE JEDE GEWÄHRLEISTUNG - sogar ohne die implizite Gewährleistung der MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
Die Vorgehensweise ist bei tkmatrix folgende.
Das Programm kann die Matrizen aus einer ASCII Datei lesen (diese Datei muß mit irgend einem Editor (z.B. emacs) oder tkmatrix erstellt werden matrixformat . Das Programm liest und verarbeitet die Matrix. Die Ergebnisse können auf dem Bildschirm oder in eine Datei in verschiedenen Formaten ausgegeben werden. Dabei kann nicht nur das Ergebnis aber auch die kommentierte Zwischenschritte betrachtet werden.
Das Format der Ausgabe kann mit Hilfe von Formatdateien gesteuert werden
Ein Beispiel:
matrix --algorithmus gauss --output matrix.html
--type html --protokoll gauss.mat
Verkürzt:
matrix -a 1 -o matrix.html -t html -p gauss.mat
Dieses veranlast das Programm matrix die Datei gauss.mat
zu
lesen. Auf die dem Gauss-Algorithmus anwenden und mit
Zwischenschritten in die Datei matrix.html
als Html Datei zu
speichern.