Wie kann ich eine ODE numerisch auf nachweislich korrekte Ziffern auflösen?

8

Angenommen, wir haben ein Anfangswertproblem der Form wobei genau bekannt ist (dh mit unbegrenzter Genauigkeit) und wir effizient auswerten können mit beliebiger Genauigkeit. Das heißt, wir haben eine Blackbox, die bei gegebenem Vektor und einer ganzen Zahl eine Annäherung an zurückgibt, die garantiert korrekt ist bis Ziffern Zeit Polynom in . Ich würde gerne wissen, ob es praktische Methoden gibt, um eine Annäherung an zu erhaltenx 0R n f : R nR n xR n M f ( x ) M M x ( t f )

dxdt=f(x)x(0)=x0
x0Rnf:RnRnxRnMf(x)MMx(tf) (wobei eine bestimmte ist), was nachweislich auf Ziffern korrekt ist .N.tfRN

Dies ist natürlich nicht für jede Funktion , da möglicherweise ein verrücktes Verhalten aufweist, das die wahre Lösung drastisch verändert, aber nicht aufgegriffen wird eine angemessene Anzahl von Bewertungen. Daher interessiert mich auch, welche Art von Verhaltensbedingungen für (z. B. alle partiellen Ableitungen existieren und sind begrenzt, kleine Lipschitz-Konstante usw.) dazu notwendig wären. f ff:RnRnff

David Zhang
quelle
Die meisten gängigen Methoden wären ungeeignet, da sie Fehler aufweisen, die sich wie verhalten. Wenn Sie also benötigen, führt dies zu einer Anzahl von Schritten, die in : exponentiell ist . Vermutlich würden einige Methoden wie Spektralmethoden dies ermöglichen, wenn Sie zeigen können, dass der Fehler in exponentiell klein ist . Da jeder Schritt eine endliche Anzahl rationaler Operationen mit Zahlen der Länge , ohne Black-Box-Auswertungen, wobei jedes Zeitpolynom in , ist vermutlich die Schrittgröße am wichtigsten. h s10 - M M 1 / h 10 M / s 1 / h O ( M ) M.hshs10MM1/h10M/s1/hO(M)M
Kirill
@Kirill: Bei einem spektralen Ansatz (oder unter Verwendung anderer traditioneller ODE-Methoden) müsste das OP die führenden Konstanten für die Asymptotik kennen, um ein Genauigkeitszertifikat zu erhalten. Diese Konstanten würden aus der Analyse oder Berechnung mittels Intervallarithmetik stammen.
Geoff Oxberry

Antworten:

9

Ich würde gerne wissen, ob es praktische Methoden gibt, um eine Annäherung an (wobei eine bestimmte ist) zu erhalten, die nachweislich auf Ziffern korrekt ist .t fR N.x(tf)tfRN

Das hängt alles von Ihrer Meinung über die Praktikabilität der Intervallarithmetik ab. Es stehen validierte Integratoren zur Verfügung, beispielsweise der COSY- Code aus der Gruppe von Martin Berz. Sie möchten sich wahrscheinlich Artikel von Neumaier, Nedialkov, Berz & Makino, Chachuat, Stadtherr und vielleicht einigen anderen Gruppen ansehen. In ihren Arbeiten werden unter anderem die Ausdrücke "Taylor-Modell", "validierter Integrator" und "Intervallarithmetik" verwendet.

Dies ist natürlich nicht für jede Funktion möglich , da möglicherweise ein verrücktes Verhalten aufweist, das die wahre Lösung drastisch verändert, aber nicht ' t in einer angemessenen Anzahl von Bewertungen aufgegriffen. Daher interessiert mich auch, welche Art von Verhaltensbedingungen für (z. B. alle partiellen Ableitungen existieren und sind begrenzt, kleine Lipschitz-Konstante usw.) dazu erforderlich wären. f ff:RnRnff

Die Standardbeweise (hier denke ich zum Beispiel an Dahlquists Beweis) verwenden normalerweise Ungleichungen vom Gronwall-Typ für Fehlergrenzen. Theoretisch sollten Sie also nur eine begrenzte Lipschitz-Konstante über der Domäne in benötigen Sie interessieren sich für etwas, worüber WolfgangBangerth spricht, obwohl ich nicht weiß, dass ein Lehrbuch für Hochschulabsolventen wie Hairer und Wanner speziell über die Genauigkeit diskutieren würde, mit der Sie bewerten können. ;; Highams Buch über Genauigkeit und Stabilität numerischer Methoden könnte diesen Punkt diskutieren. f( x )Rnf(x)

