The Adams method is a finite-difference multistep method for the numerical integration of ordinary first-order differential equations . In contrast to the Runge-Kutta method, it uses not one, but several values that have already been calculated at previous points to calculate the next value of the desired solution.
Named for the English astronomer John C. Adams who proposed it in 1855.
Let a system of differential equations of the first order be given
- {\ displaystyle y '= f (x, y), y (x_ {0}) = y_ {0}}
,
for which you need to find a solution on a grid with a constant step {\ displaystyle x_ {n} -x_ {0} = (n-1) h}
. The calculated formulas of the Adams method for solving this system are: [1]
a) extrapolation - Adams- Bashfort method
- {\ displaystyle y_ {n + 1} = y_ {n} + h \ sum _ {\ lambda = 0} ^ {k} {u _ {- \ lambda} f (x_ {n- \ lambda}, y_ {n- \ lambda})}}
,
b) interpolation or implicit - Adams- Multon method
- {\ displaystyle y_ {n + 1} = y_ {n} + h \ sum _ {\ lambda = -1} ^ {k-1} {v _ {- \ lambda} f (x_ {n- \ lambda}, y_ {n- \ lambda})}}
,
Where {\ displaystyle u _ {- \ lambda}, v _ {- \ lambda}}
- some calculated constants.
With the same {\ displaystyle k}
formula b) more precisely [2] , but requires solving a nonlinear system of equations to find the value {\ displaystyle y_ {n + 1}}
. In practice, an approximation is found from a), and then one or more refinements are given by the formula
- {\ displaystyle y_ {n + 1} ^ {(i + 1)} = y_ {n} + h \ sum _ {\ lambda = 0} ^ {k-1} {v _ {- \ lambda} f (x_ { n- \ lambda}, y_ {n- \ lambda})} + hv_ {1} f (x_ {n + 1}, y_ {n + 1} ^ {(i)})}
.
Adams Methods {\ displaystyle k}
order require preliminary calculation of the solution in {\ displaystyle k}
starting points. To calculate the initial values, one-step methods are usually used, for example, the 4-stage Runge - Kutta method of the 4th order of accuracy.
Local error of Adams methods {\ displaystyle k} th order - {\ displaystyle O (h ^ {k})} . The error structure of the Adams method is such that the error remains bounded or grows very slowly in the case of asymptotically stable solutions of the equation. This allows you to use this method to find stable periodic solutions, in particular, to calculate the motion of celestial bodies.
Explicit Adams – Bashfort Methods [3]
- {\ displaystyle y_ {n + 1} = y_ {n} + hf (t_ {n}, y_ {n})} , ( Euler method )
- {\ displaystyle {\ begin {aligned} y_ {n + 2} & = y_ {n + 1} + h \ left ({\ frac {3} {2}} f (t_ {n + 1}, y_ {n +1}) - {\ frac {1} {2}} f (t_ {n}, y_ {n}) \ right), \\ y_ {n + 3} & = y_ {n + 2} + h \ left ({\ frac {23} {12}} f (t_ {n + 2}, y_ {n + 2}) - {\ frac {4} {3}} f (t_ {n + 1}, y_ { n + 1}) + {\ frac {5} {12}} f (t_ {n}, y_ {n}) \ right), \\ y_ {n + 4} & = y_ {n + 3} + h \ left ({\ frac {55} {24}} f (t_ {n + 3}, y_ {n + 3}) - {\ frac {59} {24}} f (t_ {n + 2}, y_ {n + 2}) + {\ frac {37} {24}} f (t_ {n + 1}, y_ {n + 1}) - {\ frac {3} {8}} f (t_ {n} , y_ {n}) \ right), \\ y_ {n + 5} & = y_ {n + 4} + h \ left ({\ frac {1901} {720}} f (t_ {n + 4}, y_ {n + 4}) - {\ frac {1387} {360}} f (t_ {n + 3}, y_ {n + 3}) + {\ frac {109} {30}} f (t_ {n +2}, y_ {n + 2}) - {\ frac {637} {360}} f (t_ {n + 1}, y_ {n + 1}) + {\ frac {251} {720}} f (t_ {n}, y_ {n}) \ right). \ end {aligned}}}
Implicit Adams-Multon Methods [3]
- {\ displaystyle y_ {n} = y_ {n-1} + hf (t_ {n}, y_ {n})} , (implicit Euler method)
- {\ displaystyle {\ begin {aligned} y_ {n + 1} & = y_ {n} + {\ frac {1} {2}} h \ left (f (t_ {n + 1}, y_ {n + 1 }) + f (t_ {n}, y_ {n}) \ right), \\ y_ {n + 2} & = y_ {n + 1} + h \ left ({\ frac {5} {12}} f (t_ {n + 2}, y_ {n + 2}) + {\ frac {2} {3}} f (t_ {n + 1}, y_ {n + 1}) - {\ frac {1} {12}} f (t_ {n}, y_ {n}) \ right), \\ y_ {n + 3} & = y_ {n + 2} + h \ left ({\ frac {3} {8} } f (t_ {n + 3}, y_ {n + 3}) + {\ frac {19} {24}} f (t_ {n + 2}, y_ {n + 2}) - {\ frac {5 } {24}} f (t_ {n + 1}, y_ {n + 1}) + {\ frac {1} {24}} f (t_ {n}, y_ {n}) \ right), \\ y_ {n + 4} & = y_ {n + 3} + h \ left ({\ frac {251} {720}} f (t_ {n + 4}, y_ {n + 4}) + {\ frac { 646} {720}} f (t_ {n + 3}, y_ {n + 3}) - {\ frac {264} {720}} f (t_ {n + 2}, y_ {n + 2}) + {\ frac {106} {720}} f (t_ {n + 1}, y_ {n + 1}) - {\ frac {19} {720}} f (t_ {n}, y_ {n}) \ right). \ end {aligned}}}