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][IntegerLinearSolve] - solution of a linear integer coefficient system using modular methods
Calling Sequence
IntegerLinearSolve(A, rcol, meth)
Parameters
A
-
Matrix (possibly augmented)
rcol
number of columns that represent variables
meth
(optional) argument of the form method='chrem' or method='padic' (the default)
Description
The IntegerLinearSolve function constructs the rational solution(s) of a linear integer coefficient system in Matrix form. This is a programmer level function, it does not perform argument checking. Thus, argument checking must be handled external to this function.
It is possible to solve systems with an arbitrary number of augmented columns. If one augmented column is present, the output is a Vector with dimension rcol. If multiple augmented columns are present, the output is a Matrix where each column is of length rcol and represents the solution for the corresponding right-hand side vector in the augmented part of the input Matrix.
It is also possible to obtain solutions with free parameters. These free parameters represent the nullspace vectors of the input Matrix, and are output after the solution. In this case, the output is a sequence.
Note: Regardless of the number of augmented columns, the trailing nullspace is described by Vectors with dimension rcol.
The default method is to solve the system modulo a machine-sized prime and construct rational solutions using p-adic lifting. For large linear systems or systems with large solutions this is the fastest method. The optional argument method='padic' forces the use of this method.
Alternatively, one can specify the optional argument method='chrem' and the system will be solved modulo multiple primes and the solution recovered using the Chinese remainder theorem. This method can be faster in some cases; however, it is a probabilistic approach. Information on controlling the probabilistic behavior can be found in EnvProbabilistic.
This function is also available in LinearSolve as method='modular'.
This command is part of the LinearAlgebra[Modular] package, so it can be used in the form IntegerLinearSolve(..) only after executing the command with(LinearAlgebra[Modular]). However, it can always be used in the form LinearAlgebra[Modular][IntegerLinearSolve](..).
Examples
A 3x3 system with 1 augmented column.
A 3x3 system with 3 augmented columns.
A rank deficient 3x3 system with 3 augmented columns.
A rank deficient 4x4 matrix which returns nullspace only.
An inconsistent 3x3 system.
Error, (in LinearAlgebra:-Modular:-IntegerLinearSolve) system is inconsistent
See Also
LinearAlgebra/Details, LinearAlgebra[LinearSolve], LinearAlgebra[Modular]
Download Help Document