perform Gaussian elimination on a Matrix - Maple Help

Online Help

All Products    Maple    MapleSim


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

LinearAlgebra[Generic][GaussianElimination] - perform Gaussian elimination on a Matrix

LinearAlgebra[Generic][ReducedRowEchelonForm] - compute the reduced row echelon form of a Matrix

LinearAlgebra[Generic][RREF] - compute the reduced row echelon form of a Matrix

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

withLinearAlgebra[Generic]:

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

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

(1)

A:=Matrix1,2,3,0,0,0,3,2,1

A:=123000321

(2)

GaussianEliminationQA

123012000

(3)

ReducedRowEchelonFormQA,'r','d'

101012000

(4)

r

2

(5)

d

0

(6)

A:=Matrix1,2,1,0,2,1,0,1

A:=12102101

(7)

B:=GaussianEliminationQA

B:=1210012313

(8)

RREFQB

101323012313

(9)

See Also

Gaussian Elimination , LinearAlgebra[GaussianElimination], LinearAlgebra[Generic], LinearAlgebra[Generic][BareissAlgorithm], LinearAlgebra[ReducedRowEchelonForm]


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