VFGEN

VFGEN
Copyright © 2005-2008 Warren Weckesser
For original English text, go to: http://www.warrenweckesser.net
Translated by A.Romanova

Ein Vektorfeld-Dateigenerator

für die Differenzialgleichungslöser und anderen rechenbetonten Werkzeuge

Warren Weckesser

Eigenschaften

  • Erzeugen Sie Code für gewöhnlich und verzögern Sie Differenzialgleichungen.
  • Geben Sie Ihre Gleichungen einmal, und Export nach vielfachen Dateiformaten an.
  • Erzeugen Sie analytische Ausdrücke für Jacobians und höhere Ableitungen automatisch.
  • Verfügbare Exportformate schließen MATLAB, Scilab, AUTO, GNU Wissenschaftliche Bibliothek (GSL), SciPy, PyDSTool, XPP und mehrere ein.

Neu in der Version 2.4

  • Hinzugefügt der Javascript-Befehl. Jetzt können Sie einen webbasierten Löser für Ihre Differenzialgleichungen leicht erzeugen.

Übersicht

Es gibt viele ausgezeichnete Programme, die verfügbar sind, um Differenzialgleichungen zu lösen und Gabelungen von Vektorfeldern zu schätzen. Jedoch hat jeder sein eigenes Format für das Vektorfeld anzugeben, das die Differenzialgleichung definiert. VFGEN lässt Sie Ihr Vektorfeld einmal definieren (XML verwendend), und das Vektorfeld in mehreren Formaten exportieren. VFGEN verwendet einen C ++ symbolische Algebra-Bibliothek (GiNaC), um Jacobians und höhere Ableitungen automatisch zu erzeugen.

Ein Artikel über VFGEN wurde in der Zeitschrift der Numerischen Analyse, der Industriellen und Angewandten Mathematik, Band 3 (1-2) veröffentlicht.

Hier, werden grob nach der Kategorie gruppiert, sind die Produktionsformate verfügbaren:

ODE Bibliothek-Löser CVODE (C), GNU Wissenschaftliche Bibliothek (C), ODEPACK Löser LSODA, LSODAR und LSODE (Fortran 77), MATLAB, Octave, PyGSL (Python), RADAU5 (Fortran 77), Scilab, SciPy (Python)
Gabelungsanalyse AUTO, DDE-BIFTOOL, DSTool, MATCONT, PDDE-CONT, PyDSTool, XPP
Verzögerungsgleichungen DDE23 (MATLAB), DDE-BIFTOOL (MATLAB), DDE_SOLVER (Fortran 90), Delay2ODE, PDDE-CONT (C++), XPP
Dynamische Systemprogramme DSTool, MATCONT (MATLAB), PyDSTool (Python), XPP
Andere ADOL-C, Delay2ODE, EVF (abweichende Gleichungen), Javascript, LaTeX, Taylor

Viele der Befehle haben eine Demo-Auswahl. Mit dieser Auswahl können Sie ein Arbeitsprogramm mit dem Werkzeug Ihrer Wahl schnell entwickeln.

Letzte Änderungen

Version 2.4.0 (am 17. Juli 2008)

  • Hinzugefügt der Javascript-Befehl.
  • Verbessert docstrings im Code für SciPy erzeugt.
  • Die Demo-Löser Befehl-Linie geschaffen für SciPy, schließt jetzt die Werte irgendwelcher Funktionen in seiner Produktion ein.
  • Fehlerbehebungen: dde23, matlab und die Scilab-Befehle haben nicht richtig den Verzug-Wert der parstyle Auswahl behandelt. Außerdem haben sie schlechten Code erzeugt, wenn es keine Rahmen gab.
  • Die ODE solver für das Demoprogramm, geschafft durch den Matlab-Befehl, wurde zu ode45 (statt ode15s) geändert.
  • Die Oktave-Demo passiert jetzt das Vektorfeld und die Jacobian-Funktionsnamen in einer Zellreihe.
  • Viele andere  tweaks zum VFGEN Quellcode (nicht sichtbar einem Benutzer).

Version 2.3.1 (am 5. April 2008)

  • Hat die Hilfsnachrichten für das Auto, pydstool, pygsl, und Scipy-Befehle befestigt, und einige andere Hilfsnachrichten wiederformatiert.

