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=1n⁡Si,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
H ≔ inverse⁡hilbert⁡2,x
B ≔ smith⁡A,x,U,V
evalm⁡U &* A &* V−B
Download Help Document