用python求矩阵的特征值和特征向量及PCA的原理

特征值和特征向量的定义
定义: 设A是n阶矩阵,如果数λ和n维非零向量x使关系式
Ax= λ \lambda λx …(1)
详见 https://blog.csdn.net/fuming2021118535/article/details/51339881

他们之间存在如下关系:
A = P D P − 1 A=PDP^{-1} A=PDP1,D为对角矩阵的充要条件是P的列向量是A的n个线性无关的特征向量,此时,D的主对角线上的元素分别是A对应于P中特征向量的特征值。
详见https://blog.csdn.net/qq_41398808/article/details/100037452?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

求解矩阵A特征值s和右特征向量u的python程序

import numpy as np
def target(A):
    s,u = numpy.linalg.eig(A)
return s,u

‘’’
参数:
A : 矩阵(size m*n)
将计算特征值和右特征向量的矩阵

s : 数组(size λ \lambda λ, λ \lambda λ是特征值的个数)
特征值的向量,每个都根据其多样性重复。特征值不一定是有序的。结果数组将是复数类型,除非虚部为零,在这种情况下它将被转换为实数类型。当a 是实数时,得到的特征值将是实数(0虚部)或出现在共轭对中

u : 数组(size n* λ \lambda λ)
归一化(单位“长度”)特征向量,使得列u[:,i]是对应于特征值的特征向量s[i]。
‘’’

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

奇异值分解(numpy.linalg.svd函数)

你可能感兴趣的:(用python求矩阵的特征值和特征向量及PCA的原理)