Version 2.3.0 (am 3. April 2008)

  • Geändert die Konvention, der gefolgt wird, wenn man Python-Funktionen für das Vektorfeld und seinen Jacobian nennt. Der neue Stil ist ein bisschen mehr “Pythonic”. Das betrifft den PyGSL, PyDSTool und die SciPy-Befehle.
(Leider sind die PyGSL-Änderungen nicht geprüft worden. Ich bin nicht
im Stande gewesen, PyGSL auf meinem gegenwärtigen Computer zu installieren,
und ich wollte nicht die Ausgabe zurückhalten, während ich bei meiner
PyGSL Installation die Fehler beseitige. Berichte über den Gebrauch
des VFGEN PyGSL Befehl, gut oder schlecht, werden geschätzt!)
  • Hinzugefügt die Auswahl lang zum AUTO-Befehl. Das gibt dem Benutzer die Wahl, C oder FORTRAN-Code zu erzeugen.
  • Befestigt ein Programmfehler im C-Code, durch das AUTO erzeugt. Ausdrücke wurden nicht vor der Einnahme einer Ableitung in Bezug auf einen Parameter völlig eingesetzt.
  • Der Code überprüft jetzt, dass irgendwelche angegebenen Optionen, sind bekannte Optionen. Vorher wurden unbekannte Auswahl-Namen still ignoriert.
  • Tweaked demos created by the matlab and scilab commands: fixed the spacing of the fields in the matlab GUI; use subplots in the plots created by the scilab demo.
  • Fixed a bug in which the demo programs created by the GSL and CVODE commands would not compile if the vector field had no parameters.

Version 2.2.0 (am 17. März 2008)

  • Neue Befehle: Hinzugefügt lsoda und die Pddecont-Befehle.
  • Hinzugefügt die Durchschnitt-Auswahl zum Evf-Befehl. Mit dieser Auswahl können Sie ein verlängertes Vektorfeld erzeugen, um parametrische Empfindlichkeit zu schätzen.
  • Befestigt ein Hauptprogrammfehler im Berühren von Ausdrücken. Für mehrere der Befehle, wenn ein Ausdruck einen anderen Ausdruck verwendete, würde er richtig nicht bewertet, als ein Jacobian geschätzt wurde.
  • Verbessert der Fehler überprüfend kommt das vor, wenn VFGEN eine Vektorfeld-Datei liest.
  • Gezwickte Demos, die durch den matlab und die Scilab-Befehle geschaffen sind: befestigt der Abstand der Felder im GUI matlab; verwenden Sie Nebenhandlungen in den Anschlägen, durch die scilab Demo geschaffen wird.
  • Befestigt ein Programmfehler, in dem die Demoprogramme, die durch den GSL und die CVODE-Befehle geschaffen sind, würden nicht kompilieren, wenn das Vektorfeld keine Rahmen hätte.
  • Befestigt der Programmfehler, das VFGEN veranlasste abzustürzen, als der Delay2ode-Befehl auf eine Verzögerungsgleichung angewandt wurde, in der ein Zeitabstand kein einziges Symbol war.
  • Befestigt die Einstellung der Werte von XPP Zahlen, Durchschnitten, und anfänglichen Bedingungen, wenn die Voreinstellung-Initiale-Bedingungen, Voreinstellung-Parameter-Werte, oder die Werte von Konstanten werden in Begriffe der vorherig-definierte Symbole ausgedrückt.
  • Viele mehr geringe Änderungen und Fehlerbehebungen.

Version 2.1.0 (am 3. Juni 2007)

  • Neue Befehle: Hinzugefügt die Oktave, pydstool und Radau5-Befehle.
  • Das Demoprogramm wird durch den cvode-Befehl geschaffen, erzeugt jeder Punkt, dass es rechnet, statt eine Reihe von 201 gleichmäßig-verteilte Punkte.
  • Die parstyle Auswahl wurde vom Matcont-Befehl entfernt. (Jeder Parameter muss als ein getrenntes Argument in der Vektorfeld-Funktion und seinen Ableitungen gegeben werden.)
  • Hinzugefügt kurze docstrings zu den Vektorfeld-Funktionen, die durch den pygsl und die Scipy-Befehle geschaffen sind.

Version 2.0.0 (am 4. Mai 2007)