Der Operator invert_matrix_modinvert_matrix_modInvertMatrixModInvertMatrixModInvertMatrixModinvert_matrix_mod berechnet die Inverse der
Matrix MatrixMatrixMatrixMatrixmatrixmatrix. Die Eingabematrix wird mit dem Ergebnis
überschrieben. Zugriff auf die Elemente der Matrix ist z.B. mit
dem Operator get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrixget_full_matrix möglich.
Die Inverse wird berechnet, wenn EpsilonEpsilonEpsilonEpsilonepsilonepsilon = 0 ist. Der
Matrixtyp wird über MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixTypematrix_type gewählt. Zur Verfügung
stehen 'general'"general""general""general""general""general" für allgemeine, 'symmetric'"symmetric""symmetric""symmetric""symmetric""symmetric" für
symmetrische, 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite""positive_definite" für symmetrisch positiv
definite, 'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal""tridiagonal" für tridiagonale Matrizen,
'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular""upper_triangular" für obere,
'permuted_upper_triangular'"permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular" für permutierte obere,
'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular""lower_triangular" für untere und
'permuted_lower_triangular'"permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular" für permutierte untere
Dreiecksmatrizen.
Es ist ebenfalls zu beachten, dass in den Beispielen Unterschiede
in der Bedeutung der Werte in den Ausgabematrizen zu finden sind:
Die Ergebnisse der Elemente sind per Definition ein bestimmter
Wert, wenn dieser als ganze Zahl dargestellt ist, z.B. 0 oder 1.
Der Wert ist berechnet, wenn er als Gleitpunktzahl dargestellt ist,
z.B. 0.0 oder 1.0.
Achtung
Wird MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixTypematrix_type = 'symmetric'"symmetric""symmetric""symmetric""symmetric""symmetric",
'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite""positive_definite" oder 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular""upper_triangular"
gewählt, so muss der obere Dreiecksteil der Eingabematrix
MatrixMatrixMatrixMatrixmatrixmatrix die relevante Information der Matrix beinhalten.
Der exakt untere Teil der Matrix wird nicht verwendet. Wird
MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixTypematrix_type = 'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular""lower_triangular" gewählt, so muss
der untere Dreiecksteil der Eingabematrix MatrixMatrixMatrixMatrixmatrixmatrix die
relevante Information der Matrix beinhalten. Der exakt obere
Teil der Matrix wird nicht verwendet. Wird MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixTypematrix_type =
'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal""tridiagonal" gesetzt, wird nur die Hauptdiagonale und
die beiden Nebendiagonalen der Eingabematrix MatrixMatrixMatrixMatrixmatrixmatrix
genutzt. Die anderen Teile der Matrix werden nicht verwendet.
Wenn der verwendete Teil der Eingabematrix MatrixMatrixMatrixMatrixmatrixmatrix nicht
vom spezifizierten Typ ist, wird eine Fehlerbehandlung
durchgeführt.
invert_matrix_modinvert_matrix_modInvertMatrixModInvertMatrixModInvertMatrixModinvert_matrix_mod verändert den Inhalt einer bereits
bestehenden Matrix.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
EpsilonEpsilonEpsilonEpsilonepsilonepsilon (input_control) real →HTuplefloatHTupleHtuple (real) (double) (double) (double)
Inversionstyp.
Defaultwert: 0.0
Wertevorschläge: 0.0, 2.2204e-16
Ergebnis
Sind die Parameterwerte korrekt, dann liefert invert_matrix_modinvert_matrix_modInvertMatrixModInvertMatrixModInvertMatrixModinvert_matrix_mod
den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
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.