DMUG-Archiv 2000

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Rechnungen beschleunigen

> Mathamtica ist ja eigentlich prima, aber ganz schoen langsam beim rechnen!
> 
> Kann mir jemand Tips geben (oder sagen, wo welche stehen), wie man die
> Berechnung der
> Programme beschleunigen kann? Mir ist als Anfanger die optimale Anwendung
> von
> Compile[] noch nicht klar.

Oft kann man schon viel an Geschwindigkeit herausholen, wenn man die
abzuarbeitende Funktion an der richtigen Stelle anwendet, z.B. Factor
nur auf einen Teilausdruck anwenden.

Compile wird von vielen Funktionen automatisch eingesetzt, z.B. von Plot,
es werden darüber hinaus (in Mma 4) viele Funktionen automatisch
kompiliert, ohne daß man das dazusagen muß, etwa werden Funktionen, die
auf Listen von Zahlen angewendet werden, vorkompiliert, um von der
Geschwindigkeit der packed arrays Gebrauch zu machen. Compile hat meines
Wissens aber ausschließlich Auswirkungen auf numerische Berechnungen, und
auch da nur für machine precision.

Für das Abarbeiten von langen Ersetzungslisten bietet Dispatch eine
Optimierungsmöglichkeit, und zwar wird dabei die Liste von Rules gehasht,
so wie das auch für die üblichen Definitionen (Set, SetDelayed)
automatisch gemacht wird.

Es kann in bestimmten Fällen hilfreich sein, das Optimize-Package von
mathsource zu benutzen (mathsource.wolfram.com). Die Optimierung besteht
dabei darin, mehrfach auftretende Ausdrücke nur einmal berechnen zu
müssen. Allerdings ist meine Erfahrung, daß dieses Unterfangen für Mma 4
praktisch nichts bringt, da offensichtlich der Kernel diese Form der
Optimierung schon selbst vornimmt.

Gruß,

Thomas Hahn


Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html