In der Praxis benötigen Sie für die oben erwähnten Taylor-Modellmethoden normalerweise eine Kombination aus theoretischen und praktischen Bedingungen. Der theoretische Teil ist einfach: Wenn Sie ein Taylor-Modell ter Ordnung wollen , benötigen Sie eine Funktion in . Der Implementierungsteil, der sich mit Ihrem Problem der Praktikabilität befasst, ist schwieriger.C kkCk

Aus Anwendersicht beschränken sich diese Integratoren auf zwei (-ish) Dinge:

  • Habe ich den Quellcode, um auszuwerten ? (Eine Objektdatei reicht nicht aus.)f
  • Kann ich diesen Quellcode aus Gründen der Kompatibilität mit einer automatischen Differenzierungsbibliothek sowie einer Intervallarithmetikbibliothek erweitern?

Angenommen, die Funktion kann analysiert oder vom Operator überladen werden (abhängig von der verwendeten automatischen Differenzierungstechnologie). Wenn Sie eine Funktion generieren können, die die Intervallverlängerung von und seinen ersten Ableitungen berechnet , können Sie eine validierte Integrationsmethode mit implementieren Taylor-Modelle ter Ordnung.k kfkk

Wie für typische ODE-Lösungsmethoden, um Wolfgangs Antwort zu kommentieren:

Ich glaube nicht, dass Sie ein Zertifikat erhalten können, dass der Fehler unter einer bestimmten Zahl liegt, aber Sie werden feststellen, dass die Schätzung unter Ihrer Toleranz liegt.

Jede Methode mit einem eingebetteten Fehlerschätzer enthält die Informationen, auf die sich Wolfgang bezieht. Normalerweise bedeutet dies, dass die Integrationsmethode tatsächlich zwei (oder mehr Lösungen; z. B. DOP853 berechnet 3 Lösungen) Lösungen berechnet und diese über eine Norm vergleicht. Die Annahme ist, dass die Lösung höherer Ordnung genauer ist, was abhängig vom gegebenen Problem, Zeitschritt, Anfangsbedingungen usw. möglicherweise nicht wahr ist. Die von einer Implementierung zurückgegebene Lösung könnte eine der berechneten Kandidatenlösungen sein. Am Beispiel des üblichen Runge-Kutta 4 (5) -Falls könnte man die Lösung 4. Ordnung oder die Lösung 5. Ordnung zurückgeben; Typische Ansätze verwenden die Dormand-Prince-Formeln, die den Fehler in der Lösung 5. Ordnung minimieren und diese anstelle der Lösung 4. Ordnung zurückgeben. weil die Lösung 5. Ordnung wahrscheinlich genauer ist. Ich denke, Sie sollten sich nicht nur mit Stabilitätsproblemen befassen, sondern auch mit der Fehlerkontrolle (Abschnitt II.4 von Hairer und Wanner). Stabilität ist notwendig, aber für die Genauigkeit nicht ausreichend.

Im Gegensatz dazu berechnet ein validierter Integrator ein Intervall, das die wahre Lösung enthält. Wenn die Ober- und Untergrenze dieses Intervalls mit Ziffern übereinstimmen, sind dies die ersten Ziffern in der wahren Lösung, die das Genauigkeitszertifikat darstellt, und klingen wie gewünscht.M.MM

Geoff Oxberry
quelle
Ich bin versucht, meine Antwort zurückzuziehen, weil @ geoffoxberry's einfach so viel besser ist als meine ...
Wolfgang Bangerth
2

Die erste Ihrer Fragen können Sie tatsächlich von den meisten vordefinierten ODE-Integratoren erhalten, da sie alle auf die eine oder andere Weise die Schätzungen des Fehlers verfolgen. Ich glaube nicht, dass Sie ein Zertifikat erhalten können, dass der Fehler unter einer bestimmten Zahl liegt, aber Sie werden feststellen, dass die Schätzung unter Ihrer Toleranz liegt.

Die zweite Ihrer Fragen ist schwerer zu beantworten: Welche Beziehung besteht zwischen der Genauigkeit, mit der Sie bewerten können, und wie sich dies auf die Genauigkeit Ihrer Lösung auswirkt (vorausgesetzt, Sie könnten die ODE genau integrieren). Das Verhältnis dieser beiden Genauigkeiten ist nur die Stabilitätskonstante Ihrer ODE. Dies hängt von Dingen wie der Norm von , der Norm von und der Länge des Zeitraums ab, über den Sie integrieren (und es hängt normalerweise exponentiell von dieser Intervalllänge ab). Die meisten Lehrbücher zu numerischen ODEs enthalten einen Abschnitt zur Stabilität.f ff(x)ff

Wolfgang Bangerth
quelle