DGESDD 从 numpy 加载 Lapack 例程失败
DGESDD Lapack routine loading from numpy failed
我在使用 numpy.linalg
模块中的 pinv
函数时遇到问题。我想反转一个矩形矩阵 A
:
try:
Binv = np.linalg.pinv(A)
except:
print("an error occurs")
当我 运行 代码没有引发异常,但在我的 Python 提示中出现以下红色文本:init_dgesdd failed init
.
然而,当我在其他上下文(不同的形状、不同的条件值...)中将我的代码与其他矩阵一起使用时,它工作正常。
查了下错误,好像是内存问题。当我使用 (105 x 177144) 形状的矩阵时,它起作用了。但是当我使用 (105 x 178668) 形状的矩阵时,它不起作用。
此外,快速查看 numpy.linalg.umath_linalg.c.src 代码可以看出,当内存缓冲区的内存分配失败时,会引发我之前 post 中提到的错误。此内存缓冲区用于存储 U、S、VT 以及 svd 计算期间所需的所有中间数组。
我在使用 numpy.linalg
模块中的 pinv
函数时遇到问题。我想反转一个矩形矩阵 A
:
try:
Binv = np.linalg.pinv(A)
except:
print("an error occurs")
当我 运行 代码没有引发异常,但在我的 Python 提示中出现以下红色文本:init_dgesdd failed init
.
然而,当我在其他上下文(不同的形状、不同的条件值...)中将我的代码与其他矩阵一起使用时,它工作正常。
查了下错误,好像是内存问题。当我使用 (105 x 177144) 形状的矩阵时,它起作用了。但是当我使用 (105 x 178668) 形状的矩阵时,它不起作用。
此外,快速查看 numpy.linalg.umath_linalg.c.src 代码可以看出,当内存缓冲区的内存分配失败时,会引发我之前 post 中提到的错误。此内存缓冲区用于存储 U、S、VT 以及 svd 计算期间所需的所有中间数组。