pub enum NonParametricAlgorithm {
Npag(NpagConfig),
Npod(NpodConfig),
Npmap(NpmapConfig),
Ncnpag(NcnpagConfig),
}Expand description
The non-parametric algorithms supported by PMcore.
Use the constructors to select an algorithm with its default configuration:
use pmcore::prelude::*;
// Default NPAG configuration.
let algorithm = NonParametricAlgorithm::npag();To customize an algorithm, build its configuration struct (which exposes only the
setters valid for that algorithm) and pass it directly to
fit_with:
use pmcore::prelude::*;
// NPAG with a tighter convergence criterion and a cycle cap.
let config = NpagConfig::new().eps(0.1).max_cycles(500);
// `problem.fit_with(config)` accepts the config directly.Each configuration type (NpagConfig, NpodConfig, NpmapConfig) implements
Algorithm by delegating to the matching enum variant, so configs can be passed to
fit_with without converting them first.
Variants§
Npag(NpagConfig)
Non-Parametric Adaptive Grid.
Npod(NpodConfig)
Non-Parametric Optimal Design.
Npmap(NpmapConfig)
Non-parametric maximum a posteriori (posterior probability reweighting).
Ncnpag(NcnpagConfig)
Non-collapsing NPAG (single-pass Bayesian reweighting of fixed support points).
Implementations§
Source§impl NonParametricAlgorithm
impl NonParametricAlgorithm
Sourcepub fn npag() -> Self
pub fn npag() -> Self
The Non-Parametric Adaptive Grid (NPAG) algorithm with its default configuration.
Sourcepub fn npod() -> Self
pub fn npod() -> Self
The Non-Parametric Optimal Design (NPOD) algorithm with its default configuration.
Trait Implementations§
Source§impl<E: Equation + Send + 'static> Algorithm<E, NonParametric> for NonParametricAlgorithm
impl<E: Equation + Send + 'static> Algorithm<E, NonParametric> for NonParametricAlgorithm
Source§type Output = NonParametricResult<E>
type Output = NonParametricResult<E>
NonParametricResult<E>).Source§fn fit(
self,
problem: EstimationProblem<E, NonParametric>,
) -> Result<Self::Output>
fn fit( self, problem: EstimationProblem<E, NonParametric>, ) -> Result<Self::Output>
Source§impl Clone for NonParametricAlgorithm
impl Clone for NonParametricAlgorithm
Source§fn clone(&self) -> NonParametricAlgorithm
fn clone(&self) -> NonParametricAlgorithm
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NonParametricAlgorithm
impl Debug for NonParametricAlgorithm
Source§impl Default for NonParametricAlgorithm
impl Default for NonParametricAlgorithm
Source§impl From<NcnpagConfig> for NonParametricAlgorithm
impl From<NcnpagConfig> for NonParametricAlgorithm
Source§fn from(config: NcnpagConfig) -> Self
fn from(config: NcnpagConfig) -> Self
Source§impl From<NpagConfig> for NonParametricAlgorithm
impl From<NpagConfig> for NonParametricAlgorithm
Source§fn from(config: NpagConfig) -> Self
fn from(config: NpagConfig) -> Self
Source§impl From<NpmapConfig> for NonParametricAlgorithm
impl From<NpmapConfig> for NonParametricAlgorithm
Source§fn from(config: NpmapConfig) -> Self
fn from(config: NpmapConfig) -> Self
Source§impl From<NpodConfig> for NonParametricAlgorithm
impl From<NpodConfig> for NonParametricAlgorithm
Source§fn from(config: NpodConfig) -> Self
fn from(config: NpodConfig) -> Self
Auto Trait Implementations§
impl Freeze for NonParametricAlgorithm
impl RefUnwindSafe for NonParametricAlgorithm
impl Send for NonParametricAlgorithm
impl Sync for NonParametricAlgorithm
impl Unpin for NonParametricAlgorithm
impl UnsafeUnpin for NonParametricAlgorithm
impl UnwindSafe for NonParametricAlgorithm
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,
§impl<T> Context for T
impl<T> Context for T
fn vector_from_element<V>(&self, len: usize, value: <V as VectorCommon>::T) -> Vwhere
V: Vector<C = Self>,
fn vector_from_vec<V>(&self, vec: Vec<<V as VectorCommon>::T>) -> Vwhere
V: Vector<C = Self>,
fn vector_zeros<V>(&self, len: usize) -> Vwhere
V: Vector<C = Self>,
fn dense_mat_zeros<V>(
&self,
rows: usize,
cols: usize,
) -> <V as DefaultDenseMatrix>::Mwhere
V: Vector<C = Self> + DefaultDenseMatrix,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.