创建一个 returns 具有特征值和特征向量的字典的函数

Creating a function that returns a dictionary with eigenvalue and eigenvector

我正在尝试在 Python 中创建一个函数 returns 一个带有特征向量及其对应特征值的字典:

这是我目前的工作代码:

def eigenvectors(a):
    b = np.matrix(a)
    dicto = {}
    for i in b:
        dicto.append(b)
    return dicto

eigenvectors('1,2,3')

我认为我的处理方式不正确。基本上,我试图定义的参数是一个矩阵,无论我在函数中放入什么矩阵,我都能够取回与之关联的特征向量和特征值。

如果有人能帮助我,我将不胜感激。我觉得我已经记下了这个概念,但我只是很难将功能组合在一起。

numpy.linalg.eig有帮助吗? https://numpy.org/doc/stable/reference/generated/numpy.linalg.eig.html

如果你只希望它作为字典,你可以简单地使用 zip:

a = np.array([
    [1,2,3],
    [4,5,6],
    [7,8,9]
])

def eigenvectors(a):
    values, vectors = np.linalg.eig(a)
    return dict(zip(values, vectors))

eigenvectors(a)