數學中，史密斯標準形（SNF）是適用於所有元素都位於主理想域（PID）的矩陣的標準形（不必是方陣）。史密斯標準形是對角矩陣，可以從原始矩陣左右乘可逆方陣得到。特別地，整數構成一個 PID，所以總可以計算出任何整數矩陣的史密斯標準形。史密斯標準形對於處理 PID 上的有限生成模，尤其是推導自由模之商的結構時非常有用。史密斯標準形得名於愛爾蘭數學家 Henry John Stephen Smith。 定義 令 A 為主理想域 R 上的非零 mn 矩陣。存在可逆 m times m、n times n 方陣 S T（係數在 R 中），使得它們的積 S A T 為 begin pmatrix alpha_1 0 0 cdots 0 0 alpha_2 0 cdots 0 0 0 ddots 0 vdots alpha_r vdots 0 ddots 0 cdots 0 end pmatrix 對角元素 alpha_i 滿足 forall 1 le i r alpha_i mid alpha_i1。這就是矩陣 A 的史密斯標準形。元素 alpha_i 在乘法意義上是唯一的，是可逆元，稱為基本除子、不變數或不變因子。它們的計算公式為 alpha_i frac d_i Ad_i1A 其中 d_i A（即第 i 個行列式因子）等於矩陣 A 所有 itimes i 子式的行列式的最大公因數，且 d_0 A1。 演算法 第一個目標是找到可逆方陣 S、T 使得 S A T 為對角陣。這是演算法中最難的部分。一旦實現了對角化，將矩陣轉化為史密斯標準形就相對簡單了。更抽象地說，我們的目標是證明 A 可以視為從 Rn（秩為 n 的自由 R 模）到 Rm（秩為 m 的自由 R 模）的對映，且有同構 SRm to Rm、TRn to Rn，使得 S cdot A cdot T 具有對角矩陣的簡單形式。S、T 可用以下方法得到：從適當大小的單位陣開始，每次在演算法中對 A 進行行運算時，都將相應的列運算施於 S（例如，若 A 的 i 行加在 j 行上，則 S 的 i 列應減去 j ，以保持乘積不變），同理，每次列運算都相應地修改 T、由於行運算是左乘，列運算是右乘，這也就保持了 AScdot Acdot T 不變，其中 AST 表示當前值，A 表示原矩陣；最終，不變式中的矩陣變為對角陣。 對於 a in Rsetminus 0，記 delta a 為 a 的素因子數（素因子存在且唯一，因為 PID 都是唯一分解整環） 。特別地，R 也是貝祖環，因此是 GCD 環，任意兩元素的 gcd 滿足貝祖等式。 要將矩陣轉為史密斯標準形，可以重複應用下面的公式，其中 t 從 1 到 m 迴圈。 第一步：選擇主元 擇 j_t 為 A 中非零元所在的最小列數，若 t 1 則從第 j_t11 列開始搜尋。 我們希望 a_tj_tneq0；若是這種情況，這步就完成了。否則，根據假設，存在某個 k，使 a_kj_t neq 0，且我們可以交換 t 行與 k 行，得到 a_tj_tneq0。 現在我們選擇的主元位於 t j_t。 第二步：改進主元 若 kjt 上有元素使 a_tj_t nmid a_kj_t，則令 beta gcdleft a_tj_t a_kj_tright，根據貝祖性質我們知道 R 中存在 σ、τ 使 a_tj_t cdot sigma a_kj_t cdot taubeta 與適當的可逆陣 L 左乘，矩陣乘積的第 t 行是原矩陣第 t 行的 σ 倍與第 k 行的 τ 倍的和，乘積的第 k 行則是這些行的另一個線性組合，其他行則保持不變。若 σ、τ 滿足上市，則對於 alphaa_tj_tbeta 和 gammaa_kj_tbeta（根據 β 的定義，這樣作商是可能的），可以得到 sigmacdot alpha tau cdot gamma1 那麼矩陣 L_0 begin pmatrix sigma tau gamma alpha end pmatrix 可逆，其逆為 begin pmatrix alpha tau gamma sigma end pmatrix 現在 L 可以透過將 L_0 放入單位陣的 tk 行列來得到。根據構造，L 左乘後得到的矩陣在 tjt 的位置上有元素 β（由於我們選擇了 α、γ，kjt 上也有元素 0，雖然這對演算法並不重要，但很有用）。這個新元素 β 除了原元素 a_tj_t，因此 delta beta delta a_tj_t；因此重複這些步驟最後必須終止。最終得到的矩陣的 tjt 元素除以了 jt 列的所有元素。 第三步：消除元素 最後，加上第 t 行的適當倍數，可以使 jt 列中除 tjt 外的所有元素都變為零。這也可以透過左乘適當的矩陣來實現。不過，為使矩陣完全對角，還需消除 tjt 所在行上的非零元素，這可以透過對列重複第二步中的演算法來實現，並與得到的矩陣 L 的轉置右乘。一般來說，這會導致之前應用第三步時消除的元素再次變為非零。 注意，對行列每次應用第二步的演算法都必須減少 delta a_tj_t 的值，因此這一過程須在一定迭代次數後終止，使矩陣中 tjt 元素是所在行列中的唯一非零元。 這時，只需對 tjt 右下方的 A 塊進行對角化，從概念上講這個演算法可以遞迴應用，將塊視為單獨的矩陣。換句話說，可以將 t 增加 1，然後回到第一步。 最後一步 將上述步驟用於結果矩陣的剩餘非零列（如果有的話），最後得到 m times n 矩陣，列為 j_1 ldots j_r，其中 r le min mn。矩陣非零元只有 lj_l。 現在可以把空列向右移動，這樣非零元就到了位置 ii1 le ile r。簡而言之，設 alpha_i 為 ii 上的元素。 對角元的可除性條件可能不能滿足。forall ir 使 alpha_inmidalpha_i1，可以只對 i、i1 行列進行操作來彌補這一缺陷：首先將第 i1 列加到 i 列，以在第 i 列得到 alpha_i1 元素而不影響 ii 位置上的元素 alpha_i，然後應用行運算使 ii 元素等於 betagcd alpha_ialpha_i1，如第二步所述；最後按第三步方法，使矩陣再次對角化。由於 i1i1 的新條目是原 alpha_ialpha_i1 的線性組合，所以可以被 β 除。 delta alpha_1cdotsdelta alpha_r 的值不會因為上述操作而改變（它是上 rtimes r 子陣的行列式的 δ），因此操作確實（透過向右移動因子）減小了 sum_j1r rjdelta alpha_j 所以，這演算法只能應用有限次，意味著我們已經如願得到了 alpha_1midalpha_2midcdotsmidalpha_r。 由於所有行列運算都可逆，這就表明存在可逆方陣 m times m、n times nS T 使乘積 S A T 滿足史密斯標準形的定義。特別地，這表明史密斯標準形一定存在，無需證明。 應用 鏈復形的鏈模為有限生成模時，史密斯標準形對計算鏈復形的同調將十分有用。例如，拓撲學中，可用於計算整數上有限單純復形或 CW 復形的同調，因為這種復形的邊界對映的整數矩陣；還可用於確定主理想域上有限生成模結構定理中出現的不變因子，其中包括了有限生成阿貝爾群基本定理。 控制論中，史密斯標準形還用於計算傳遞函式矩陣的零點。 例子 求下列整數矩陣的史密斯標準形： begin pmatrix 2 4 4 6 6 12 10 4 16 end pmatrix 下面的矩陣是演算法應用於上述矩陣的中間步驟。 to begin pmatrix 2 0 0 6 18 24 10 16 4 end pmatrix to begin pmatrix 2 0 0 0 18 24 0 16 4 end pmatrix to begin pmatrix 2 0 0 0 2 20 0 16 4 end pmatrix to begin pmatrix 2 0 0 0 2 20 0 0 156 end pmatrix to begin pmatrix 2 0 0 0 2 0 0 0 156 end pmatrix 所求史密斯標準形為 begin pmatrix 2 0 0 0 2 0 0 0 156 end pmatrix 不變因子為 2、2、156。 矩陣相似 史密斯標準形可用於判定元素屬於同一域的兩個矩陣是否相似。具體來說，當且僅當特徵矩陣 xIA、xIB 有相同的史密斯標準形時，A、B 相似。 例如 begin align A begin bmatrix 1 2 0 1 end bmatrix mbox SNFxIA begin bmatrix 1 0 0 x12 end bmatrix B begin bmatrix 3 4 1 1 end bmatrix mbox SNFxIB begin bmatrix 1 0 0 x12 end bmatrix C begin bmatrix 1 0 1 2 end bmatrix mbox SNFxIC begin bmatrix 1 0 0 x1x2 end bmatrix end align A、B 相似是因為它們特徵矩陣的史密斯標準形相同，而與 C 不相似，因為它們特徵矩陣的史密斯標準形不同。 另見 規範形 丟番圖方程 弗羅貝尼烏斯標準形（也稱為有理規範形） 埃爾米特標準形 奇異值分解 註釋 參考文獻 Reprinted pp 367409 in The Collected Mathematical Papers of Henry John Stephen Smith Vol I edited by J W L Glaisher Oxford Clarendon Press 1894 xcv603 pp K R Matthews Smith normal form MP274 Linear Algebra Lecture Notes University of Queensland 1991 外部連結 An animated example of computation of Smith normal form Category 矩陣論