pub struct SDE { /* private fields */ }Expand description
Stochastic Differential Equation solver for pharmacometric models.
This struct represents a stochastic differential equation system and provides methods to simulate particles and estimate likelihood for PKPD modeling.
SDE models introduce stochasticity into the system dynamics, allowing for more realistic modeling of biological variability and uncertainty.
Implementations§
Source§impl SDE
impl SDE
Sourcepub fn new(
drift: fn(&NalgebraVec<f64>, &NalgebraVec<f64>, f64, &mut NalgebraVec<f64>, &NalgebraVec<f64>, &Covariates),
diffusion: fn(&NalgebraVec<f64>, &mut NalgebraVec<f64>),
lag: fn(&NalgebraVec<f64>, f64, &Covariates) -> HashMap<usize, f64>,
fa: fn(&NalgebraVec<f64>, f64, &Covariates) -> HashMap<usize, f64>,
init: fn(&NalgebraVec<f64>, f64, &Covariates, &mut NalgebraVec<f64>),
out: fn(&NalgebraVec<f64>, &NalgebraVec<f64>, f64, &Covariates, &mut NalgebraVec<f64>),
nparticles: usize,
) -> SDE
pub fn new( drift: fn(&NalgebraVec<f64>, &NalgebraVec<f64>, f64, &mut NalgebraVec<f64>, &NalgebraVec<f64>, &Covariates), diffusion: fn(&NalgebraVec<f64>, &mut NalgebraVec<f64>), lag: fn(&NalgebraVec<f64>, f64, &Covariates) -> HashMap<usize, f64>, fa: fn(&NalgebraVec<f64>, f64, &Covariates) -> HashMap<usize, f64>, init: fn(&NalgebraVec<f64>, f64, &Covariates, &mut NalgebraVec<f64>), out: fn(&NalgebraVec<f64>, &NalgebraVec<f64>, f64, &Covariates, &mut NalgebraVec<f64>), nparticles: usize, ) -> SDE
Creates a new stochastic differential equation solver with default Neqs.
Use builder methods to configure dimensions:
SDE::new(drift, diffusion, lag, fa, init, out, nparticles)
.with_nstates(2)
.with_ndrugs(1)
.with_nout(1)Sourcepub fn with_nstates(self, nstates: usize) -> SDE
pub fn with_nstates(self, nstates: usize) -> SDE
Set the number of state variables.
Sourcepub fn with_ndrugs(self, ndrugs: usize) -> SDE
pub fn with_ndrugs(self, ndrugs: usize) -> SDE
Set the number of drug input channels (size of bolus[] and rateiv[]).
Trait Implementations§
Source§impl Cache for SDE
impl Cache for SDE
Source§fn with_cache_capacity(self, size: u64) -> SDE
fn with_cache_capacity(self, size: u64) -> SDE
Source§fn enable_cache(self) -> SDE
fn enable_cache(self) -> SDE
Source§fn clear_cache(&self)
fn clear_cache(&self)
Source§fn disable_cache(self) -> SDE
fn disable_cache(self) -> SDE
Source§impl Equation for SDE
impl Equation for SDE
Source§fn estimate_likelihood(
&self,
subject: &Subject,
support_point: &[f64],
error_models: &AssayErrorModels,
) -> Result<f64, PharmsolError>
👎Deprecated since 0.23.0: Use estimate_log_likelihood() instead for better numerical stability
fn estimate_likelihood( &self, subject: &Subject, support_point: &[f64], error_models: &AssayErrorModels, ) -> Result<f64, PharmsolError>
Use estimate_log_likelihood() instead for better numerical stability
Estimates the likelihood of observed data given a model and parameters.
§Arguments
subject- Subject data containing observationssupport_point- Parameter vector for the modelerror_model- Error model to use for likelihood calculations
§Returns
The log-likelihood of the observed data given the model and parameters.
Source§fn estimate_log_likelihood(
&self,
subject: &Subject,
support_point: &[f64],
error_models: &AssayErrorModels,
) -> Result<f64, PharmsolError>
fn estimate_log_likelihood( &self, subject: &Subject, support_point: &[f64], error_models: &AssayErrorModels, ) -> Result<f64, PharmsolError>
fn kind() -> EqnKind
Source§fn estimate_predictions(
&self,
subject: &Subject,
support_point: &[f64],
) -> Result<Self::P, PharmsolError>
fn estimate_predictions( &self, subject: &Subject, support_point: &[f64], ) -> Result<Self::P, PharmsolError>
Source§fn simulate_subject(
&self,
subject: &Subject,
support_point: &[f64],
error_models: Option<&AssayErrorModels>,
) -> Result<(Self::P, Option<f64>), PharmsolError>
fn simulate_subject( &self, subject: &Subject, support_point: &[f64], error_models: Option<&AssayErrorModels>, ) -> Result<(Self::P, Option<f64>), PharmsolError>
Auto Trait Implementations§
impl Freeze for SDE
impl !RefUnwindSafe for SDE
impl Send for SDE
impl Sync for SDE
impl Unpin for SDE
impl UnsafeUnpin for SDE
impl !UnwindSafe for SDE
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.