Metode Adams#
Metodele Adams sunt de fapt metode multipas ce încearcă să calculeze soluții ale ODE-lor. În acest subcapitol, vom explica ce înțelegem prin metode multipas și ne vom familiariza cu algoritmii Adams-Bashforth, respectiv Adams-Moulton.
Metode multipas#
O metodă multipas este o metodă numerică ce utilizează mai multe valori calculate în trecut pentru a menține o acuratețe cât mai mare, adică pentru a minimiza erorile numerice.
Cu alte cuvinte, o metodă numerică liniară în \((q+1)\in\mathbb{N}^*\) pași va avea forma:
\[ \boxed{u_{n+1}=\sum_{k=0}^qa_ku_{n-k}+h\sum_{k=0}^qb_kf_{n-k}+hb_{-1}f_{n+1}}\,,\,\,\forall n\geq q \]În formula anterioară, am utilizat notațiile explicate mai jos:
-
\(u_{n+1}\) reprezintă iterația următoare a algoritmului, în timp ce \(u_{0},u_1,\dots,u_n\) sunt iterațiile anterioare;
-
\(f_0,f_1,\dots,f_n\) sunt evaluările unei funcții \(f:\mathbb{R}\rightarrow\mathbb{R}\) la diverse momente de timp;
-
\(a_0,a_1,\dots,a_q\in\mathbb{R}\), \(b_{-1},b_0,\dots,b_q\in\mathbb{R}\) și \(h\in\mathbb{R}\) sunt doar constante (în general, \(h\in\mathbb{R}\) reprezintă un fel de distanță).
În funcție de valoarea lui \(b_{-1}\), metoda se consideră:
-
Explicită, atunci când \(b_{-1}=0\);
-
Implicită, atunci când \(b_{-1}\neq0\).
Nu vom insista mai mult decât este nevoie pe acest concept. Detalii suplimentare, precum alte proprietăți specifice acestor metode, se găsesc întotdeauna în cadrul subcapitolului dedicat.
Metode Adams#
Problema pe care încearcă aceste metode să o rezolve este cea de până acum, în care se oferă ecuația diferențială \(\frac{dy}{dt}=f(t,y)\), respectiv evaluarea lui \(y\) într-un punct \(t_0\), \(y(t_0)=y_0\).
Folosind aceste egalități și presupunând că \(f\) este continuă, se obține că:
\[ \frac{dy}{dt}=f(t,y)\Rightarrow dy=f(t,y)\,dt\Rightarrow y(t)=\int_0^tf(\tau,y)\,d\tau \]Vom sparge acum integrala din partea dreaptă pentru a o scrie în funcție de \(y_0\):
\[ y(t)=\int_0^{t_0}f(\tau,y)\,d\tau+\int_{t_0}^tf(\tau,y)\,d\tau=y_0+\int_{t_0}^tf(\tau,y)\,d\tau \]Vom folosi așadar următoarea egalitate în metodele Adams:
\[ \boxed{y(t)=y_0+\int_{t_0}^tf(\tau,y)\,d\tau} \]Metodele Adams se folosesc de această formulă, însă cum se calculează integrala? Evident, utilizându-se un soi de interpolare polinomială, de exemplu Lagrange, peste care se aplică operația de integrare.
Vom particulariza (fără demonstrație) formula de la metodele multipas pentru a obține recurența specifică metodelor Adams - spre exemplu, o metodă în \((q+1)\in\mathbb{N}^*\) pași va rezulta în recurența (prin \(f_n\) se înțelege \(f_n(t_n,y_n)\)):
\[ \boxed{y_{n+1}=y_n+h\sum_{k=-1}^qb_kf_{n-k}} \]Cele două metode Adams pe care le cunoaștem sunt separate exclusiv prin caracterul lor:
-
Metoda Adams-Bashforth este o metodă Adams explicită (\(b_{-1}=0\));
-
Metoda Adams-Moulton este o metodă Adams implicită (\(b_{-1}\neq0\)).
Cu alte cuvinte, metoda Adams-Bashforth nu se folosește de evaluarea lui \(f\) la momentul curent, în timp ce Adams-Moulton se va folosi și de aceasta. Pentru cei interesați de profunzimea acestui subiect, vă rugăm să consultați subcapitolului dedicat.
Metoda Adams-Bashforth#
În funcție de numărul \(q+1\) de pași, ajungem la următorul tabel ce conține primele câteva metode Adams-Bashforth:
\(q\) și \(q+1\) | Metoda Adams-Bashforth cu \(q+1\) pași | |
\(q=0\Rightarrow q+1=1\) | \(y_{n+1}=y_n+hf_n\) | |
\(q=1\Rightarrow q+1=2\) | \(y_{n+1}=y_n+\dfrac{h}{2}\Big[3f_n-f_{n-1}\Big]\) | |
\(q=2\Rightarrow q+1=3\) | \(y_{n+1}=y_n+\dfrac{h}{12}\Big[23f_n-16f_{n-1}+5f_{n-2}\Big]\) | |
\(q=3\Rightarrow q+1=4\) | \(y_{n+1}=y_n+\dfrac{h}{24}\Big[55f_n-59f_{n-1}+37f_{n-2}-9f_{n-3}\Big]\) |
Metoda Adams-Moulton#
În funcție de numărul \(q+1\) de pași, ajungem la următorul tabel ce conține primele câteva metode Adams-Moulton:
\(q\) și \(q+1\) | Metoda Adams-Moulton cu \(q+1\) pași | |
\(q=0\Rightarrow q+1=1\) | \(y_{n+1}=y_n+\dfrac{h}{2}\Big[f_{n+1}+f_{n}\Big]\) | |
\(q=1\Rightarrow q+1=2\) | \(y_{n+1}=y_n+\dfrac{h}{12}\Big[5f_{n+1}+8f_{n}-f_{n-1}\Big]\) | |
\(q=2\Rightarrow q+1=3\) | \(y_{n+1}=y_n+\dfrac{h}{24}\Big[9f_{n+1}+19f_{n}-5f_{n-1}+f_{n-2}\Big]\) | |
\(q=3\Rightarrow q+1=4\) | \(y_{n+1}=y_n+\dfrac{h}{720}\Big[251f_{n+1}+646f_{n}-264f_{n-1}+106f_{n-2}-19f_{n-3}\Big]\) |
Licență#
The book "Metode Numerice", written by Valentin-Ioan Vintilă, is licensed under CC BY-NC-SA 4.0