Operator Reference

determinant_matrixT_determinant_matrixDeterminantMatrixDeterminantMatrixdeterminant_matrix (Operator)

determinant_matrixT_determinant_matrixDeterminantMatrixDeterminantMatrixdeterminant_matrix — Compute the determinant of a matrix.

Signature

determinant_matrix( : : MatrixID, MatrixType : Value)

Herror T_determinant_matrix(const Htuple MatrixID, const Htuple MatrixType, Htuple* Value)

void DeterminantMatrix(const HTuple& MatrixID, const HTuple& MatrixType, HTuple* Value)

double HMatrix::DeterminantMatrix(const HString& MatrixType) const

double HMatrix::DeterminantMatrix(const char* MatrixType) const

double HMatrix::DeterminantMatrix(const wchar_t* MatrixType) const   ( Windows only)

static void HOperatorSet.DeterminantMatrix(HTuple matrixID, HTuple matrixType, out HTuple value)

double HMatrix.DeterminantMatrix(string matrixType)

def determinant_matrix(matrix_id: HHandle, matrix_type: str) -> float

Description

The operator determinant_matrixdeterminant_matrixDeterminantMatrixDeterminantMatrixdeterminant_matrix computes the determinant of the input Matrix given by the matrix handle MatrixIDMatrixIDMatrixIDmatrixIDmatrix_id. The type of the input Matrix can be selected via the parameter MatrixTypeMatrixTypeMatrixTypematrixTypematrix_type. The following values are supported: 'general'"general""general""general""general" for general, 'symmetric'"symmetric""symmetric""symmetric""symmetric" for symmetric, 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite" for symmetric positive definite, 'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal" for tridiagonal, '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" for permuted upper 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" for permuted lower triangular matrices. The formula for the calculation of the result is:

Example:

Attention

For MatrixTypeMatrixTypeMatrixTypematrixTypematrix_type = 'symmetric'"symmetric""symmetric""symmetric""symmetric", 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite", or 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular" the upper triangular part of the input Matrix must contain the relevant information of the matrix. The strictly lower triangular part of the matrix is not referenced. For MatrixTypeMatrixTypeMatrixTypematrixTypematrix_type = 'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular" the lower triangular part of the input Matrix must contain the relevant information of the matrix. The strictly upper triangular part of the matrix is not referenced. For MatrixTypeMatrixTypeMatrixTypematrixTypematrix_type = 'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal", only the main diagonal, the superdiagonal, and the subdiagonal of the input Matrix are used. The other parts of the matrix are not referenced. If the referenced part of the input Matrix 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).
  • Processed without parallelization.

Parameters

MatrixIDMatrixIDMatrixIDmatrixIDmatrix_id (input_control)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the input matrix.

MatrixTypeMatrixTypeMatrixTypematrixTypematrix_type (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

The type of the input matrix.

Default: 'general' "general" "general" "general" "general"

List of values: 'general'"general""general""general""general", '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_upper_triangular'"permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular", 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite", 'symmetric'"symmetric""symmetric""symmetric""symmetric", 'tridiagonal'"tridiagonal""tridiagonal""tridiagonal""tridiagonal", 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular"

ValueValueValuevaluevalue (output_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Determinant of the input matrix.

Result

If the parameters are valid, the operator determinant_matrixdeterminant_matrixDeterminantMatrixDeterminantMatrixdeterminant_matrix returns the value 2 ( H_MSG_TRUE) . If necessary, an exception is raised.

Possible Predecessors

create_matrixcreate_matrixCreateMatrixCreateMatrixcreate_matrix

References

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.

Module

Foundation