Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
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
With an inplace method the input Matrix is altered
And a case that is not full rank
A composite example where the RET method is unsuccessful
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