在数学中,矩阵的平方根是算术中的平方根概念的推广。对一个矩阵A,如果矩阵B满足
:B \cdot B = A
那么矩阵B就是A的一个平方根。
计算
与算术中的平方根概念不同,矩阵的平方根不一定只有两个。然而依照矩阵平方根的概念以及矩阵乘法的定义,只有方块矩阵才有平方根。
对角化算法
如果矩阵的系数域是代数闭域,比如说复数域\mathbb{C}的时候,对于一个对角矩阵,其平方根是很容易求得的。只需要将对角线上的每一个元素都换成它的平方根就可以了。这种思路可以推广到一般的可对角化矩阵。一个所谓的可对角化矩阵A是指可以通过相似变换成为对角矩阵D的矩阵:
:\exist P, \quad A = PDP^{-1}
其中的矩阵P是可逆的矩阵。在这种情况之下,假设矩阵D的形式是:
: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}
那么矩阵A的平方根就是:
:A^{\frac{1}{2}} =PD^{\frac{1}{2}} P^{-1}
其中的D^{\frac{1}{2}}是:
:D^{\frac{1}{2}} = \begin{bmatrix} \sqrt{d_1} & 0 & 0 & \cdots & 0 \\
0 & \sqrt{d_2} & 0 & \cdots & 0 \\
\vdots & 0 & \ddots & 0 & \vdots \\
0 & \cdots & 0 & \sqrt{d_{n-1}} & 0 \\
0 & \cdots & 0 & 0 & \sqrt{d_n} \end{bmatrix}
丹曼-毕福斯迭代算法
另一种计算矩阵平方根的方法是丹曼-毕福斯迭代算法。在计算一个n \times n 矩阵A的平方根时,先设矩阵Y_0 = A ,Z_0 = I_n(I_n是n \times n 的单位矩阵)。然后用以下的迭代公式计算矩阵序列\left( Y_k \right)_{k \geqslant 0} 和\left( Z_k \right)_{k \geqslant 0} :
: Y_{k+1} = \frac{Y_k + Z_k^{-1}}{2}
: Z_{k+1} = \frac{Z_k + Y_k^{-1}}{2}
这样的两个序列将会收敛到两个矩阵Y 和Z上。其中Y 将会是矩阵的平方根,而Z将是Y 的逆矩阵。
参见
*平方根分解
*置换矩阵
*正定矩阵
参考来源
*
*
评论 (0)