Überblick
Gute Frage. Es gibt einen Artikel mit dem Titel "Verbesserung der Genauigkeit der Matrixdifferenzierungsmethode für beliebige Kollokationspunkte" von R. Baltensperger. Meiner Meinung nach ist das keine große Sache, aber es hat einen Punkt (der bereits vor dem Erscheinen im Jahr 2000 bekannt war): Es betont die Bedeutung einer genauen Darstellung der Tatsache, dass die Ableitung der konstanten Funktion f( x ) = 1 sollte Null sein (dies gilt genau im mathematischen Sinne, aber nicht unbedingt in der numerischen Darstellung).
Es ist leicht zu erkennen, dass dies erfordert, dass die Zeilensummen der n-ten Ableitungsmatrizen D.( n ) Null sind. Es ist üblich, diese Einschränkung durch Anpassen des diagonalen Eintrags zu erzwingen, dh durch Setzen von D.( n )j j: = - ∑i = 1i ≠ jN.D.i j.(1)
Es ist klar, dass diese Funktion aufgrund von Rundungsfehlern bei Gleitkommaberechnungen nicht genau für die Arbeit an einem Computer gilt. Überraschender ist, dass diese Fehler bei Verwendung der analytischen Formeln für die Ableitungsmatrix (die für viele klassische Kollokationspunkte verfügbar sind, z. B. Gauss-Lobatto) noch schwerwiegender sind.
In dem Papier (und den darin enthaltenen Referenzen) heißt es nun, dass der Fehler der Ableitung in der Größenordnung der Abweichung der Zeilensummen von Null liegt. Ziel ist es daher, diese numerisch so klein wie möglich zu halten.
Numerische Tests
Der gute Punkt ist, dass das Fornberg-Verfahren in dieser Hinsicht recht gut zu sein scheint. Im Bild unten habe ich das Verhalten der exakten, dh analytischen Matrix der ersten Ableitung und der vom Fornberg-Algorithmus abgeleiteten Matrix für eine unterschiedliche Anzahl von Chebyshev-Lobatto-Kollokationspunkten verglichen.
In Anbetracht der Aussage in dem zitierten Artikel impliziert dies wiederum, dass der Fornberg-Algorithmus genauere Ergebnisse für die Ableitung liefert.
Um dies zu beweisen, verwende ich die gleiche Funktion wie in der Arbeit,
f( x ) = 11 + x2.(2)
En=maxi∈{0,…,n}∣∣∣f′(xi)−∑j=1nDijf(xj)∣∣∣.(3)
D~jj=Djj−(∑i=1nDji),for all j.(4)
Fazit
Zusammenfassend scheint die Fornberg-Methode ziemlich genau zu sein, im Fall sogar um etwa 3 Größenordnungen genauer als die Ergebnisse der analytischen Formeln. Dies sollte für die meisten Anwendungen genau genug sein. Darüber hinaus ist dies bemerkenswert, da Fornberg diese Tatsache nicht explizit in seine Methode einzubeziehen scheint (zumindest wird dies in den beiden Fornberg-Papieren nicht erwähnt).N=512
Eine weitere Größenordnung kann für dieses Beispiel durch die einfache Einbeziehung von Gleichung (4) erreicht werden. Da dies ein recht einfacher Ansatz ist und nur einmal für jedes Derivat angewendet wird, sehe ich keinen Grund, ihn nicht zu verwenden.
Die Methode aus dem Baltensperger-Papier, die einen differenzierteren Ansatz zur Bewertung der Summe in Gleichung (1) verwendet, um Rundungsfehler zu reduzieren, ergibt ungefähr die gleiche Größenordnung für den Fehler. Zumindest für dieses Beispiel entspricht es in etwa der oben beschriebenen "Adjusted Fornberg" -Methode.