python 矩阵特征值分解_python3-特征值,特征分解,SVD奇异值分解

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元素的矩阵称为对角矩阵,或说若一个方阵除了主对角线上的元素外,其余元素都等于零,则称之为对角阵。

特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的

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}\n\n{v}\n\n{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]]

你可能感兴趣的:(python,矩阵特征值分解)