The operator determinant_matrixdeterminant_matrixDeterminantMatrixDeterminantMatrixDeterminantMatrixdeterminant_matrix computes the determinant of
the input MatrixMatrixMatrixMatrixmatrixmatrix given by the matrix handle
MatrixIDMatrixIDMatrixIDMatrixIDmatrixIDmatrix_id. The type of the input MatrixMatrixMatrixMatrixmatrixmatrix can be
selected via the parameter MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixTypematrix_type. The following
values are supported: 'general'"general""general""general""general""general" for general,
'symmetric'"symmetric""symmetric""symmetric""symmetric""symmetric" for symmetric, 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite""positive_definite" for
symmetric positive definite, 'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal""tridiagonal" for tridiagonal,
'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular""upper_triangular" for upper triangular,
'permuted_upper_triangular'"permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular" for permuted upper triangular,
'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular""lower_triangular" for lower triangular, and
'permuted_lower_triangular'"permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular" for permuted lower triangular
matrices. The formula for the calculation of the result
is:
ValueValueValueValuevaluevalue = det MatrixMatrixMatrixMatrixmatrixmatrix.
Example:
Attention
For MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixTypematrix_type = 'symmetric'"symmetric""symmetric""symmetric""symmetric""symmetric",
'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite""positive_definite", or 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular""upper_triangular" the
upper triangular part of the input MatrixMatrixMatrixMatrixmatrixmatrix must contain
the relevant information of the matrix. The strictly lower
triangular part of the matrix is not referenced. For
MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixTypematrix_type = 'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular""lower_triangular" the lower
triangular part of the input MatrixMatrixMatrixMatrixmatrixmatrix must contain the
relevant information of the matrix. The strictly upper triangular
part of the matrix is not referenced. For MatrixTypeMatrixTypeMatrixTypeMatrixTypematrixTypematrix_type =
'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal""tridiagonal", only the main diagonal, the superdiagonal,
and the subdiagonal of the input MatrixMatrixMatrixMatrixmatrixmatrix are used. The
other parts of the matrix are not referenced. If the referenced
part of the input MatrixMatrixMatrixMatrixmatrixmatrix is not of the specified type,
an exception is raised.
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
List of values: 'general'"general""general""general""general""general", 'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular""lower_triangular", 'permuted_lower_triangular'"permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular", 'permuted_upper_triangular'"permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular", 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite""positive_definite", 'symmetric'"symmetric""symmetric""symmetric""symmetric""symmetric", 'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal""tridiagonal", 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular""upper_triangular"
ValueValueValueValuevaluevalue (output_control) real →HTuplefloatHTupleHtuple (real) (double) (double) (double)
Determinant of the input matrix.
Result
If the parameters are valid, the operator determinant_matrixdeterminant_matrixDeterminantMatrixDeterminantMatrixDeterminantMatrixdeterminant_matrix
returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.
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.