compute the rank of a mod m Matrix - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Linear Algebra : LinearAlgebra Package : Modular Subpackage : LinearAlgebra/Modular/Rank

LinearAlgebra[Modular][Rank] - compute the rank of a mod m Matrix

LinearAlgebra[Modular][RankProfile] - compute the rank profile of a square mod m Matrix

Calling Sequence

Rank(m, A, meth)

RankProfile(m, A, meth)

Parameters

m

-

modulus

A

-

mod m Matrix

meth

-

(optional) keyword for choice of method

Description

• 

The Rank function returns the rank of the input mod m Matrix, while the RankProfile function returns a list of 'rank' elements describing the rank profile of the input mod m Matrix.

  

The rank profile list is simply a list of the location of the first non-zero entry in each nontrivial row in the row reduced form of the Matrix.

• 

The following methods are available:

REF

(default) Compute using standard row-reduction (Row Echelon Form)

inplaceREF

Compute using standard row-reduction in-place in the input Matrix

RET

Compute using a Row Echelon Transformation approach

inplaceRET

Compute using a Row Echelon Transformation in-place in the input Matrix

• 

Note that the two inplace methods available will destroy the data in the input Matrix, while the other two methods will generate a copy of the Matrix in which to perform the computation.

• 

The RET methods are likely to be faster for large matrices, but may fail if the modulus is composite.

• 

These commands are part of the LinearAlgebra[Modular] package, so they can be used in the form Rank(..) and RankProfile(..) only after executing the command with(LinearAlgebra[Modular]).  However, they can always be used in the form LinearAlgebra[Modular][Rank](..) and LinearAlgebra[Modular][RankProfile](..).

Examples

withLinearAlgebra[Modular]:

p:=97

p:=97

(1)

M:=Modp,2,11,1,80,31,16,27,36,8,32,32,31,25,4,90,63,integer[]

M:=2111803116273683232312549063

(2)

Rankp,M,RankProfilep,M

4,1,2,3,4

(3)

With an inplace method the input Matrix is altered

Rankp,M,inplaceREF,M

4,1544940015826001350001

(4)

And a case that is not full rank

M:=Modp,2,2,1,80,31,31,27,36,8,8,32,31,25,25,90,63,integer[]

M:=221803131273688323125259063

(5)

RankProfilep,M

1,3,4

(6)

Rankp,M

3

(7)

A composite example where the RET method is unsuccessful

M:=Matrix3,2,2,3,datatype=integer

M:=3223

(8)

Rank6,M,REF

2

(9)

Rank6,M,RET

Error, (in LinearAlgebra:-Modular:-RowEchelonTransform) modulus is composite

Note that this is only because this is a case where the row echelon form exists, but the row echelon transform cannot be written in the required form.

See Also

LinearAlgebra/Details, LinearAlgebra[Modular], LinearAlgebra[Modular][Create], LinearAlgebra[Modular][RowEchelonTransform], LinearAlgebra[Modular][RowReduce]


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