【发布时间】:2020-10-10 09:50:39
【问题描述】:
我在用NumPy 反转矩阵时遇到问题。奇怪的是,它只在 18 阶之前给出正确的结果。一旦阶数大于 18,它就会给出错误的结果。
import numpy as np
from decimal import Decimal
import numpy.matlib
I_1=np.matlib.eye(ngrid,ngrid,k=0,dtype=Decimal)
I_2=np.matlib.eye(ngrid,ngrid,k=1,dtype=Decimal)
I_3=np.matlib.eye(ngrid,ngrid,k=2,dtype=Decimal)
B=I_1 + 10.*I_2 + I_3
B=np.divide(B,12.)
B_inv=np.linalg.inv(B)
print B_inv
C=B.dot(B_inv)
print C
最后一行是为了检查它是否给出了正确的结果。
【问题讨论】:
-
请提供一个最小的工作示例。当我复制代码时,没有定义ngrid。