GaussInt
GIsmith
Gaussian Integer-only Smith Normal Form
Calling Sequence
Parameters
Description
Examples
GIsmith(A)
GIsmith(A, U, V)
A
-
Matrix of Gaussian integers
U
name (optional)
V
The function GIsmith computes the Smith normal form S of an n by m Matrix of Gaussian integers.
If two n by n Matrices have the same Smith normal form, they are equivalent.
The Smith normal form is a diagonal Matrix S where
rankA = number of nonzero rows (columns) of S
Si,i is in the first quadrant for 0<i≤rankA
Si,i divides Si+1,i+1 for 0<i<rankA
∏i=1rSi,i divides detM for all minors M of rank 0<r≤rankA
The Smith normal form is obtained by doing elementary row and column operations. This includes interchanging rows (columns), multiplying through a row (column) by a unit in Zi, and adding integral multiples of one row (column) to another.
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 GIsmith(A) = U . A . V.
withGaussInt:
H≔Matrix−4+7I,8+10I,−6−8I,−5+7I,6−6I,5I,−10+I,1−3I,−10+5I
H≔−4+7I8+10I−6−8I−5+7I6−6I5I−10+I1−3I−10+5I
GIsmithH
100010001797+791I
A≔Matrix−4−8I,−1−10I,2+3I,−1−9I,8+4I,−5+10I
A≔−4−8I−1−10I2+3I−1−9I8+4I−5+10I
B≔GIsmithA,U,V
B≔100010
−1+4I−1−I5−10I2+3I
043+30I101+8I0−28−29I−75−21I166−21I89−99I
LinearAlgebra:-EqualU·A·V,B
true
See Also
GaussInt[GIhermite]
LinearAlgebra[HermiteForm]
LinearAlgebra[SmithForm]
Download Help Document