Mam taki problem z długą symulacją numeryczną, np. 10000 lat z krokiem, powiedzmy dt = 10 minut.
Jaki będzie błąd w takiej symulacji?
W kolejnych krokach sumujemy ciągle, nieważne jaką metodę użyjemy - im wyższą tym gorzej, ponieważ tu stale wyliczamy sumy typu:
y(i+1) = y(i) + v(i)dt + a(i)dt^2/2 + ...
im lepsza metoda - wyższego rzędu, tym mniejszy krok czasu dt, ale wtedy sumujemy więcej składników z tego szeregu,
jawnie lub nie - nie ma to znaczenia...
Zatem wykonując np. miliard kroków: miliard * 10 minut = 19 tysięcy lat.
a wtedy sumuję chyba ze sto miliardów liczby przy metodzie rzędu 4, jak RK4.
Jaki to ma sens? Przecież błąd może być w zasadzie dowolny, biorąc tylko pod uwagę samą wadę tego sumowania:
http://en.wikipedia.org/wiki/Kahan_summation_algorithm
nietrudno wymyślić wariant, w którym błąd sumy będzie dowolnie wielki, np. dla obliczeń na double:
1.0 + 1e-16 + 1e-16 + ... trylion sztuk = 1.0, zamiast 101 !!!