在数学中,矩阵的平方根是算术中的平方根概念的推广。对一个矩阵A,如果矩阵B满足
![{\displaystyle B\cdot B=A}](//wikimedia.org/api/rest_v1/media/math/render/svg/726cf4ca4d10e5d20e287f93f62e481221311e25)
那么矩阵B就是A的一个平方根。
计算
与算术中的平方根概念不同,矩阵的平方根不一定只有两个。然而依照矩阵平方根的概念以及矩阵乘法的定义,只有方块矩阵才有平方根。[1]
对角化算法
如果矩阵的系数域是代数闭域,比如说复数域
的时候,对于一个对角矩阵,其平方根是很容易求得的。只需要将对角线上的每一个元素都换成它的平方根就可以了。这种思路可以推广到一般的可对角化矩阵。一个所谓的可对角化矩阵A是指可以通过相似变换成为对角矩阵D的矩阵:
![{\displaystyle \exists P,\quad A=PDP^{-1}}](//wikimedia.org/api/rest_v1/media/math/render/svg/a11093e5cb440fbf4e82a92ff7f0a0f630406a09)
其中的矩阵P是可逆的矩阵。在这种情况之下,假设矩阵D的形式是:
![{\displaystyle D={\begin{bmatrix}d_{1}&0&0&\cdots &0\\0&d_{2}&0&\cdots &0\\\vdots &0&\ddots &0&\vdots \\0&\cdots &0&d_{n-1}&0\\0&\cdots &0&0&d_{n}\end{bmatrix}}}](//wikimedia.org/api/rest_v1/media/math/render/svg/0464294fef093a42e468acfa1b9792793ac78abf)
那么矩阵A的平方根就是:
![{\displaystyle A^{\frac {1}{2}}=PD^{\frac {1}{2}}P^{-1}}](//wikimedia.org/api/rest_v1/media/math/render/svg/e18d1e0a215eea31f43107663c4d957a006aeeb5)
其中的
是:
[2]
丹曼-毕福斯迭代算法
另一种计算矩阵平方根的方法是丹曼-毕福斯迭代算法。在计算一个
矩阵A的平方根时,先设矩阵
,
(
是
的单位矩阵)。然后用以下的迭代公式计算矩阵序列
和
:
![{\displaystyle Y_{k+1}={\frac {Y_{k}+Z_{k}^{-1}}{2}}}](//wikimedia.org/api/rest_v1/media/math/render/svg/d123788e40d16db50fc3464ac4d9c1ff69e41a3b)
![{\displaystyle Z_{k+1}={\frac {Z_{k}+Y_{k}^{-1}}{2}}}](//wikimedia.org/api/rest_v1/media/math/render/svg/bb58d3d85b05233acef4da348515afa849a336f3)
这样的两个序列将会收敛到两个矩阵
和
上。其中
将会是矩阵的平方根,而
将是
的逆矩阵。
参见
参考来源
(英文)Alvin C. Rencher. Methods of Multivariate Analysis, 2nd Edition. Wiley-Interscience. 2002. ISBN 978-0-471-41889-4.,第36页
- Cheng, Sheung Hun; Higham, Nicholas J.; Kenney, Charles S.; Laub, Alan J., Approximating the Logarithm of a Matrix to Specified Accuracy (PDF), SIAM Journal on Matrix Analysis and Applications, 2001, 22 (4): 1112–1125, doi:10.1137/S0895479899364015, (原始内容 (PDF)存档于2011-08-09)
- Denman, Eugene D.; Beavers, Alex N., The matrix sign function and computations in systems, Applied Mathematics and Computation, 1976, 2 (1): 63–94, doi:10.1016/0096-3003(76)90020-5