Hauptübersicht

Klasse Matrix

Klasse Matrix
vgl. Menü: Einfügen -- Matrix
Matrix(v): v Liste von gleichlangen Listen,
Beispiel:
Matrix([[11,12,13],[21,22,23]])
Die Klasse Matrix ist abgeleitet von Vector:
Ein Matrix-Objekt ist ein Vector von gleichlangen Vector-Objekten.
Die Elemente können mit Doppelindizes (z.B.: A[i,k]) angesprochen werden. Indizes werden (wie in Python-Listen etc.) ab 0 gezählt.
vgl. Klassenmethoden mit Matrix.

Basisklasse: Vector

Übersicht:

Konstruktor

Matrix (v)

Klassenmethoden (statische Methoden)

MethodeBedeutung
fromFunction (m, n, fn, offset=0)Durch Funktion fn berechnete m*n-Matrix
fromString (s)Matrix aus String
identity (n)n*n-Einheitsmatrix
null (m, n=0)m*n-Nullmatrix
random (m,n=0, r=100)m*n-Matrix mit Zufallswerten 0..r-1

Operatoren

OperatorBedeutung
x + yMatrix addition operator
x[i] Counts from 0 A[i] à i-th row vector A[i,k] à element in i-th row, k-th column
~x
x * yScalar or matrix multiplication
-x
str(x)
x[i] = y Counts from 0 A[i] à i-th row vector A[i,k] à element in i-th row, k-th column
x - yMatrix subtraction operator

Objektmethoden

MethodeBedeutung
adjoint ()Adjungierte Matrix
cofactor (i, k)Kofaktor zur Zeile i und der Spalte k
colRange ()Liste aller Spaltenindizes
complement (i, k)Matrix ohne die Zeile i und die Spalte k
copy ()unabhängige Kopie der Matrix A
det ()Determinante der Matrix A
float ()gibt die Matrix A zurück, in der alle Elemente nach float konvertiert sind
gaussElim (jordan=True)Zeilenstufenform der Matrix A.
gramSchmidt (normalize=False)Gram-Schmidt'sches Orthogonalisierungsverfahren.
height ()Anzahl der Zeilen der Matrix A
inverse ()Inverse Matrix A
isSquare ()Wahrheitswert (A quadratisch)
joinBottom (B)Vertikale Verkettung von A mit B
joinRight (B)Horizontale Verkettung von A mit B
leastSquares (b)Lösung der Normalgleichung
lup ()LRP-Zerlegung (LUP decomposition) der Matrix
minor (i, k)Minor zur Zeile i und der Spalte k
operators ()Nur zur Dokumentation
rank ()Rang der Matrix A
rowRange ()Liste aller Zeilenindizes
solve (b)Lösung x des linearen Gleichungssystems Ax = b
str (i,k)String-Darstellung des Elements [i,k]
submatrix (i, k, m, n)m*n-Untermatrix (Zeilen i..i+m-1, Spalten k..k+n-1)
transp ()berechnet die Transponierte der Matrix A
width ()Anzahl der Spalten der Matrix A

Konstruktor

Matrix

Konstruktor

Aufruf: Matrix(v)


Klassenmethoden (statische Methoden)

fromFunction

Matrix.fromFunction(m,n, fn, offset=0)

Aufruf: Matrix.fromFunction(m, n, fn, offset=0)

Beschreibung:
Durch Funktion fn berechnete m*n-Matrix
fn muss eine zweistellige Funktion sein.
Das allgemeine Element A[i,k] wird mit fn(i+offset,k+offset) berechnet.
Beispiel:
Matrix.fromFunction(2,4, pow, 1)
liefert die Matrix

 / 1 1 1  1 \ 
 |          |
 \ 2 4 8 16 /


fromString

Matrix.fromString(s)

Aufruf: Matrix.fromString(s)

Beschreibung:
Matrix aus String
Im String s werden die Elemente der Matrix zeilenweise angegeben.
Die Zeilen werden durch Semikolon getrennt, die Elemente innerhalb der Zeilen durch Komma.
Elemente können auch rational sein (mit Schrägstrich).
Beispiel:
Matrix.fromString("1, 2, 3.14; 4/5, 5, 6") liefert die Matrix

 / 1    2  3.14 \ 
 |              |
 \ 4/5  5   6   /


identity

Matrix.identity(n)

Aufruf: Matrix.identity(n)

Beschreibung:
n*n-Einheitsmatrix


null

Matrix.null(m, n=0)

Aufruf: Matrix.null(m, n=0)

Beschreibung:
m*n-Nullmatrix
Quadratische Matrix, falls n weggelassen wird.


random

Matrix.random(m,n=0, r=100)

Aufruf: Matrix.random(m,n=0, r=100)

Beschreibung:
m*n-Matrix mit Zufallswerten 0..r-1


Operatoren

x + y

A.__add__(B)

Aufruf: x + y

Beschreibung:
Matrix addition operator
Instead of A = A + B you may write A += B.


x[i]

Definition of the Index operator []

Aufruf: x[i]

Beschreibung:
Counts from 0 A[i] à i-th row vector A[i,k] à element in i-th row, k-th column


~x

Operator ~ (transposition)

Aufruf: ~x

Beschreibung:


x * y

A.__sub__(B)

Aufruf: x * y

Beschreibung:
Scalar or matrix multiplication
Instead of A = A * B you may write A *= B.


-x

unary minus operator

Aufruf: -x

Beschreibung:


str(x)

Object representation as string

Aufruf: str(x)

Beschreibung:


x[i] = y

Definition of the Index operator [] for assignments

