Matrizenrechnung mit JavaScript

Es werden hier Rechenausdrücke für Matrizen ausgewertet, die mit Hilfe der Operatoren *,+,-,^ und / (/ nur bei Zahlen als Divisor) gebildet werden.
Die Matrizen können von beliebiger Ordnung sein, müssen also nicht quadratisch sein. Auch Vektoren kann man als einspaltige bzw. einzeilige Matrizen in die Terme mit einbeziehen.
Einige Funktionen für Matrizen sind vorhanden (s.u.), die ebenfalls in den Ausdrücken genutzt werden können.

Wird eine Zuweisung im Rechenausdruck gemacht, so wird mit dem Ergebnis eine neue Matrix angelegt. Andernfalls wird das Ergebnis nur bestimmt und ganz unten ausgegeben.
Um eine zunächst nur mit Nullen belegte nxm-Matrix A anzulegen verwendet man eine Zuweisung der Form A=zeros(n,m).

Beispiele:
(A+B)^-1bestimmt die Inverse der Summe von A und B.
-A^T bestimmt die Transponierte der mit -1 multiplizierten Matrix A.
2.5*A+3*Bbestimmt die Linearkombination von A und B.
B=A^3bestimmt das Matrizenprodukt A*A*A und legt damit B an.

Matrizenausdruck



Folgende Funktionen sind verfügbar:
cholesky(A)Bestimmt die Matrix L der Cholesky-Zerlegung L*L^T einer symmetrischen, positiv definiten Matrix A
cond1(A)Berechnet die Kondition einer regulären, quadratischen Matrix A mit Hilfe der Spaltensummennorm
condi(A)Berechnet die Kondition einer regulären, quadratischen Matrix A mit Hilfe der Zeilensummennorm
det(A)Berechnet die Determinante der quadratischen Matrix A
diag(a)Erstellt eine Diagonalmatrix mit der Belegung des Vektors a auf der Diagonale
diag(A)Erstellt einen Vektor belegt mit der Diagonalen der Matrix A
identity(n,m)Erstellt eine nxm-Matrix mit Einsen auf der Diagonale
inv(A)Bestimmt die Inverse von A
linsolve(A,B)Bestimmt die Lösung X des Gleichungssystems A*X=B. A ist eine quadratische nxn-Matrix, B eine nxm-Matrix
norm1(A)Berechnet die Spaltensummennorm von A
normi(A)Berechnet die Zeilensummennorm von A
null(A)Bestimmt den Kern bzw. Nullraum von A, als Spaltenvektoren zu einer Matrix zusammengestellt
orth(A)Bestimmt eine Orthonormalbasis des Bildraums von A, als Spaltenvektoren zu einer Matrix zusammengestellt
pinv(A)Bestimmt die Moore-Penrose-Pseudoinverse A+ von A, so dass gilt: A+A A+=A+ und A A+A=A und (A+)+=A
rank(A)Berechnet den Rang einer beliebigen Matrix A
zeros(n,m)Erstellt eine mit Nullen belegte nxm-Matrix

weitere JavaScript-Programme