python判断矩阵是否对称_生成numpy-ndarray矩阵对称性

这篇博客探讨了如何在Python中使用numpy库高效地判断矩阵是否对称。通过对比`np.maximum(A, A.T)`和`A + A.T - np.diag(A.diagonal())`两种方法的运行时间,展示了在不同大小的矩阵上,`np.maximum`方法通常具有更好的性能。" 109420506,10241470,Python实现百万答题自动搜索答案,"['Python开发', '图像处理', '自然语言处理', '自动化工具', 'OCR应用']
摘要由CSDN通过智能技术生成

值得一提的是,使用您提到的MATLAB的numpy等价物比添加的link@plonser更有效。In [1]: import numpy as np

In [2]: A = np.zeros((4, 4))

In [3]: np.fill_diagonal(A, np.arange(4)+1)

In [4]: A[2:,:2] = np.eye(2)

# numpy equivalent to MATLAB:

In [5]: %timeit W = np.maximum( A, A.T)

100000 loops, best of 3: 2.95 µs per loop

# method from link

In [6]: %timeit W = A + A.T - np.diag(A.diagonal())

100000 loops, best of 3: 9.88 µs per loop

较大矩阵的计时可以类似地进行:In [1]: import numpy as np

In [2]: N = 100

In [3]: A = np.zeros((N, N))

In [4]: A[2:,:N-2] = np.eye(N-2)

In [5]: np.fill_diagonal(A, np.arange(N)+1)

In [6]: print A

Out[6]:

array([[ 1., 0., 0., ..., 0., 0., 0.],

[ 0., 2., 0., ..., 0., 0., 0.],

[ 1., 0., 3., ..., 0., 0., 0.],

...,

[ 0., 0., 0., ..., 9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值