算法为(1)找出A的元素中的最大公约数 (2)将它调到(1,1)位置上去 (3)使第一行和第一列的所有其他元素都为零 这可用基本行或列来变换: 交换两行(列) 一行(列)减去另一行(列)的整数倍 这样得到矩阵B,置S11=b11,对(m-1)x(n-1)的矩阵[bij]重复以上算法,重复r次就可得到smith标准形. This topic gives a version of the Gauss elimination algorithm for a commutative principal ideal domain which is usually described only for a field.
Let be a -matrix with entries from a commutative principal ideal domain . For denotes the number of prime factors of . Start with and choose to be the smallest column index of with a non-zero entry.
(I) If and , exchange rows 1 and . (II) If there is an entry at position such that , then set and choose such that $ b0 ^& y! V. Z h7 U/ U
By left-multiplication with an appropriate matrix it can be achieved that row 1 of the matrix product is the sum of row 1 multiplied by and row multiplied by . Then we get at position , where . Repeating these steps one obtains a matrix having an entry at position that divides all entries in column . (III) Finally, adding appropriate multiples of row , it can be achieved that all entries in column except for that at position are zero. This can be achieved by left-multiplication with an appropriate matrix. Applying the steps described above to the remaining non-zero columns of the resulting matrix (if any), we get an -matrix with column indices where , each of which satisfies the following: the entry at position is non-zero; all entries below and above position as well as entries left of are zero. Furthermore, all rows below the -th row are zero. Now we can re-order the columns of this matrix so that elements on positions for are nonzero and for ; and all columns right of the -th column (if present) are zero. For short set for the element at position . has non-negative integer values; so is equivalent to being a unit of . can either happen if and differ by a unit factor, or if they are relatively prime. In the latter case one can add column to column (which doesn't change and then apply appropriate row manipulations to get . And for and one can apply step (II) after adding column to column . This diminishes the minimum -values for non-zero entries of the matrix, and by reordering columns etc. we end up with a matrix whose diagonal elements satisfy .
Since all row and column manipulations involved in the process are invertible, this shows that there exist invertible and -matrices so that is
This is the Smith normal form of the matrix. The elements are unique up to associates and are called elementary divisors
有没有谁能够根据上述算法,将程序编出来............. 谢谢!!!!!!! 作者: toniby1978 时间: 2008-12-15 17:43 标题: 留个脚印 - C( G; j1 ^% v: x
& R, u5 g8 O8 m
, g3 \! s. K. ^) o1 N0 E
/ N) p/ q& O1 @# ~% M2 [# q! q, Z' [, f
4 r7 p4 @9 L% v. N + e" I5 d' p* r- Y; T ; W0 a Q; Z: ^6 _& u4 K F) ` # C1 Y5 r m1 ~9 V' z& g$ d' m7 m. ]1 G, i& O) X% w/ v$ u
# k, D. ]! g# M ~0 m- W, w 4 L& A0 V8 b. A8 V* J" m4 S$ M( b' z: s: a
' D3 P5 a! x! h( N9 w7 C/ G ( t) g. f5 c2 r% i# }& ^8 e; ]7 j4 W0 e- W$ a
5 k0 M9 D& L. ?) {, i+ q# i1 B- d
8 u4 C l, [+ i. u6 W+ S* l1 Y
/ p. ^9 `3 A9 h- X( E 9 s- C( j/ L- w, T! L' M1 a3 n2 i4 f e ]$ u