ClassesClassesClassesClasses | | | | Operators

determinant_matrixdeterminant_matrixDeterminantMatrixdeterminant_matrixDeterminantMatrixDeterminantMatrix (Operator)

Name

determinant_matrixdeterminant_matrixDeterminantMatrixdeterminant_matrixDeterminantMatrixDeterminantMatrix — Compute the determinant of a matrix.

Signature

determinant_matrix( : : MatrixID, MatrixType : Value)

Herror determinant_matrix(const Hlong MatrixID, const char* MatrixType, double* Value)

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

Herror determinant_matrix(const HTuple& MatrixID, const HTuple& MatrixType, double* Value)

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

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

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

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

void HOperatorSetX.DeterminantMatrix(
[in] VARIANT MatrixID, [in] VARIANT MatrixType, [out] VARIANT* Value)

double HMatrixX.DeterminantMatrix([in] BSTR MatrixType)

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

double HMatrix.DeterminantMatrix(string matrixType)

Description

The operator determinant_matrixdeterminant_matrixDeterminantMatrixdeterminant_matrixDeterminantMatrixDeterminantMatrix computes the determinant of the input MatrixMatrixMatrixMatrixMatrixmatrix given by the matrix handle MatrixIDMatrixIDMatrixIDMatrixIDMatrixIDmatrixID. The type of the input MatrixMatrixMatrixMatrixMatrixmatrix can be selected via the parameter MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType. 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:


           /   3.0   1.0  -2.0  \
  Matrix = |  -5.0   7.0   2.0  |  ->  Value = -134
           \  -9.0  -4.0   1.0  /

Attention

For MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType = '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 MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType = '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 MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType = '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.

Parallelization

Parameters

MatrixIDMatrixIDMatrixIDMatrixIDMatrixIDmatrixID (input_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle of the input matrix.

MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

The type of the input matrix.

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

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 HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Determinant of the input matrix.

Result

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

Possible Predecessors

create_matrixcreate_matrixCreateMatrixcreate_matrixCreateMatrixCreateMatrix

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


ClassesClassesClassesClasses | | | | Operators