[][src]Trait bacon_sci::ivp::adams::AdamsSolver

pub trait AdamsSolver<N: ComplexField>: Sized {
    pub fn predictor_coefficients() -> Vec<N::RealField>;
pub fn corrector_coefficients() -> Vec<N::RealField>;
pub fn error_coefficient() -> N::RealField;
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>;
pub fn with_tolerance(self, tol: N::RealField) -> Result<Self, String>;
pub fn with_dt_max(self, max: N::RealField) -> Result<Self, String>;
pub fn with_dt_min(self, min: N::RealField) -> Result<Self, String>;
pub fn with_start(self, t_initial: N::RealField) -> Result<Self, String>;
pub fn with_end(self, t_final: N::RealField) -> Result<Self, String>;
pub fn with_initial_conditions(self, start: &[N]) -> Result<Self, String>;
pub fn build(self) -> Self; }

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]

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.

Loading content...

Implementors

impl<N: ComplexField> AdamsSolver<N> for Adams<N>[src]

Loading content...