数学中,史密斯标准形(SNF[1])是适用于所有元素都位于主理想域(PID)的矩阵的标准形(不必是方阵)。史密斯标准形是对角矩阵,可以从原始矩阵左右乘可逆方阵得到。特别地,整数构成一个PID,所以总可以计算出任何整数矩阵的史密斯标准形。史密斯标准形对于处理PID上的有限生成模,尤其是推导自由模之商的结构时非常有用。史密斯标准形得名于爱尔兰数学家Henry John Stephen Smith。
令A为主理想域R上的非零m×n矩阵。存在可逆
、
方阵S, T(系数在R中),使得它们的积S A T为
对角元素
满足
。这就是矩阵A的史密斯标准形。元素
在乘法意义上是唯一的,是可逆元,称为基本除子、不变量或不变因子。它们的计算公式为
![{\displaystyle \alpha _{i}={\frac {d_{i}(A)}{d_{i-1}(A)}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4a0228b027769a5ad60ac524ffa08866e83eb005)
其中
(即第i个行列式因子)等于矩阵A 所有
子式的行列式的最大公因数,且
。
第一个目标是找到可逆方阵
、
使得
为对角阵。这是算法中最难的部分。一旦实现了对角化,将矩阵转化为史密斯标准形就相对简单了。更抽象地说,我们的目标是证明
可以视为从
(秩为
的自由
-模)到
(秩为
的自由
-模)的映射,且有同构
、
,使得
具有对角矩阵的简单形式。
、
可用以下方法得到:从适当大小的单位阵开始,每次在算法中对
进行行运算时,都将相应的列运算施于
(例如,若
的
行加在
行上,则
的
列应减去
,以保持乘积不变),同理,每次列运算都相应地修改
、由于行运算是左乘,列运算是右乘,这也就保持了
不变,其中
表示当前值,
表示原矩阵;最终,不变式中的矩阵变为对角阵。
对于
,记
为
的素因子数(素因子存在且唯一,因为PID都是唯一分解整环) 。特别地,
也是贝祖环,因此是GCD环,任意两元素的gcd满足贝祖等式。
要将矩阵转为史密斯标准形,可以重复应用下面的公式,其中
从1到
循环。
第一步:选择主元[编辑]
择
为
中非零元所在的最小列数,若
则从第
列开始搜索。
我们希望
;若是这种情况,这步就完成了。否则,根据假设,存在某个
,使
,且我们可以交换
行与
行,得到
。
现在我们选择的主元位于
。
第二步:改进主元[编辑]
若(k,jt)上有元素使
,则令
,根据贝祖性质我们知道R中存在σ、τ使
![{\displaystyle a_{t,j_{t}}\cdot \sigma +a_{k,j_{t}}\cdot \tau =\beta .}](https://wikimedia.org/api/rest_v1/media/math/render/svg/703e0034c089db574ba6fcfee78080b98f1c1246)
与适当的可逆阵L左乘,矩阵乘积的第t行是原矩阵第t行的σ倍与第k行的τ倍的和,乘积的第k行则是这些行的另一个线性组合,其他行则保持不变。若σ、τ满足上市,则对于
和
(根据β的定义,这样作商是可能的),可以得到
![{\displaystyle \sigma \cdot \alpha +\tau \cdot \gamma =1,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/915a5f45191b2d70a363fc5c8f550e11525d1ea7)
那么矩阵
![{\displaystyle L_{0}={\begin{pmatrix}\sigma &\tau \\-\gamma &\alpha \\\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/57e4fbb6d7a4cb84b941b6c44a084817351dd24e)
可逆,其逆为
![{\displaystyle {\begin{pmatrix}\alpha &-\tau \\\gamma &\sigma \\\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/87e35d1d98e76b0b998c37867d698c9fd4f78518)
现在L可以通过将
放入单位阵的t~k行列来得到。根据构造,L左乘后得到的矩阵在(t,jt)的位置上有元素β(由于我们选择了α、γ,(k,jt)上也有元素0,虽然这对算法并不重要,但很有用)。这个新元素β除了原元素
,因此
;因此重复这些步骤最后必须终止。最终得到的矩阵的(t,jt)元素除以了jt列的所有元素。
第三步:消除元素[编辑]
最后,加上第t行的适当倍数,可以使jt列中除(t,jt)外的所有元素都变为零。这也可以通过左乘适当的矩阵来实现。不过,为使矩阵完全对角,还需消除(t,jt)所在行上的非零元素,这可以通过对列重复第二步中的算法来实现,并与得到的矩阵L的转置右乘。一般来说,这会导致之前应用第三步时消除的元素再次变为非零。
注意,对行列每次应用第二步的算法都必须减少
的值,因此这一过程须在一定迭代次数后终止,使矩阵中(t,jt)元素是所在行列中的唯一非零元。
这时,只需对(t,jt)右下方的A块进行对角化,从概念上讲这个算法可以递归应用,将块视为单独的矩阵。换句话说,可以将t增加1,然后回到第一步。
最后一步[编辑]
将上述步骤用于结果矩阵的剩余非零列(如果有的话),最后得到
矩阵,列为
,其中
。矩阵非零元只有
。
现在可以把空列向右移动,这样非零元就到了位置
。简而言之,设
为
上的元素。
对角元的可除性条件可能不能满足。
使
,可以只对
、
行列进行操作来弥补这一缺陷:首先将第
列加到
列,以在第i列得到
元素而不影响
位置上的元素
,然后应用行运算使
元素等于
,如第二步所述;最后按第三步方法,使矩阵再次对角化。由于
的新条目是原
的线性组合,所以可以被β除。
的值不会因为上述操作而改变(它是上
子阵的行列式的δ),因此操作确实(通过向右移动因子)减小了
![{\displaystyle \sum _{j=1}^{r}(r-j)\delta (\alpha _{j}).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8915f39063f58c51e7d7977b342fe48fa6983a80)
所以,这算法只能应用有限次,意味着我们已经如愿得到了
。
由于所有行列运算都可逆,这就表明存在可逆方阵
、
S, T使乘积S A T满足史密斯标准形的定义。特别地,这表明史密斯标准形一定存在,无需证明。
链复形的链模为有限生成模时,史密斯标准形对计算链复形的同调将十分有用。例如,拓扑学中,可用于计算整数上有限单纯复形或CW复形的同调,因为这种复形的边界映射的整数矩阵;还可用于确定主理想域上有限生成模结构定理中出现的不变因子,其中包括了有限生成阿贝尔群基本定理。
控制论中,史密斯标准形还用于计算传递函数矩阵的零点。[2]
求下列整数矩阵的史密斯标准形:
![{\displaystyle {\begin{pmatrix}2&4&4\\-6&6&12\\10&4&16\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/52b8b85e85fab2a387f159f4c7029622cd4fec22)
下面的矩阵是算法应用于上述矩阵的中间步骤。
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/00619aca152b038e941f98cdcf7860c6a8bccfac)
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e57e50cda0cffc2cde7d24a2b6246847e0abf69d)
![{\displaystyle \to {\begin{pmatrix}2&0&0\\0&2&0\\0&0&156\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6968bcacc414802084d58b775c3b88b0be168039)
所求史密斯标准形为
![{\displaystyle {\begin{pmatrix}2&0&0\\0&2&0\\0&0&156\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1aa045f482f23bd39df95a8b9a3f971ea500ddba)
不变因子为2、2、156。
矩阵相似[编辑]
史密斯标准形可用于判定元素属于同一域的两个矩阵是否相似。具体来说,当且仅当特征矩阵
、
有相同的史密斯标准形时,A、B相似。
例如
![{\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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a11a431adc021a3efee73b79905727f2e5b01b72)
A、B相似是因为它们特征矩阵的史密斯标准形相同,而与C不相似,因为它们特征矩阵的史密斯标准形不同。
参考文献[编辑]
外部链接[编辑]