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][LinearSolve] - solve linear system mod m
Calling Sequence
LinearSolve(m, M, naugment)
LinearSolve(m, M, naugment, inplace=val)
Parameters
m
-
modulus
M
Matrix for solve
naugment
number of augmented columns in Matrix
val
inplace option true/false
Description
The LinearSolve function solves the linear system described by the augmented Matrix M with naugment augmented columns.
The allowable datatypes are hardware integer (dtype=integer[4]/integer[8] or integer[]), hardware float (dtype=float[8]), or Maple integer (dtype=integer).
By default the inplace option is true, and the command returns a reduced row echelon form of the input system, throwing an error if it is inconsistent, or no reduced row echelon form exists (i.e. for some composite m).
If inplace is specified as false, the command returns the solution in forms of a sequence. The first element of the sequence is a Matrix (when naugment>1) or a Vector (when naugment=1) corresponding to a solution of the system, followed by the vectors in the nullspace. In the event of a unique solution (empty nullspace), only the one solution exists, so the return is just the first element. Note: even when inplace is set to false, the original input matrix is altered, so if this is not desired, the command should be called on a copy of the Matrix.
Note that this is just a high-level convenience function that uses RowReduce to do the actual work.
This command is part of the LinearAlgebra[Modular] package, so it can be used in the form LinearSolve(..) only after executing the command with(LinearAlgebra[Modular]). However, it can always be used in the form LinearAlgebra[Modular][LinearSolve](..).
Examples
Create a random Matrix with a duplicate row (copy 4rth row to 2nd)
Now solve a copy obtaining row reduced form:
Now solve another copy obtaining the solution in (solution vector, nullspace) form
Check the solution and nullspace
See Also
ArrayTools[Copy], LinearAlgebra/Details, LinearAlgebra[LinearSolve], LinearAlgebra[Modular], LinearAlgebra[Modular][Create], LinearAlgebra[Modular][RowReduce]
Download Help Document