假设我们有一个已知具有逆的埃尔米特矩阵A
。
我知道LAPACK库中的ZGETRF
和ZGETRI
子程序可以计算逆矩阵。
LAPACK或BLAS库中是否有子程序可以直接计算A^{-1/2}
或以任何其他方式计算A^{-1/2}
?
您可以按照类似于矩阵指数的过程将矩阵提升为幂:
- 对矩阵进行对角化,得到特征向量
v_i
和相应的特征值e_i
- 将本征值提高到幂
{e_i}^{-1/2}
- 构造本征值为
{e_i}^{-1/2}
、本征向量为v_i
的矩阵
值得注意的是,正如这里所描述的,这个问题没有唯一的解决方案。在上面的步骤2中,{e_i}^{-1/2}
和-{e_i}^{-1/2}
都将导致有效的解,因此N*N
矩阵A
将至少具有2^N
矩阵B
,使得B^{-2}=A
。如果任何特征值是退化的,那么将存在有效解的连续空间。