Python 导入线性代数Numpy

Python 导入线性代数Numpy,python,numpy,Python,Numpy,我试着用下面的方法 import numpy as np from scipy import linalg as LA from np.LA import matrix_power from np.LA import multi_dot 但是我得到了以下错误: 文件“comp_functions.py”,第9行,在 从np.LA导入矩阵_幂 ModuleNotFoundError:没有名为“np”的模块 这不是由于错误的位置造成的,因为我发现在我从np添加之前,该代码是该站点上大多数其他

我试着用下面的方法


import numpy as np
from scipy import linalg as LA
from np.LA import matrix_power
from np.LA  import multi_dot

但是我得到了以下错误:

文件“comp_functions.py”,第9行,在
从np.LA导入矩阵_幂
ModuleNotFoundError:没有名为“np”的模块

这不是由于错误的位置造成的,因为我发现在我从np添加
之前,该代码是该站点上大多数其他情况的解决方案。LA import multi_dot
在以下功能中运行良好:


def N_eigenvalue(N):
    '''
    Calculates the eigenvalues and eigenvectors of a matrix (N) using the linalg module in scipy

    '''


    eigenvalues, eigenvectors = LA.eig(N)
    print(eigenvalues)
    print(eigenvectors)
    return eigenvalues, eigenvectors

它取决于您正在使用的numpy版本,在numpy
1.17中,应按如下方式导入:

from numpy.linalg import matrix_power
from numpy.linalg import multi_dot

查看更多信息。

comp_functions.py
中,将
np.LA
替换为
numpy.LA
您在这里创建了一个名称空间的混合体,其中两个相似的名称指向两个不同的模块。为什么不导入
numpy.linalg
scipy.linalg
并在整个脚本中使用前缀?
np.linalg.multi_dot
在导入
numpy
后就已经可用了。矩阵幂也是如此AS'的名称,如
np
可以在
from
侧使用
scipy.linalg
不包含
multi\u dot
matrix\u power
。此软件包是对
numpy
软件包的补充,而不是重复。我在
numpy
scipy
导入方面的经验是坚持使用文档化和常规模式。别装聪明。