pub trait RandomProcess<X>{
type Error: Error + Send + Sync + 'static;
type Index;
type SampleFunction: Rv<DVector<X>>;
// Required methods
fn sample_function(&self, indices: &[Self::Index]) -> Self::SampleFunction;
fn ln_m(&self) -> f64;
fn ln_m_with_params(
&self,
parameter: &DVector<f64>,
) -> Result<(f64, DVector<f64>), Self::Error>;
fn parameters(&self) -> DVector<f64>;
fn set_parameters(
self,
parameters: &DVector<f64>,
) -> Result<Self, Self::Error>;
}
Expand description
A representation of a generic random process
Required Associated Types§
Sourcetype SampleFunction: Rv<DVector<X>>
type SampleFunction: Rv<DVector<X>>
Type of the sample function, aka trajectory of the process.
Required Methods§
Sourcefn sample_function(&self, indices: &[Self::Index]) -> Self::SampleFunction
fn sample_function(&self, indices: &[Self::Index]) -> Self::SampleFunction
Create a sample function at the indices given.
Sourcefn ln_m_with_params(
&self,
parameter: &DVector<f64>,
) -> Result<(f64, DVector<f64>), Self::Error>
fn ln_m_with_params( &self, parameter: &DVector<f64>, ) -> Result<(f64, DVector<f64>), Self::Error>
Compute the log marginal likelihood with an different set of parameters and compute the gradient.
Sourcefn parameters(&self) -> DVector<f64>
fn parameters(&self) -> DVector<f64>
Get the parameters
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.