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
linalg[ismith] - integer-only Smith normal form
Calling Sequence
ismith(A)
ismith(A, U, V)
Parameters
A
-
rectangular matrix of integers
U
name
V
Description
Important: The linalg package has been deprecated. Use the superseding packages, LinearAlgebra and VectorCalculus, instead.
- For information on migrating linalg code to the new packages, see examples/LinearAlgebraMigration.
The function ismith computes the Smith normal form S of an n by m rectangular matrix of integers.
If two n by n matrices have the same Smith normal form, they are equivalent.
The Smith normal form is a diagonal matrix where
rank(A) = number of nonzero rows (columns) of S
sign(S[i,i]) = 1 for 0 < i <= rank(A)
S[i,i] divides S[i+1,i+1] for 0 < i < rank(A)
product(S[i,i],i=1..r) divides det(M) for all minors M of rank 0 < r <= rank(A)
Hence if n = m and rank(A) = n then .
The Smith normal form is obtained by doing elementary row and column operations. This includes interchanging rows (columns), multiplying through a row (column) by -1, and adding integral multiples of one row (column) to another.
Although the rank and determinant can be easily obtained from S this is not an efficient method for computing these quantities except that this may yield a partial factorization of without doing any explicit factorizations.
In the case of three arguments, the second argument U and the third argument V will be assigned the transformation matrices on output, such that smith(A) = U &* A &* V.
The command with(linalg,ismith) allows the use of the abbreviated form of this command.
Examples
See Also
linalg(deprecated)[ihermite], linalg(deprecated)[smith], LinearAlgebra, LinearAlgebra[SmithForm]
Download Help Document