MatrixPolynomialAlgebra
SmithForm
reduce a Matrix to Smith normal form
Calling Sequence
Parameters
Description
Examples
SmithForm(A, x, out)
A
-
Matrix
x
(optional) variable
out
(optional) equation of the form output = obj where obj is one of 'S', 'U', or 'V', or a list containing one or more of these names; select result objects to compute
The SmithForm(A) command returns the Smith normal form S of a Matrix A with univariate polynomial entries in x over a field F. Thus, the polynomials are regarded as elements of the Euclidean domain F[x].
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 property that for all n <= Rank(A), product(S[i, i], i=1..n) is equal to the (monic) greatest common divisor of all n x n (determinant) minors of A.
The output option (out) determines the content of the returned expression sequence.
As determined by the out option, an expression sequence containing one or more of the factors S (the Smith normal form), U (the left-reducing Matrix ), or V (the right-reducing Matrix) is returned. If obj is a list, the objects are returned in the order specified in the list.
The returned Matrix objects have the property that S = U . A . V.
Note: The MatrixPolynomialAlgegra:-SmithForm command calls the LinearAlgebra:-SmithForm routine.
with⁡MatrixPolynomialAlgebra:
A≔Matrix⁡1,2⁢x,2⁢x2+2⁢x,1,6⁢x,6⁢x2+6⁢x,1,3,x
A≔12⁢x2⁢x2+2⁢x16⁢x6⁢x2+6⁢x13x
S≔SmithForm⁡A
S≔10001000x2+32⁢x
LinearAlgebraDeterminant⁡A
−8⁢x2−12⁢x
lcoeff⁡
x2+32⁢x
U,V≔SmithForm⁡A,x,output=U,V:
map⁡expand,U·A·V
10001000x2+32⁢x
See Also
expand
indets
lcoeff
LinearAlgebra[Determinant]
LinearAlgebra[Minor]
LinearAlgebra[Rank]
LinearAlgebra[RowOperation]
LinearAlgebra[SmithForm]
map
Vector
Download Help Document