矩阵的幂
Raise a matrix to a power
假设我们有一个已知具有逆的厄米特矩阵 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
. 的矩阵
值得注意的是,正如here所述,这个问题没有唯一的解决方案。在上面的第 2 步中,{e_i}^{-1/2}
和 -{e_i}^{-1/2}
都会得出有效的解决方案,因此 N*N
矩阵 A
将至少有 2^N
个矩阵 B
这样 B^{-2}=A
。如果任何特征值退化,则将存在连续的 space 个有效解。
假设我们有一个已知具有逆的厄米特矩阵 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
. 的矩阵
值得注意的是,正如here所述,这个问题没有唯一的解决方案。在上面的第 2 步中,{e_i}^{-1/2}
和 -{e_i}^{-1/2}
都会得出有效的解决方案,因此 N*N
矩阵 A
将至少有 2^N
个矩阵 B
这样 B^{-2}=A
。如果任何特征值退化,则将存在连续的 space 个有效解。