Aufruf: x[i] = y

Beschreibung:
Counts from 0 A[i] à i-th row vector A[i,k] à element in i-th row, k-th column


x - y

A.__sub__(B)

Aufruf: x - y

Beschreibung:
Matrix subtraction operator
Instead of A = A - B you may write A -= B.


Objektmethoden

adjoint

A.adjoint()

Aufruf: A.adjoint()

Beschreibung:
Adjungierte Matrix


cofactor

A.cofactor(i, k)

Aufruf: A.cofactor(i, k)

Beschreibung:
Kofaktor zur Zeile i und der Spalte k
(Minor mit Vorzeichen)


colRange

A.rowRange()

Aufruf: A.colRange()

Beschreibung:
Liste aller Spaltenindizes


complement

A.complement(i, k)

Aufruf: A.complement(i, k)

Beschreibung:
Matrix ohne die Zeile i und die Spalte k
(Algebraisches Komplement)


copy

A.copy()

Aufruf: A.copy()

Beschreibung:
unabhängige Kopie der Matrix A


det

A.det()

Aufruf: A.det()

Beschreibung:
Determinante der Matrix A


float

A.float()

Aufruf: A.float()

Beschreibung:
gibt die Matrix A zurück, in der alle Elemente nach float konvertiert sind


gaussElim

A.gaussElim(jordan=True)

Aufruf: self.gaussElim(jordan=True)

Beschreibung:
Zeilenstufenform der Matrix A.
Wenn jordan True ist, wird die reduzierte Zeilenstufenform (Gauß-Jordan-Elimination) zurückgegeben, sonst die einfache Zeilenstufenform (Gauß-Elimination).


gramSchmidt

A.gramSchmidt(normalize=False)

Aufruf: self.gramSchmidt(normalize=False)

Beschreibung:
Gram-Schmidt'sches Orthogonalisierungsverfahren.
A muss Matrix aus den (linear unabhängigen) zu orthogonalisierenden Vektoren (als Zeilen) sein.
Wenn normalize True ist, werden die Vektoren normalisiert.
Rückgabewert: Matrix mit den orthogonalen Vektoren.
Beispiel

 A = Matrix([[1,1],[2,0]])
 A.gramSchmidt()
liefert die Matrix
 / 1   1 \ 
 |       |
 \ 1  -1 /


height

A.height()

Aufruf: A.height()

Beschreibung:
Anzahl der Zeilen der Matrix A


inverse

A.inverse()

Aufruf: A.inverse()

Beschreibung:
Inverse Matrix A


isSquare

A.isSquare()

Aufruf: A.isSquare()

Beschreibung:
Wahrheitswert (A quadratisch)


joinBottom

A.concat(B)

Aufruf: A.joinBottom(B)

Beschreibung:
Vertikale Verkettung von A mit B
Voraussetzung: Die beiden Matrizen müssen gleich viele Spalten haben.


joinRight

A.concat(B)

Aufruf: A.joinRight(B)

Beschreibung:
Horizontale Verkettung von A mit B
Voraussetzung: Die beiden Matrizen müssen gleich viele Zeilen haben.


leastSquares

A.leastSquares(b)

Aufruf: A.leastSquares(b)

Beschreibung:
Lösung der Normalgleichung
Rückgabewert: (~A*A).solve(~A*b)


lup

.lup()

Aufruf: self.lup()

Beschreibung:
LRP-Zerlegung (LUP decomposition) der Matrix
Rückgabewert: Tripel (L, U, P) mit P*A = L*R, wobei:
P Permutationsmatrix,
L linke (lower) Dreiecksmatrix mit Einsen auf Diagonale,
U rechte (upper) Dreiecksmatrix ist.
Voraussetzung: Matrix ist invertierbar.


minor

A.minor(i, k)

Aufruf: A.minor(i, k)

Beschreibung:
Minor zur Zeile i und der Spalte k
(Determinante des Algebraischen Komplements)


operators

Matrix.operators()

Aufruf: self.operators()

Beschreibung:
Nur zur Dokumentation
Die Klasse Matrix erlaubt folgende Operatoren:

Op.FunktionBeispiele
+AdditionA + B; A += B
-SubtraktionA - B; A -= B
*Matrizenmultiplikation (wenn beide Operanden Matrizen sind) bzw. Skalarmultiplikation (sonst)a * b; a *= b
-unäres Minus-A
~Transponierte Matrix~A
|VerkettungA | B; A |= B
[ ]IndexoperatorA[i,k]
A[i] (Zeilenvektor)
Diese Methode dient nur zur Dokumentation. Sie hat keine Wirkung.


rank

A.rank()

Aufruf: A.rank()

Beschreibung:
Rang der Matrix A


rowRange

A.rowRange()

Aufruf: A.rowRange()

Beschreibung:
Liste aller Zeilenindizes


solve

A.solve(b)

Aufruf: A.solve(b)

Beschreibung:
Lösung x des linearen Gleichungssystems Ax = b
b kann Vektor oder Spaltenmatrix sein.


str

A.str(i,k)

Aufruf: A.str(i,k)

Beschreibung:
String-Darstellung des Elements [i,k]


submatrix

A.submatrix(i, k, m, n)

Aufruf: A.submatrix(i, k, m, n)

Beschreibung:
m*n-Untermatrix (Zeilen i..i+m-1, Spalten k..k+n-1)


transp

A.transp()

Aufruf: A.transp()

Beschreibung:
berechnet die Transponierte der Matrix A
kürzer: ~A


width

A.width()

Aufruf: A.width()

Beschreibung:
Anzahl der Spalten der Matrix A