Bareiss Algorithm - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


LinearAlgebra[Generic]

  

BareissAlgorithm

  

apply the Bareiss algorithm to a Matrix

 

Calling Sequence

Parameters

Description

Examples

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

withLinearAlgebraGeneric:

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

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

AMatrix3,4,5,7,5,7,11,13,7,11,13,17

A34575711137111317

(1)

BareissAlgorithmZA,r

3457018400−12−6

(2)

r

3

(3)

See Also

LinearAlgebra[Generic]

LinearAlgebra[Generic][Determinant]

LinearAlgebra[Generic][GaussianElimination]