Dokumentation zu MATRIX München, den 6 Februar 1994 Inhalt ====== MATRIX.def Definitionsmodul von MATRIX.mod MATRIX.mod Modul MATRIX enthält alle Prozeduren um mit Matrizen zu arbeiten MATRIX.dok diese Dokumentation MATRIXTest Beispielprogramm wie man MATRIX anwendet MATRIXTest wurde mit Garbage-Collector compiliert MATRIXTest.mod Quelltext zu MATRIX.mod und für jedes File ein Icon Einleitung ========== Da Matrizen das Standardwerkzeug für viele mathematische Aufgaben darstellen habe ich dieses Modul geschrieben. Es erleichtert den Umgang mit Matrizen erheblich. Man kann alle gängigen Matriz-Operationen finden. Ich habe versucht dieses Modul vom Aufbau her an das VECTOR-Modul von Fridtjof Siebert anzulehnen, welches dem Amiga Oberon-2 Compiler beiliegt. Meine Informationen über Matrizen habe ich aus dem Buch "Taschen- buch der Mathematik" von Wörle/Rumpf bezogen und natürlich aus meiner Schulzeit und meinem Studium. Beschreibung ============ Dieses Modul stellt Typen für die Elemente der Matrizen zur Verfügung. MATRIXDesc ist als eine Erweiterung von BasicTypes.GROUPDesc definiert. Die Prozeduren aus MATRIX: PROCEDURE Create(m, n: LONGINT): MATRIX; Es wird ein neues Matrix-Object mit den Dimensionen m und n erzeugt. Ihm wird die NullMatrix zugewiesen. PROCEDURE NeutralMatrix(m: LONGINT): MATRIX; Wie Create, außer daß ein quadratisches Matrix-Objekt erzeugt wird und die Hauptdiagonale mit Einsen besetzt wird. PROCEDURE (a:MATRIX) Get(m, n: LONGINT): LONGREAL; PROCEDURE (a:MATRIX) Put(m, n: LONGINT; x: LONGREAL); Diese Funktionen lesen Elemente der Matrix aus oder ein. Die Koor- dinaten m und n müssen zwischen 0 und a.DimM()-1 b.z.w. a.DimN()-1 liegen. PROCEDURE (a:MATRIX) DimM(): LONGINT; PROCEDURE (a:MATRIX) DimN(): LONGINT; Mit diesen Prozeduren erhält man die Dimension der Zeilen ( DimN() ) und der Spalten ( DimM() ). PROCEDURE (a:MATRIX) Add(b: BT.GROUP): BT.GROUP; PROCEDURE (a:MATRIX) Sub(b: BT.GROUP): BT.GROUP; Addieren und subtrahieren von zwei Matrizen a und b. PROCEDURE (a:MATRIX) Mul(b: BT.GROUP): BT.GROUP; Multiplizieren von zwei Matrizen a und b. Die Dimension der Ergebnis- matix c ist c.DimM() = a.DimM() und c.DimN() = b.DimN(). PROCEDURE (a:MATRIX) SkalarMul(r: LONGREAL): BT.GROUP; Multiplikation jedes Elements mit dem Skalar r. PROCEDURE (a:MATRIX) isEqual(b: BT.COMPAREABLE): BOOLEAN; Vergleicht Dimensionen von a und b. Sind beide Dimensionen gleich werden alle dementsprechende Elemente verglichen. PROCEDURE (a:MATRIX) isDimEqual(b: BT.COMPAREABLE): BOOLEAN; Vergleicht nur Dimensionen von a und b. PROCEDURE (a:MATRIX) TransposeMatrix(): BT.GROUP; Matrix a wird transponiert. PROCEDURE (a:MATRIX) Neg(): BT.GROUP; Es wird die Kehrmatrix oder Inverse gebildet. PROCEDURE (a:MATRIX) Gauss(): BT.GROUP; Quadratische Matrix a wird zur quadratischen Dreiecksmatrix. PROCEDURE (a:MATRIX) Det(): LONGREAL; Es wird die Determinante einer quadratischen Matrix a berechnet. PROCEDURE (a:MATRIX) Norm(): LONGREAL; Wie Det(). PROCEDURE (a:MATRIX) Compare(b: BT.COMPAREABLE): LONGINT; Es werden die Determinanten von Matrix a und b verglichen. Kopierrechte ============ Diese Archiv ist FREEWARE, was im folgenden bedeutet: - Alle Dateien dürfen nur als komplettes Archiv mit dem kompletten (!) Inhalt kopiert werden. - Falls Sie dieses Modul benutzen machen Sie einen Vermerk in die Dokumentation Ihrer Software. - Der Vertreiber dieser Software hat keine Rechte auf diese Software, alle Rechte verbleiben bei dem Autor - Falls Sie die von Ihnen erstellte Software kommerziell vertreiben und das hier beschriebene Modul teilweise oder komplett Verwendung findet, wenden Sie sich wegen einer Vergütung an den Autor. Garantie ======== Der Autor übernimmt keine Garantie für die korrekte Funktionsweise dieses Moduls. Autor ===== Sackpost: E-Mail: Michael Meyer Z-Netz: M.MEYER@AMC.ZER.SUB.ORG Würmseestrasse 28 Fido: Michael Meyer 2:2480/21.100 81476 München Fehler ====== bis jetzt keine bekannt Geschichte ========== V1.0 erste veröffentlichte Version