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

发布时间:2019-09-20 07:34:44编辑:auto阅读(2100)

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

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

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

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

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

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

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

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

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

    
    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]]

关键字