Speicherfehler und Listenlimits?

Brauche ich, um zu produzieren große und große (sehr) Matrizen (Markov-Ketten) für wissenschaftliche Zwecke. Ich führe das Kalkül, dass ich in einer Liste der 20301 Elemente (=eine Zeile meiner matrix). Ich brauche alle Daten im Speicher gehen Sie weiter Markov-Schritt, aber ich kann speichern Sie Sie an anderer Stelle (z.B. Datei), falls nötig, auch wenn es langsam meinen Markov-chain-walk-through. Mein computer (wissenschaftliches Labor): Bi-xenon, 6 cores/12threads jeder, 12 GB Arbeitsspeicher, OS: win64

  Traceback (most recent call last):
  File "my_file.py", line 247, in <module>
    ListTemp.append(calculus)
MemoryError

Beispiel der Infinitesimalrechnung Ergebnisse: 9.233747520008198 e-102 (ja, es ist vorbei 1/9000)

Wird der Fehler ausgelöst, wenn die Speicherung der 19766th element:

ListTemp[19766]
1.4509421012263216e-103

Wenn ich weiter

Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    ListTemp[19767]
IndexError: list index out of range

Also diese Liste hatte einen Speicher-Fehler an der 19767 Schleife.

Fragen:

  1. Ist es ein memory-limit auf eine Liste?
    Ist es ein "durch-Liste-limit" oder eine
    "global-pro-script-limit"?
  2. So umgehen Sie diese Grenzen?
    Alle Möglichkeiten im Auge?
  3. Wird es helfen, numpy, python64? Was
    sind die Speicher-Grenzen mit Ihnen? Was
    über andere Sprachen?

InformationsquelleAutor der Frage Taupi | 2011-04-04

Schreibe einen Kommentar