python3-特征值,特征分解,SVD

2020-01-06 10:20:12 浏览数 (1)

1.设A为n阶矩阵,若存在常数λ及n维非零向量x,使得Ax=λx,则称λ是矩阵A的特征值,x是A属于特征值λ的特征向量。 A的所有特征值的全体,叫做A的谱,记为λ(A) 2.特征分解(Eigendecomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。需要注意只有对可对角化矩阵才可以施以特征分解。 一个矩阵的一组特征向量是一组正交向量。

令 A 是一个 N×N 的方阵,且有 N 个线性无关的特征向量 。这样, A 可以被分解为:

其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每个对角线上的元素就是一个特征值。这里需要注意只有可对角化矩阵才可以作特征分解。

只有对角线上有非0元素的矩阵称为对角矩阵,或说若一个方阵除了主对角线上的元素外,其余元素都等于零,则称之为对角阵。 特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的

代码语言:javascript复制
import numpy as np
x=np.mat(np.array([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.]]))
print(x)
print(np.linalg.det(x))
s,v,d=np.linalg.svd(x)
print (f"{s}nn{v}nn{d}n")

[[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]] -9.51619735392994e-16 [[-0.21483724 0.88723069 0.40824829] [-0.52058739 0.24964395 -0.81649658] [-0.82633754 -0.38794278 0.40824829]]

[1.68481034e 01 1.06836951e 00 3.33475287e-16]

[[-0.47967118 -0.57236779 -0.66506441] [-0.77669099 -0.07568647 0.62531805] [-0.40824829 0.81649658 -0.40824829]]

0 人点赞