2017-03-18 11 views
1

2次元正方配列をとり、許容誤差内で対称であるかどうかを反映するブール値を返します。 aPython numpy:配列が許容範囲内で対称であるかどうかを確認する

私のコードは次のようになります。

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 

、その私が戻ったときに(a)のイムは、実際に私が欲しいものを返さないと、この問題を解決する方法がわからないイムことを私の注意に来ます。あなたが計算ベクトル化することができます

+3

をあなたは、私が追加した場合、 ' –

答えて

0

def is_symmetric(a): 
    return (np.abs(a - a.T) <= tol).all() 
+0

はまだ少し混乱にかかわらず、非常に多くのイムありがとうございます' np.allclose(、AT、誤差RelTol、ABSTOL)を使用することができますこの行の最後に(a)を返すか、コードを追加する必要があるかどうかを確認してください。あなたの助けが大いに評価されるので、これで新しい私は – Hannnnn

+0

真または偽、条件を返す場合は、この行を返すことができます。 'return(np.abs(a - a.T)<= tol).all()'となります。 – Psidom

+0

なぜ 'np.allclose(a、a.T、atol = tol)'を使っていないのですか? –

関連する問題