apply the Bareiss algorithm to a Matrix - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Linear Algebra : LinearAlgebra Package : Generic Subpackage : LinearAlgebra/Generic/BareissAlgorithm

LinearAlgebra[Generic][BareissAlgorithm] - apply the Bareiss algorithm to a Matrix

Calling Sequence

BareissAlgorithm[D](A)

BareissAlgorithm[D](A,r,d)

Parameters

D

-

the domain of computation

A

-

rectangular Matrix of values in D

r

-

name

d

-

name

Description

• 

The (indexed) parameter D specifies the domain of computation, an integral domain (a commutative ring with exact division). It must be a Maple table/module which has the following values/exports:

  

D[`0`] : a constant for the zero of the ring D

  

D[`1`] : a constant for the (multiplicative) identity of D

  

D[`+`] : a procedure for adding elements of D (nary)

  

D[`-`] : a procedure for negating and subtracting elements of D (unary and binary)

  

D[`*`] : a procedure for multiplying elements of D (binary and commutative)

  

D[`=`] : a boolean procedure for testing if two elements of D are equal

  

D[Divide] : a boolean procedure for testing if a | b in D, and if so assigns q the value of a / b.

• 

BareissAlgorithm[D](A) runs Bareiss' fraction-free row reduction on a copy of A.

• 

The output Matrix B is upper triangular, and the entry B[i,i] is the determinant of the principal i x i submatrix of A. Thus if A is a square Matrix of dimension n, then B[n,n] is the determinant of A up to a unit.

Examples

withLinearAlgebra[Generic]:

Z`0`,Z`1`,Z`+`,Z`-`,Z`*`,Z`=`:=0,1,`+`,`-`,`*`,`=`:

Z[Divide] := proc(a,b,q) evalb( irem(args) = 0 ) end proc:

A:=Matrix3,4,5,7,5,7,11,13,7,11,13,17

A:=34575711137111317

(1)

BareissAlgorithmZA,'r'

3457018400126

(2)

r

3

(3)

See Also

LinearAlgebra[Generic], LinearAlgebra[Generic][Determinant], LinearAlgebra[Generic][GaussianElimination]


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