compute the Smith normal form of a matrix
smith(A, x, U, V)
square matrix of univariate polynomials in x
the variable name
Important: The linalg package has been deprecated. Use the superseding command LinearAlgebra[SmithForm], instead.
- For information on migrating linalg code to the new packages, see examples/LinearAlgebraMigration.
The Smith normal form of a matrix with univariate polynomial entries in x over a field F is computed. Thus the polynomials are then regarded as elements of the Euclidean domain F[x].
This routine is only as powerful as Maple's normal function, since at present it only understands the field Q of rational numbers and rational functions over Q.
The Smith normal form of a matrix is a diagonal matrix S obtained by doing elementary row and column operations. The diagonal entries satisfy the following property for all n≤rank⁡A: ∏i=1nSi,i is equal to the (monic) greatest common divisor of all n by n minors of A.
In the case of four arguments, the third argument U and the fourth argument V will be assigned the transformation matrices on output, such that smith(A) = U &* A &* V.
The command with(linalg,smith) allows the use of the abbreviated form of this command.
A ≔ 1−xy−x⁢y01−x2
A ≔ 1−x−x⁢y+y0−x2+1
H ≔ inverse⁡hilbert⁡2,x
H ≔ −−3+x2⁢−2+x−3+x⁢−2+x⁢−4+x−3+x⁢−2+x⁢−4+x−−3+x2⁢−4+x
B ≔ smith⁡A,x,U,V
B ≔ −1+x00x2−1
evalm⁡U &* A &* V−B
Download Help Document
What kind of issue would you like to report? (Optional)
Thank you for submitting feedback on this help document. Your feedback will be used
to improve Maple's help in the future.