Python numpy:查看数组是否在公差范围内对称
我正在寻找一个函数,它接受一个二维正方形数组,并返回一个布尔值,该值反映Python numpy:查看数组是否在公差范围内对称,python,arrays,numpy,Python,Arrays,Numpy,我正在寻找一个函数,它接受一个二维正方形数组,并返回一个布尔值,该值反映a是否在公差范围内对称于a 我的代码如下所示: for i in range(len(a)): for j in range(len(a[0])): if abs(a[i][j] - a.transpose()[j][i]) <= tol: a == a.transpose().all 对于范围内的i(len(a)): 对于范围内的j(len(a[0]): 如果abs(
a
是否在公差范围内对称于a
我的代码如下所示:
for i in range(len(a)):
for j in range(len(a[0])):
if abs(a[i][j] - a.transpose()[j][i]) <= tol:
a == a.transpose().all
对于范围内的i(len(a)):
对于范围内的j(len(a[0]):
如果abs(a[i][j]-a.transpose()[j][i])可以对计算进行矢量化:
def is_symmetric(a):
return (np.abs(a - a.T) <= tol).all()
def是对称的(a):
return(np.abs(a-a.T)您可以将计算矢量化:
def is_symmetric(a):
return (np.abs(a - a.T) <= tol).all()
def是对称的(a):
您可以使用np.abs(a-a.T)
np.allclose(a,a.T,reltol,absol)
您可以使用np.allclose(a,a.T,reltol,absol)
非常感谢您,如果我添加一个return(a),我仍然有点困惑在这一行的末尾,或者如果我需要添加更多的代码。我是新手,所以如果你想返回真或假,即条件,你可以返回这一行。return(np.abs(a-a.T)你为什么不使用np.allclose(a,a.T,atol=tol)
?@NilsWerner我想这应该归功于注释:),除此之外,这里的直接回答与np.allclose
一样简洁。非常感谢,如果我添加一个返回(a),我仍然有点困惑在这一行的末尾,或者如果我需要添加更多的代码。我是新手,所以如果你想返回真或假,即条件,你可以返回这一行。return(np.abs(a-a.T)你为什么不使用np.allclose(a,a.T,atol=tol)
?@NilsWerner我想这应该归功于注释:),除此之外,这里的直接答案与np.allclose
一样简洁。