科学的な目的のために、大規模な (非常に) 行列 (マルコフ連鎖) を作成する必要があります。20301 個の要素 (= 行列の 1 行) のリストに入れた微積分を実行します。次のマルコフステップに進むには、メモリ内のすべてのデータが必要ですが、必要に応じて別の場所 (ファイルなど) に保存できますが、マルコフ連鎖のウォークスルーが遅くなる場合があります。私のコンピューター (科学実験室): バイキセノン 6 コア/各 12 スレッド、12GB メモリ、OS: win64
Traceback (most recent call last):
File "my_file.py", line 247, in <module>
ListTemp.append(calculus)
MemoryError
計算結果の例: 9.233747520008198e-102 (はい、1/9000 を超えています)
19766 番目の要素を格納するときにエラーが発生します。
ListTemp[19766]
1.4509421012263216e-103
もっと行けば
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
ListTemp[19767]
IndexError: list index out of range
したがって、このリストには 19767 ループでメモリ エラーがありました。
質問:
リストにメモリ制限はありますか? それは「リストごとの制限」ですか、それとも「スクリプトごとのグローバル制限」ですか?
これらの制限を回避する方法は? 考えている可能性はありますか?
numpy、python64 を使用すると役立ちますか? それらのメモリ制限は何ですか? 他の言語はどうですか?