Gaussian Elimination - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


LinearAlgebra[Generic]

  

GaussianElimination

  

perform Gaussian elimination on a Matrix

  

ReducedRowEchelonForm

  

compute the reduced row echelon form of a Matrix

  

RREF

  

compute the reduced row echelon form of a Matrix

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

GaussianElimination[F](A)

GaussianElimination[F](A,r,d)

ReducedRowEchelonForm[F](A)

ReducedRowEchelonForm[F](A,r,d)

ReducedRowEchelonForm[F](A,method=BareissAlgorithm)

ReducedRowEchelonForm[F](A,method=GaussianElimination)

RREF[F](A)

RREF[F](A,r,d)

RREF[F](A,method=BareissAlgorithm)

RREF[F](A,method=GaussianElimination)

Parameters

F

-

the domain of computation, a field

A

-

rectangular Matrix over values in F

r

-

name

d

-

name

Description

• 

GaussianElimination[F](A) makes a copy of the Matrix A and reduces it to row echelon form (upper triangular form) with leading ones.

• 

ReducedRowEchelonForm[F](A) makes a copy of the Matrix A and reduces it to reduced row echelon form.

• 

RREF is an abbreviation for ReducedRowEchelonForm

• 

The (indexed) parameter F, which specifies the domain of computation, a field, must be a Maple table/module which has the following values/exports:

  

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

  

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

  

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

  

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

  

F[`*`]: a procedure for multiplying two elements of F (commutative)

  

F[`/`]: a procedure for dividing two elements of F

  

F[`=`]: a boolean procedure for testing if two elements in F are equal

• 

ReducedRowEchelonForm can use either Gaussian Elimination or the Bareiss algorithm to reduce the system to triangular form. If the Bareiss algorithm is used, the leading entries of each row are normalized to one and back substitution is performed, which avoids normalizing entries which are eliminated during back substitution.

• 

The Bareiss algorithm requires the field to support exact division, i.e., it requires F to be an integral domain with the following operation:

  

F[Divide]: a boolean procedure for dividing two elements of F where F[Divide](a,b,'q') outputs true if b | a and optionally assigns q the quotient such that a = b q.

• 

If the method is not given and the operation F[Divide] is defined, then the Bareiss algorithm is used, otherwise Gaussian Elimination is used.

Examples

withLinearAlgebraGeneric:

Q`0`,Q`1`,Q`+`,Q`-`,Q`*`,Q`/`,Q`=`0,1,`+`,`-`,`*`,`/`,`=`

Q0,Q1,Q`+`,Q`-`,Q`*`,Q`/`,Q`=`0,1,`+`,`-`,`*`,`/`,`=`

(1)

AMatrix1,2,3,0,0,0,3,2,1

A123000321

(2)

GaussianEliminationQA

123012000

(3)

ReducedRowEchelonFormQA,r,d

10−1012000

(4)

r

2

(5)

d

0

(6)

AMatrix1,2,1,0,2,1,0,1

A12102101

(7)

BGaussianEliminationQA

B1210012313

(8)

RREFQB

101323012313

(9)

See Also

Gaussian Elimination

LinearAlgebra[GaussianElimination]

LinearAlgebra[Generic]

LinearAlgebra[Generic][BareissAlgorithm]

LinearAlgebra[ReducedRowEchelonForm]