[−][src]Trait bacon_sci::ivp::adams::AdamsSolver
This trait allows a struct to be used in the Adams Predictor-Corrector solver
Things implementing AdamsSolver should have an AdamsInfo to handle the actual IVP solving.
Examples
See struct Adams
for an example of implementing this trait
Required methods
pub fn predictor_coefficients() -> Vec<N::RealField>
[src]
The polynomial interpolation coefficients for the predictor. Should start with the coefficient for n - 1
pub fn corrector_coefficients() -> Vec<N::RealField>
[src]
The polynomial interpolation coefficients for the corrector. Must be the same length as predictor_coefficients. Should start with the implicit coefficient.
pub fn error_coefficient() -> N::RealField
[src]
Coefficient for multiplying error by.
pub fn solve_ivp<T: Clone>(
self,
f: fn(_: N::RealField, _: &[N], _: &mut T) -> Result<DVector<N>, String>,
params: &mut T
) -> Result<Vec<(N::RealField, DVector<N>)>, String>
[src]
self,
f: fn(_: N::RealField, _: &[N], _: &mut T) -> Result<DVector<N>, String>,
params: &mut T
) -> Result<Vec<(N::RealField, DVector<N>)>, String>
Use AdamsInfo to solve an initial value problem
pub fn with_tolerance(self, tol: N::RealField) -> Result<Self, String>
[src]
Set the error tolerance for this solver.
pub fn with_dt_max(self, max: N::RealField) -> Result<Self, String>
[src]
Set the maximum time step for this solver.
pub fn with_dt_min(self, min: N::RealField) -> Result<Self, String>
[src]
Set the minimum time step for this solver.
pub fn with_start(self, t_initial: N::RealField) -> Result<Self, String>
[src]
Set the initial time for this solver.
pub fn with_end(self, t_final: N::RealField) -> Result<Self, String>
[src]
Set the end time for this solver.
pub fn with_initial_conditions(self, start: &[N]) -> Result<Self, String>
[src]
Set the initial conditions for this solver.
pub fn build(self) -> Self
[src]
Build this solver.
Implementors
impl<N: ComplexField> AdamsSolver<N> for Adams<N>
[src]
pub fn predictor_coefficients() -> Vec<N::RealField>
[src]
pub fn corrector_coefficients() -> Vec<N::RealField>
[src]
pub fn error_coefficient() -> N::RealField
[src]
pub fn solve_ivp<T: Clone>(
self,
f: fn(_: N::RealField, _: &[N], _: &mut T) -> Result<DVector<N>, String>,
params: &mut T
) -> Result<Vec<(N::RealField, DVector<N>)>, String>
[src]
self,
f: fn(_: N::RealField, _: &[N], _: &mut T) -> Result<DVector<N>, String>,
params: &mut T
) -> Result<Vec<(N::RealField, DVector<N>)>, String>