ely*_*ely 19 python numpy linear-algebra
在NumPy中,我试图用来linalg计算Newton-Raphson方案每一步的矩阵求逆(问题大小有意为小,以便我们可以反演分析计算的Hessian矩阵).然而,在我走向收敛之后,Hessian接近于单数.
NumPy中是否有任何方法可以让我测试矩阵是否被认为是奇异的(计算行列式不够健壮)?理想情况下,如果有一种方法可以使用try except块来捕获NumPy的奇异数组错误,那将是很好的.
我该怎么做?终端给出的NumPy错误是:
raise LinAlgError, 'Singular matrix'
numpy.linalg.linalg.LinAlgError: Singular matrix
Run Code Online (Sandbox Code Playgroud)
wim*_*wim 37
语法如下:
import numpy as np
try:
# your code that will (maybe) throw
except np.linalg.LinAlgError as err:
if 'Singular matrix' in str(err):
# your error handling block
else:
raise
Run Code Online (Sandbox Code Playgroud)
wim的回答不再适用于当前版本的NumPy(我在撰写本文时使用的是1.13).相反:
import numpy as np
try:
# your code that will (maybe) throw
except np.linalg.LinAlgError as e:
if 'Singular matrix' in str(e):
# your error handling block
else:
raise
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10263 次 |
| 最近记录: |