在Numpy中检查矩阵是否对称。
- 论坛
- 在Numpy中检查矩阵是否对称。
10 浏览
在Numpy中检查矩阵是否对称。
我试图创建一个带有参数 (a, tol=1e-8)
的函数,该函数返回一个布尔值,告诉用户矩阵是否对称(对称矩阵等于其转置)。到目前为止,我有:
def check_symmetric(a, tol=1e-8): if np.transpose(a) == a: return True else: return False
虽然我一直收到一个 axes未定义
的消息,所以我相当确定这根本不起作用......我想要通过以下测试:
e = np.eye(4) f = np.diag([1], k=3) g = e[1:, :] print(check_symmetric(e)) print(not check_symmetric(e + f)) print(check_symmetric(e + f * 1e-9)) print(not check_symmetric(e + f * 1e-9, 1e-10)) try: check_symmetric(g) print(False) except ValueError: print(True)
感谢任何帮助!