美文网首页
python – 检查Numpy中的矩阵是否对称!

python – 检查Numpy中的矩阵是否对称!

作者: 919b0c54458f | 来源:发表于2019-01-26 10:47 被阅读13次

    我正在尝试使用参数(a,tol = 1e-8)创建一个函数,该函数返回一个布尔值,告诉用户矩阵是否对称(对称矩阵等于其转置).到目前为止我有:

    def check_symmetric(a, tol=1e-8):

    if np.transpose(a, axes=axes) == np.transpose(a, axes=axes):

    return True

    def sqr(s):

    rows = len(s)

    for row in sq:

    if len(row) != rows:

    return False

    return True

    if a != sqr(s):

    raise ValueError

    虽然我不断得到一个轴没有定义消息,所以我很确定它根本不起作用……我想通过的测试是:

    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)

    任何帮助表示赞赏,谢谢!

    你可以简单地使用allclose

    def check_symmetric(a, tol=1e-8):

    return numpy.allclose(a, a.T, atol=tol)

    进群:960410445 即可获取数十套PDF!

    相关文章

      网友评论

          本文标题:python – 检查Numpy中的矩阵是否对称!

          本文链接:https://www.haomeiwen.com/subject/zftijqtx.html