如何通过对python中的特征值进行排序来快速更改相应的特征向量?

时间:2019-02-16 08:02:04

标签: python arrays numpy sorting eigenvector

我很困惑,试图通过对特征值进行排序来更改相应的特征向量。

所有特征值:

 array([[[[-8.        , -0.        ,  4.        ],
     [-4.        , -3.        ,  4.        ],
     [-2.82842712, -0.        ,  2.82842712],
     [ 0.        ,  0.        ,  2.        ]],

    [[-4.        ,  0.        ,  4.        ],
     [-4.        ,  0.        ,  4.        ],
     [-2.        ,  0.        ,  2.        ],
     [ 0.        ,  0.        ,  0.        ]]],


   [[[-4.        ,  0.        ,  4.        ],
     [-4.        ,  0.        ,  4.        ],
     [-2.        ,  0.        ,  2.        ],
     [ 0.        ,  0.        ,  0.        ]],

    [[ 0.        ,  0.        ,  0.        ],
     [-4.        ,  0.        ,  4.        ],
     [ 0.        ,  0.        ,  0.        ],
     [ 0.        ,  0.        ,  0.        ]]]])

对特征值排序后(“轴= -1”方向):

   array([[[[-0.        ,  4.        , -8.        ],
     [-3.        , -4.        ,  4.        ],
     [-0.        , -2.82842712,  2.82842712],
     [ 0.        ,  0.        ,  2.        ]],

    [[ 0.        , -4.        ,  4.        ],
     [ 0.        , -4.        ,  4.        ],
     [ 0.        , -2.        ,  2.        ],
     [ 0.        ,  0.        ,  0.        ]]],


   [[[ 0.        , -4.        ,  4.        ],
     [ 0.        , -4.        ,  4.        ],
     [ 0.        , -2.        ,  2.        ],
     [ 0.        ,  0.        ,  0.        ]],

    [[ 0.        ,  0.        ,  0.        ],
     [ 0.        , -4.        ,  4.        ],
     [ 0.        ,  0.        ,  0.        ],
     [ 0.        ,  0.        ,  0.        ]]]])

如何根据特征值的排序获得对应的特征向量?

问题是,如果我想索引对应于最大特征值的特征向量,该特征向量是否会因为特征值内部的顺序而改变,那么如何按列获取相应的特征向量?

请帮助!预先谢谢你!

0 个答案:

没有答案