|
>1. Kann man vor einer Berechnung irgendwie von Mathematica abschaetzen lassen, >wie lange diese Berechnung in etwa dauern wird und wieviel Speicher dazu >notwendig ist? Im allgemeinen gilt: Es gibt nichts Gutes ausser man tut es [E. Kaestner]; die beste Abschaetzung des Speicherplatzbedarfs und er Rechenzeit erhaelt man, indem man die Rechnung tatsaechlich durchfuehrt ;-) >Falls Mathematica dies nicht kann: Wie kann ich eine derartige >Abschaetzung selbst durchfuehren? Muss ich dazu die genauen Routinen kennen, >die Mathematica verwendet? Selbst dann waere es ziemlich schwierig, da der Speicherplatzbedarf und die Rechenzeit der _Zusammensetzung_ verschiedener in Mathematica ver- wendeter Algorithmen nicht einfach bestimmt werden kann. D.h. selbst wenn die Komplexitaet von NDSolve fuer besonders einfache Differentialgleichungen dem Benutzer bekannt waere, koennte er nicht vorhersagen, wie die Komplexitaet sein wird, wenn die Auswertung der Differentialgleichung ihrerseits wieder den Aufruf komplizierter Algorithmen verlangt. >Mein konkretes Beispiel: Ich moechte mit NDSolve einen Satz gekoppelter >gewoehnlicher nichtlinearer Differentialgleichungen erster Ordnung loesen. Nun >weiss ich nicht, wie lange diese Rechnung dauern wird und wieviel Speicher >Mathematica braucht, wenn die Anzahl der Differentialgleichungen 50, 100, 2000 >oder noch mehr betraegt. Probier einfach verschiedene Zahlen von Differentialgleichungen aus, so dass die Rechenzeit vertretbar bleibt, und bestimme die Potenz, mit der die Rechenzeit (bzw. der Speicherplatz) von der Zahl der Differential- gleichungen abhaengt. Damit sind dann grobe Abschaetzungen der Rechenzeit fuer hoehere Zahlen von Differentialgleichungen moeglich. Aber wie immer bei Extrapolationen sollte man vorsichtig mit den Ergebnissen umgehen. Viele Gruesse Arnd Roth |