高效且符合Python风格的检查奇异矩阵

16 浏览
0 Comments

高效且符合Python风格的检查奇异矩阵

我在进行一些矩阵代数运算。有时候我需要求一个可能是奇异或病态的矩阵的逆。我知道在Python中,可以简单地这样做:

try:
    i = linalg.inv(x)
except LinAlgErr as err:
    #处理异常

但我不确定这种方法的效率如何。这样做会更好吗?

if linalg.cond(x) < 1/sys.float_info.epsilon:
    i = linalg.inv(x)
else:
    #处理异常

numpy.linalg是不是会提前执行我规定的测试?

0