linalg(deprecated)
smith
compute the Smith normal form of a matrix
Calling Sequence
Parameters
Description
Examples
smith(A, x)
smith(A, x, U, V)
A
-
square matrix of univariate polynomials in x
x
the variable name
U
name
V
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.
with⁡linalg:
A≔matrix⁡1−x,y−x⁢y,0,1−x2
A≔1−x−x⁢y+y0−x2+1
smith⁡A,x
−1+x00x2−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
smith⁡H,x
−3+x00x3−9⁢x2+26⁢x−24
B≔smith⁡A,x,U,V
B≔−1+x00x2−1
eval⁡U
−10x+1−1
eval⁡V
1−y−y11
evalm⁡U&*A&*V−B
−1+x⁢1−y+x⁢y−y+1−x−−1+x⁢y+x⁢y−yx+1⁢1−x⁢1−y+x+1⁢−x⁢y+y+x2−1−x+1⁢1−x⁢y+x+1⁢−x⁢y+y
See Also
linalg(deprecated)[hermite]
linalg(deprecated)[ismith]
LinearAlgebra
LinearAlgebra[SmithForm]
Smith
Download Help Document