python 矩阵的( 您所在的位置:网站首页 python矩阵的n次方 python 矩阵的(

python 矩阵的(

#python 矩阵的(| 来源: 网络整理| 查看: 265

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

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

代码 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)

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

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


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有