当前位置:   article > 正文

python 矩阵的(-1/2)次方?_python中矩阵的负二分之一次方

python中矩阵的负二分之一次方

python 矩阵的(-1/2)次方?

运算

已知方阵 A A A,求 A − 1 2 A^{-\frac{1}{2}} A21
从以下思路入手,假设存在对角矩阵 Λ \Lambda Λ 使得下式成立:
P − 1 A P = Λ Λ = diag [ μ 1 , μ 2 , ⋯   , μ n ] P^{-1}AP = \Lambda \\ \Lambda = \text{diag}[\mu_1, \mu_2, \cdots, \mu_n] P1AP=ΛΛ=diag[μ1,μ2,,μn]

则:
A − 1 2 = P P − 1 A − 1 2 P P − 1 = P Λ − 1 2 P − 1 A^{-\frac{1}{2}} = PP^{-1}A^{-\frac{1}{2}}PP^{-1} =P \Lambda^{-\frac{1}{2}} P^{-1} A21=PP1A21PP1=PΛ21P1
Λ − 1 2 = diag [ μ 1 − 1 2 , μ 2 − 1 2 , ⋯   , μ n − 1 2 ] \Lambda^{-\frac{1}{2}} = \text{diag}[\mu_1^{-\frac{1}{2}}, \mu_2^{-\frac{1}{2}}, \cdots, \mu_n^{-\frac{1}{2}}] Λ21=diag[μ121,μ221,,μn21]


代码

import numpy as np
from numpy import linalg as la

# v 为特征值    Q 为特征向量
v, Q = la.eig(A)
# print(v)
V = np.diag(v**(-0.5))
# print(V)
T = Q * V * la.inv(Q)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

之前写错了矩阵求逆的代码,已更正。不过有没有人试过下面这两种效果是不是一样的

T = Q * V * la.inv(Q)


T = Q * V * (Q**(-1))
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/716905
推荐阅读
相关标签
  

闽ICP备14008679号