数学建模社区-数学中国

标题: 求助 用mathematica编一个求任意整数矩阵的smith标准形 [打印本页]

作者: firlimin    时间: 2008-4-18 22:17
标题: 求助 用mathematica编一个求任意整数矩阵的smith标准形
跪求用mathematica求任意整数矩阵A的smith标准形

算法为(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
9 g$ @/ ^+ |+ D8 v! |4 V) c


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
标题: 留个脚印

( M" V, X" L% f# K" L3 n
! d; w/ A- ^2 T- r- e, n: T7 i( v1 C. v! {7 K9 P, G9 n& f
7 I" E5 m8 E7 W7 i' ~% \
2 f- n% [) b& I/ `

, `2 G& L8 j6 C3 J: y6 L/ f2 R
% D. u7 _* c5 [- k9 t7 y4 b. y% j" \" Y. o1 C
$ ^; |$ z2 K' a! A) r( n
- p# K6 N% [9 Z# g, ~; l) w; U

1 ^( c+ j2 j" e, n4 i, m, D4 E
% |4 J6 c$ y$ z' @
; S5 r" O; k0 k
; g5 i- X, F: j% a
" W' g) J8 k" ?$ E+ @7 O3 P4 k: Y
2 _4 v- x, X" B: W" P4 I* [  F$ Y9 O" h( ^* M

% g# Q8 y/ s6 g2 p* J7 Q6 z* P) Q  I; j# d# H& e: M7 ?3 ^% l& n

6 _: W4 u: y7 t+ h4 o8 x" s$ W  ~2 \% y# V8 w* v# I; q& B+ u

  z) A8 H+ l$ K# `0 h1 \( k& `+ x6 ^) j5 A, C' E0 ?

' e2 _% S, i5 a* Q, {4 r, H" g; ~. H( o- d- v5 c6 H& x3 B) m/ e4 V

8 I& U& [* A3 Q! j0 n% V! C天下风云出我辈, 一入江湖岁月催。 皇图霸业谈笑中, 不胜人生一场醉。& t2 p# u9 f  \1 _9 G
专业
深圳SEO服务:百度优化,Google优化,深圳SEO优化,注册香港公司SEO优化




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5