| Operatoren |
decompose_matrix — Zerlegt eine Matrix.
decompose_matrix( : : MatrixID, MatrixType : Matrix1ID, Matrix2ID)
Der Operator decompose_matrix zerlegt die quadratische Eingabematrix Matrix, die durch das Matrix Handle MatrixID gegeben ist. Die Ergebnisse werden in zwei generierten Matrizen Matrix1 und Matrix2 gespeichert und deren Matrix Handles Matrix1ID und Matrix2ID werden zurückgegeben. Zugriff auf die Elemente der Matrizen ist z.B. mit dem Operator get_full_matrix möglich.
Der Typ der Eingabematrix Matrix kann über den Parameter MatrixType gewählt werden. Die folgenden Werte stehen zur Verfügung: 'general' für allgemeine, 'symmetric' für symmetrische, 'positive_definite' für symmetrisch positiv definite und 'tridiagonal' für tridiagonale Matrizen.
Wenn MatrixType = 'general' oder 'tridiagonal' gewählt ist, wird eine LU Zerlegung (Lower/Upper) der Form
Matrix = Matrix1 * Matrix2vorgenommen. Die Ausgabematrix Matrix1 ist eine untere Dreiecksmatrix mit Einheitsdiagonalelementen, deren Zeilen vertauscht sind. Die Ausgabematrix Matrix2 ist eine obere Dreiecksmatrix.
Ist MatrixType = 'symmetric' gesetzt, wird eine UDU^T Zerlegung (Upper/Diagonal/Upper) verwendet. Sie hat die Form
Eine Cholesky Zerlegung wird berechnet, wenn MatrixType = 'positive_definite' gesetzt ist. Die Zerlegung hat die Form
Matrix = Matrix1 * Matrix2wobei die Ausgabematrix Matrix1 eine untere Dreiecksmatrix und Ausgabematrix Matrix2 eine obere Dreiecksmatrix ist. Außerdem ist die Matrix Matrix2 die Transponierte der Matrix Matrix1.
Es ist zu beachten, dass in den Beispielen Unterschiede in der Bedeutung der Werte in den Ausgabematrizen zu finden sind: Wenn ein Wert als ganze Zahl dargestellt ist, z.B. 0 oder 1, ist der Wert dieses Elements per Definition dieser bestimmte Wert. Wenn der Wert als Gleitpunktzahl dargestellt ist, z.B. 0.0 oder 1.0, ist der Wert von dem Operator berechnet worden.
Wird MatrixType = 'symmetric' oder 'positive_definite' gewählt, so muss der obere Dreiecksteil der Eingabematrix Matrix die relevante Information der Matrix beinhalten. Der exakt untere Teil der Matrix wird nicht verwendet. Wird MatrixType = 'tridiagonal' gesetzt, wird nur die Hauptdiagonale und die beiden Nebendiagonalen der Eingabematrix Matrix genutzt. Die anderen Teile der Matrix werden nicht verwendet. Wenn der verwendete Teil der Eingabematrix Matrix nicht vom spezifizierten Typ ist, wird eine Fehlerbehandlung durchgeführt.
Matrix Handle der Eingabematrix.
Matrixtyp der Eingabematrix.
Defaultwert: 'general'
Werteliste: 'general', 'positive_definite', 'symmetric', 'tridiagonal'
Matrix Handle mit der Ausgabematrix 1.
Matrix Handle mit der Ausgabematrix 2.
Sind die Parameterwerte korrekt, dann liefert decompose_matrix den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
get_full_matrix, get_value_matrix
orthogonal_decompose_matrix, solve_matrix
David Poole: „Linear Algebra: A Modern Introduction“; Thomson;
Belmont; 2006.
Gene H. Golub, Charles F. van Loan: „Matrix Computations“; The
Johns Hopkins University Press; Baltimore and London; 1996.
Foundation
| Operatoren |