Der Operator determinant_matrixdeterminant_matrixDeterminantMatrixDeterminantMatrixDeterminantMatrix berechnet die Determinante
der Eingabematrix MatrixMatrixMatrixMatrixmatrix, die durch das Matrix Handle
MatrixIDMatrixIDMatrixIDMatrixIDmatrixID gegeben ist. Der Typ der Eingabematrix
MatrixMatrixMatrixMatrixmatrix kann über den Parameter MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType gewählt
werden. Die folgenden Werte stehen zur Verfügung:
'general'"general""general""general""general" für allgemeine, 'symmetric'"symmetric""symmetric""symmetric""symmetric" für
symmetrische, 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite" für symmetrisch positiv
definite und 'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal" für tridiagonale Matrizen,
'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" für permutierte obere,
'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" für permutierte untere
Dreiecksmatrizen. Die Formel für die Berechnung lautet:
ValueValueValueValuevalue = det MatrixMatrixMatrixMatrixmatrix.
Achtung
Wird MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType = 'symmetric'"symmetric""symmetric""symmetric""symmetric",
'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite" oder 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular"
gewählt, so muss der obere Dreiecksteil der Eingabematrix
MatrixMatrixMatrixMatrixmatrix die relevante Information der Matrix beinhalten.
Der exakt untere Teil der Matrix wird nicht verwendet. Wird
MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType = 'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular" gewählt, so muss
der untere Dreiecksteil der Eingabematrix MatrixMatrixMatrixMatrixmatrix die
relevante Information der Matrix beinhalten. Der exakt obere
Teil der Matrix wird nicht verwendet. Wird MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType =
'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal" gesetzt, wird nur die Hauptdiagonale und
die beiden Nebendiagonalen der Eingabematrix MatrixMatrixMatrixMatrixmatrix
genutzt. Die anderen Teile der Matrix werden nicht verwendet.
Wenn der verwendete Teil der Eingabematrix MatrixMatrixMatrixMatrixmatrix nicht
vom spezifizierten Typ ist, wird eine Fehlerbehandlung
durchgeführt.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
ValueValueValueValuevalue (output_control) real →HTupleHTupleHtuple (real) (double) (double) (double)
Determinante der Eingabematrix.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
determinant_matrixdeterminant_matrixDeterminantMatrixDeterminantMatrixDeterminantMatrix den Wert 2 (H_MSG_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.