Trait RandomProcess

Source
pub trait RandomProcess<X>
where X: Scalar + Debug, Self: Sized,
{ 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§

Source

type Error: Error + Send + Sync + 'static

Error from

Source

type Index

Type of the indexing set.

Source

type SampleFunction: Rv<DVector<X>>

Type of the sample function, aka trajectory of the process.

Required Methods§

Source

fn sample_function(&self, indices: &[Self::Index]) -> Self::SampleFunction

Create a sample function at the indices given.

Source

fn ln_m(&self) -> f64

Compute the log marginal likelihood

Source

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.

Source

fn parameters(&self) -> DVector<f64>

Get the parameters

Source

fn set_parameters(self, parameters: &DVector<f64>) -> Result<Self, Self::Error>

Set with the given 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.

Implementors§