史密斯标准形

数学中，史密斯标准形（SNF）是适用于所有元素都位于主理想域（PID）的矩阵的标准形（不必是方阵）。史密斯标准形是对角矩阵，可以从原始矩阵左右乘可逆方阵得到。特别地，整数构成一个PID，所以总可以计算出任何整数矩阵的史密斯标准形。史密斯标准形对于处理PID上的有限生成模，尤其是推导自由模之商的结构时非常有用。史密斯标准形得名于爱尔兰数学家Henry John Stephen Smith。 令A为主理想域R上的非零m×n矩阵。存在可逆 m × m {\displaystyle m\times m} 、 n × n {\displaystyle n\times n} 方阵S, T（系数在R中），使得它们的积S A T为 ( α 1 0 0 ⋯ 0 0 α 2 0 ⋯ 0 0 0 ⋱ 0 ⋮ α r ⋮ 0 ⋱ 0 ⋯ 0 ) . {\displaystyle {\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}}.} 对角元素 α i {\displaystyle \alpha _{i}} 满足 ∀ 1 ≤ i < r ,   α i ∣ α i + 1 {\displaystyle \forall 1\leq i<r,\ \alpha _{i}\mid \alpha _{i+1}} 。这就是矩阵A的史密斯标准形。元素 α i {\displaystyle \alpha _{i}} 在乘法意义上是唯一的，是可逆元，称为基本除子、不变量或不变因子。它们的计算公式为 α i = d i ( A ) d i − 1 ( A ) , {\displaystyle \alpha _{i}={\frac {d_{i}(A)}{d_{i-1}(A)}},} 其中 d i ( A ) {\displaystyle d_{i}(A)} （即第i个行列式因子）等于矩阵A 所有 i × i {\displaystyle i\times i} 子式的行列式的最大公因数，且 d 0 ( A ) := 1 {\displaystyle d_{0}(A):=1} 。 第一个目标是找到可逆方阵 S {\displaystyle S} 、 T {\displaystyle T} 使得 S A T {\displaystyle SAT} 为对角阵。这是算法中最难的部分。一旦实现了对角化，将矩阵转化为史密斯标准形就相对简单了。更抽象地说，我们的目标是证明 A {\displaystyle A} 可以视为从 R n {\displaystyle R^{n}} （秩为 n {\displaystyle n} 的自由 R {\displaystyle R} -模）到 R m {\displaystyle R^{m}} （秩为 m {\displaystyle m} 的自由 R {\displaystyle R} -模）的映射，且有同构 S : R m → R m {\displaystyle S:R^{m}\to R^{m}} 、 T : R n → R n {\displaystyle T:R^{n}\to R^{n}} ，使得 S ⋅ A ⋅ T {\displaystyle S\cdot A\cdot T} 具有对角矩阵的简单形式。 S {\displaystyle S} 、 T {\displaystyle T} 可用以下方法得到：从适当大小的单位阵开始，每次在算法中对 A {\displaystyle A} 进行行运算时，都将相应的列运算施于 S {\displaystyle S} （例如，若 A {\displaystyle A} 的 i {\displaystyle i} 行加在 j {\displaystyle j} 行上，则 S {\displaystyle S} 的 i {\displaystyle i} 列应减去 j {\displaystyle j} ，以保持乘积不变），同理，每次列运算都相应地修改 T {\displaystyle T} 、由于行运算是左乘，列运算是右乘，这也就保持了 A ′ = S ′ ⋅ A ⋅ T ′ {\displaystyle A'=S'\cdot A\cdot T'} 不变，其中 A ′ , S ′ , T ′ {\displaystyle A',S',T'} 表示当前值， A {\displaystyle A} 表示原矩阵；最终，不变式中的矩阵变为对角阵。 对于 a ∈ R ∖ { 0 } {\displaystyle a\in R\setminus \{0\}} ，记 δ ( a ) {\displaystyle \delta (a)} 为 a {\displaystyle a} 的素因子数（素因子存在且唯一，因为PID都是唯一分解整环） 。特别地， R {\displaystyle R} 也是贝祖环，因此是GCD环，任意两元素的gcd满足贝祖等式。 要将矩阵转为史密斯标准形，可以重复应用下面的公式，其中 t {\displaystyle t} 从1到 m {\displaystyle m} 循环。 择 j t {\displaystyle j_{t}} 为 A {\displaystyle A} 中非零元所在的最小列数，若 t > 1 {\displaystyle t>1} 则从第 j t − 1 + 1 {\displaystyle j_{t-1}+1} 列开始搜索。 我们希望 a t , j t ≠ 0 {\displaystyle a_{t,j_{t}}\neq 0} ；若是这种情况，这步就完成了。否则，根据假设，存在某个 k {\displaystyle k} ，使 a k , j t ≠ 0 {\displaystyle a_{k,j_{t}}\neq 0} ，且我们可以交换 t {\displaystyle t} 行与 k {\displaystyle k} 行，得到 a t , j t ≠ 0 {\displaystyle a_{t,j_{t}}\neq 0} 。 现在我们选择的主元位于 ( t , j t ) {\displaystyle (t,j_{t})} 。 若(k,jt)上有元素使 a t , j t ∤ a k , j t {\displaystyle a_{t,j_{t}}\nmid a_{k,j_{t}}} ，则令 β = gcd ( a t , j t , a k , j t ) {\displaystyle \beta =\gcd \left(a_{t,j_{t}},a_{k,j_{t}}\right)} ，根据贝祖性质我们知道R中存在σ、τ使 a t , j t ⋅ σ + a k , j t ⋅ τ = β . {\displaystyle a_{t,j_{t}}\cdot \sigma +a_{k,j_{t}}\cdot \tau =\beta .} 与适当的可逆阵L左乘，矩阵乘积的第t行是原矩阵第t行的σ倍与第k行的τ倍的和，乘积的第k行则是这些行的另一个线性组合，其他行则保持不变。若σ、τ满足上市，则对于 α = a t , j t / β {\displaystyle \alpha =a_{t,j_{t}}/\beta } 和 γ = a k , j t / β {\displaystyle \gamma =a_{k,j_{t}}/\beta } （根据β的定义，这样作商是可能的），可以得到 σ ⋅ α + τ ⋅ γ = 1 , {\displaystyle \sigma \cdot \alpha +\tau \cdot \gamma =1,} 那么矩阵 L 0 = ( σ τ − γ α ) {\displaystyle L_{0}={\begin{pmatrix}\sigma &\tau \\-\gamma &\alpha \\\end{pmatrix}}} 可逆，其逆为 ( α − τ γ σ ) . {\displaystyle {\begin{pmatrix}\alpha &-\tau \\\gamma &\sigma \\\end{pmatrix}}.} 现在L可以通过将 L 0 {\displaystyle L_{0}} 放入单位阵的t~k行列来得到。根据构造，L左乘后得到的矩阵在(t,jt)的位置上有元素β（由于我们选择了α、γ，(k,jt)上也有元素0，虽然这对算法并不重要，但很有用）。这个新元素β除了原元素 a t , j t {\displaystyle a_{t,j_{t}}} ，因此 δ ( β ) < δ ( a t , j t ) {\displaystyle \delta (\beta )<\delta (a_{t,j_{t}})} ；因此重复这些步骤最后必须终止。最终得到的矩阵的(t,jt)元素除以了jt列的所有元素。 最后，加上第t行的适当倍数，可以使jt列中除(t,jt)外的所有元素都变为零。这也可以通过左乘适当的矩阵来实现。不过，为使矩阵完全对角，还需消除(t,jt)所在行上的非零元素，这可以通过对列重复第二步中的算法来实现，并与得到的矩阵L的转置右乘。一般来说，这会导致之前应用第三步时消除的元素再次变为非零。 注意，对行列每次应用第二步的算法都必须减少 δ ( a t , j t ) {\displaystyle \delta (a_{t,j_{t}})} 的值，因此这一过程须在一定迭代次数后终止，使矩阵中(t,jt)元素是所在行列中的唯一非零元。 这时，只需对(t,jt)右下方的A块进行对角化，从概念上讲这个算法可以递归应用，将块视为单独的矩阵。换句话说，可以将t增加1，然后回到第一步。 将上述步骤用于结果矩阵的剩余非零列（如果有的话），最后得到 m × n {\displaystyle m\times n} 矩阵，列为 j 1 < … < j r {\displaystyle j_{1}<\ldots <j_{r}} ，其中 r ≤ min ( m , n ) {\displaystyle r\leq \min(m,n)} 。矩阵非零元只有 ( l , j l ) {\displaystyle (l,j_{l})} 。 现在可以把空列向右移动，这样非零元就到了位置 ( i , i ) ( 1 ≤ i ≤ r ) {\displaystyle (i,i)(1\leq i\leq r)} 。简而言之，设 α i {\displaystyle \alpha _{i}} 为 ( i , i ) {\displaystyle (i,i)} 上的元素。 对角元的可除性条件可能不能满足。 ∀ i < r {\displaystyle \forall i<r} 使 α i ∤ α i + 1 {\displaystyle \alpha _{i}\nmid \alpha _{i+1}} ，可以只对 i {\displaystyle i} 、 i + 1 {\displaystyle i+1} 行列进行操作来弥补这一缺陷：首先将第 i + 1 {\displaystyle i+1} 列加到 i {\displaystyle i} 列，以在第i列得到 α i + 1 {\displaystyle \alpha _{i+1}} 元素而不影响 ( i , i ) {\displaystyle (i,i)} 位置上的元素 α i {\displaystyle \alpha _{i}} ，然后应用行运算使 ( i , i ) {\displaystyle (i,i)} 元素等于 β = gcd ( α i , α i + 1 ) {\displaystyle \beta =\gcd(\alpha _{i},\alpha _{i+1})} ，如第二步所述；最后按第三步方法，使矩阵再次对角化。由于 ( i + 1 , i + 1 ) {\displaystyle (i+1,i+1)} 的新条目是原 α i , α i + 1 {\displaystyle \alpha _{i},\alpha _{i+1}} 的线性组合，所以可以被β除。 δ ( α 1 ) + ⋯ + δ ( α r ) {\displaystyle \delta (\alpha _{1})+\cdots +\delta (\alpha _{r})} 的值不会因为上述操作而改变（它是上 r × r {\displaystyle r\times r} 子阵的行列式的δ），因此操作确实（通过向右移动因子）减小了 ∑ j = 1 r ( r − j ) δ ( α j ) . {\displaystyle \sum _{j=1}^{r}(r-j)\delta (\alpha _{j}).} 所以，这算法只能应用有限次，意味着我们已经如愿得到了 α 1 ∣ α 2 ∣ ⋯ ∣ α r {\displaystyle \alpha _{1}\mid \alpha _{2}\mid \cdots \mid \alpha _{r}} 。 由于所有行列运算都可逆，这就表明存在可逆方阵 m × m {\displaystyle m\times m} 、 n × n {\displaystyle n\times n} S, T使乘积S A T满足史密斯标准形的定义。特别地，这表明史密斯标准形一定存在，无需证明。 链复形的链模为有限生成模时，史密斯标准形对计算链复形的同调将十分有用。例如，拓扑学中，可用于计算整数上有限单纯复形或CW复形的同调，因为这种复形的边界映射的整数矩阵；还可用于确定主理想域上有限生成模结构定理中出现的不变因子，其中包括了有限生成阿贝尔群基本定理。 控制论中，史密斯标准形还用于计算传递函数矩阵的零点。 求下列整数矩阵的史密斯标准形： ( 2 4 4 − 6 6 12 10 4 16 ) {\displaystyle {\begin{pmatrix}2&4&4\\-6&6&12\\10&4&16\end{pmatrix}}} 下面的矩阵是算法应用于上述矩阵的中间步骤。 → ( 2 0 0 − 6 18 24 10 − 16 − 4 ) → ( 2 0 0 0 18 24 0 − 16 − 4 ) {\displaystyle \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}}} → ( 2 0 0 0 2 20 0 − 16 − 4 ) → ( 2 0 0 0 2 20 0 0 156 ) {\displaystyle \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}}} → ( 2 0 0 0 2 0 0 0 156 ) {\displaystyle \to {\begin{pmatrix}2&0&0\\0&2&0\\0&0&156\end{pmatrix}}} 所求史密斯标准形为 ( 2 0 0 0 2 0 0 0 156 ) {\displaystyle {\begin{pmatrix}2&0&0\\0&2&0\\0&0&156\end{pmatrix}}} 不变因子为2、2、156。 史密斯标准形可用于判定元素属于同一域的两个矩阵是否相似。具体来说，当且仅当特征矩阵 x I − A {\displaystyle xI-A} 、 x I − B {\displaystyle xI-B} 有相同的史密斯标准形时，A、B相似。 例如 A = [ 1 2 0 1 ] , SNF ( x I − A ) = [ 1 0 0 ( x − 1 ) 2 ] B = [ 3 − 4 1 − 1 ] , SNF ( x I − B ) = [ 1 0 0 ( x − 1 ) 2 ] C = [ 1 0 1 2 ] , SNF ( x I − C ) = [ 1 0 0 ( x − 1 ) ( x − 2 ) ] . {\displaystyle {\begin{aligned}A&{}={\begin{bmatrix}1&2\\0&1\end{bmatrix}},&&{\mbox{SNF}}(xI-A)={\begin{bmatrix}1&0\\0&(x-1)^{2}\end{bmatrix}}\\B&{}={\begin{bmatrix}3&-4\\1&-1\end{bmatrix}},&&{\mbox{SNF}}(xI-B)={\begin{bmatrix}1&0\\0&(x-1)^{2}\end{bmatrix}}\\C&{}={\begin{bmatrix}1&0\\1&2\end{bmatrix}},&&{\mbox{SNF}}(xI-C)={\begin{bmatrix}1&0\\0&(x-1)(x-2)\end{bmatrix}}.\end{aligned}}} A、B相似是因为它们特征矩阵的史密斯标准形相同，而与C不相似，因为它们特征矩阵的史密斯标准形不同。 规范形 丢番图方程 弗罗贝尼乌斯标准形（也称为有理规范形） 埃尔米特标准形 奇异值分解 Stanley, Richard P. Smith normal form in combinatorics. Journal of Combinatorial Theory. Series A. 2016, 144: 476–495. S2CID 14400632. arXiv:1602.00166 . doi:10.1016/j.jcta.2016.06.013 .  Maciejowski, Jan M. Multivariable feedback design. Wokingham, England: Addison-Wesley. 1989. ISBN 0201182432. OCLC 19456124.  Smith, Henry J. Stephen. On systems of linear indeterminate equations and congruences. Phil. Trans. R. Soc. Lond. 1861, 151 (1): 293–326. JSTOR 108738. S2CID 110730515. doi:10.1098/rstl.1861.0016.  Reprinted (pp. 367–409) in The Collected Mathematical Papers of Henry John Stephen Smith, Vol. I, edited by J. W. L. Glaisher. Oxford: Clarendon Press (1894), xcv+603 pp. Smith normal form at PlanetMath. Example of Smith normal form at PlanetMath. K. R. Matthews, Smith normal form （页面存档备份，存于互联网档案馆）. MP274: Linear Algebra, Lecture Notes, University of Queensland, 1991. An animated example of computation of Smith normal form （页面存档备份，存于互联网档案馆）.