【发布时间】:2017-12-21 17:17:41
【问题描述】:
[python 2.7 和 numpy v1.11.1] 我正在查看矩阵条件数,并尝试在不使用函数 np.linalg.cond() 的情况下计算矩阵的条件数。
根据 numpy 的文档,矩阵条件数的定义是“x 的范数乘以 x 的倒数的范数”。
||X|| * ||X^-1||
对于矩阵
a = np.matrix([[1, 1, 1],
[2, 2, 1],
[3, 3, 0]])
print np.linalg.cond(a)
1.84814479698e+16
print np.linalg.norm(a) * np.linalg.norm(np.linalg.inv(a))
2.027453660713377e+17
我的计算错误在哪里?
谢谢!
【问题讨论】:
-
矩阵奇异 - 0 det, inf inverse 等
-
无法复制。当我调用
inv(a)时,我的 Python/Numpy 会引发LinAlgError("Singular matrix")。
标签: python numpy matrix linear-algebra matrix-inverse