2016-03-22 21 views
-1

dot製品を次の3つのケースで計算すると、特定の複素NumPy配列のセットで異なる結果が生成されますが、サイズとデータ範囲が同じ2番目のランダムマトリックスは生成されません。Numpyのドットプロダクト非対応

a.dot(b).dot(c).dot(d) 
a.dot(b.dot(c).dot(d)) 
a.dot(b.dot(c)).dot(d) 

[[ 2.23903250e-08 -1.29444679e-07j]] 
[[ 6.09565057e-07 +2.09702260e-07j]] 
[[ 3.40257465e-07 -1.20382176e-07j]] 

アレイは約14 MIOを有するものと非常に大きい生成します。エントリ。サイズが問題になりますか?もしそうなら、なぜnumpyは戦争を起こさないのですか?

+0

私は '.npz'で配列をアップロードしますが、ファイルの大きさは〜200Mbです。 – fhchl

答えて

2

丸め誤差まで、これらの結果はすべて同じです。すべてゼロ行列です。丸め誤差の差は正常です。

+0

問題があります。 acousitcsドメインでは、10^-7は時々ゼロではない。私はこれらの結果を配列の値の大きさと比較していませんでした。 – fhchl

+0

しかし、なぜこれらのcaculationは、等しいサイズのランダムな配列に対して同じ結果をもたらすのですか? – fhchl

+0

@fhchl:丸め誤差が出力値よりはるかに小さいため、ほとんどの場合そうではありません。 – user2357112

関連する問題