compute the determinant of a Matrix - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Linear Algebra : LinearAlgebra Package : Standard : LinearAlgebra/Determinant

LinearAlgebra[Determinant] - compute the determinant of a Matrix

Calling Sequence

Determinant(A, m)

Parameters

A

-

Matrix

m

-

(optional) equation of the form method=value where value is one of algnum, float, fracfree, integer, ipseudo, minor, modular[p], multivar, rational, unifloat, unifloat[x], univar, or univar[x]; type of algorithm to use

Description

• 

The Determinant(A) function computes the determinant  of A by using one of the methods described below. If A has a datatype value other than anything, that value is used to select a particular method. Otherwise, the types of the entries in A determine the appropriate method to use.

• 

The  Determinant(A, m) function, where m can be any of the equations stated below, computes the determinant of A according to this specified method (regardless of the datatype of A).

  

method=algnum

  

Compute the determinant of the n x n Matrix A over the field of algebraic numbers defined by the entries in A by using Gaussian elimination.

  

method=float

  

Compute the determinant of the n x n Matrix A which has numerical entries or complex numerical entries by using Gaussian elimination.

  

method=fracfree

  

Compute the determinant of the n x n Matrix A over Z[x1, x2, ..., xv] by using fraction free Gaussian elimination.

  

method=integer

  

Compute the determinant of the n x n Matrix A over Z by using the LinearAlgebra:-Modular:-IntegerDeterminant routine.

  

Note: The IntegerDeterminant routine uses a probabilistic approach that achieves great gains for structured systems. Information on controlling the probabilistic behavior can be found in EnvProbabilistic.

  

method=ipseudo[list1,list2]

  

Compute a pseudo determinant of the submatrix A[list1,list2] with integer coefficients. A pseudo determinant is defined as a positive multiple of the gcd of the determinants of all minors of A with dimension equal to Rank(A). The magnitude of the pseudo determinant computed never exceeds the magnitude of the determinant of at least one of the minors of A of dimension Rank(A). The return type is an expression sequence d, rank, rows, cols, A1inv. The first returned object is the pseudo determinant of the submatrix A[list1,list2]. The second is the rank of A. The third is a list of integers indicating rank linearly independent rows. The fourth is a list of integers indicating rank linearly independent columns. The fifth is the inverse of the submatrix A[list1,list2]. This method is available only by including method=ipseudo[list1,list2] in the calling sequence, that is, this method is never accessed by using the Determinant(A) form of the calling sequence.

  

method=minor

  

Compute the determinant of A by using minor expansion.

  

method=modular[p]

  

Compute the determinant of the n x n Matrix A mod p for any integer modulus p by using a variation of fraction free Gaussian elimination. This method is available only by including method=modular[p] in the calling sequence (i.e., this method is never accessed by using the Determinant(A) form of the calling sequence.

  

method=multivar

  

Compute the determinant of the n x n Matrix A by using fraction free Gaussian elimination.

  

method=rational

  

Compute the determinant of the n x n Matrix A over Q, or the complex rationals Q(i).

  

method=unifloat or method=unifloat[x]

  

Compute the determinant d of the n x n Matrix A over R[x] by using Gaussian elimination.

  

If method=unifloat[x] is used, the computation is attempted by using the single variable x. If the index is omitted, then the first unknown in Matrix A is used as the single variable name.

  

method=univar or method=univar[x]

  

Compute Determinant(A) where A is an n x n Matrix over Z[x] by using an application of modular homomorphisms and Chinese Remainder Theorem.

  

If method=univar[x] is used, the computation is attempted by using the single variable x. If the index is omitted, then the first unknown in Matrix A is used as the single variable name.

• 

This function is part of the LinearAlgebra package, and so it can be used in the form Determinant(..) only after executing the command with(LinearAlgebra). However, it can always be accessed through the long form of the command by using LinearAlgebra[Determinant](..).

Examples

withLinearAlgebra:

M:=Matrix3,a,b,c,d,e,f,shape=triangularlower

M:=a00bc0def

(1)

DeterminantM

acf

(2)

R:=MatrixRootOf_Z2+1,1,1,RootOf_Z2+1

R:=RootOf_Z2+111RootOf_Z2+1

(3)

DeterminantR,method=algnum

2

(4)

H:=HilbertMatrix5:

DeterminantH,method=float

3.7492951325142310-12

(5)

DeterminantH,method=rational

1266716800000

(6)

C:=Matrix9,8,4,7,1,3,5,3,6,shape=triangularupper

C:=984013006

(7)

DeterminantC,method=modular10

4

(8)

V:=Matrixb,b,b,b,a,b,a,b,b

V:=bbbbababb

(9)

DeterminantV,method=multivar

a22ab+b2b

(10)

See Also

Matrix

References

  

de Boor, Carl. "An Empty Exercise." ACM SIGNUM Newsletter, Vol. 25 No. 2. (1990): 2-6.


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam