Struct light_curve_feature::McmcCurveFit
source · pub struct McmcCurveFit {
pub niterations: u32,
pub fine_tuning_algorithm: Option<Box<CurveFitAlgorithm>>,
}
Expand description
MCMC sampler for non-linear least squares
First it generates 4 * dimension_number
walkers from the given initial guess using the
Standard distribution with sigma = 0.1
, next it samples niterations
guesses for each walker
and chooses guess corresponding to the minimum sum of squared deviations (maximum likelihood).
Optionally, if fine_tuning_algorithm
is Some
, it sends this best guess to the next
optimization as an initial guess and returns its result
This method supports both boundaries and priors while doesn’t use the function derivatives if
not required by fine_tuning_algorithm
Fields§
§niterations: u32
§fine_tuning_algorithm: Option<Box<CurveFitAlgorithm>>
Implementations§
source§impl McmcCurveFit
impl McmcCurveFit
pub fn new( niterations: u32, fine_tuning_algorithm: Option<CurveFitAlgorithm> ) -> Self
pub fn default_niterations() -> u32
pub fn default_fine_tuning_algorithm() -> Option<CurveFitAlgorithm>
Trait Implementations§
source§impl Clone for McmcCurveFit
impl Clone for McmcCurveFit
source§fn clone(&self) -> McmcCurveFit
fn clone(&self) -> McmcCurveFit
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for McmcCurveFit
impl Debug for McmcCurveFit
source§impl Default for McmcCurveFit
impl Default for McmcCurveFit
source§impl<'de> Deserialize<'de> for McmcCurveFit
impl<'de> Deserialize<'de> for McmcCurveFit
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<McmcCurveFit> for CurveFitAlgorithm
impl From<McmcCurveFit> for CurveFitAlgorithm
source§fn from(v: McmcCurveFit) -> CurveFitAlgorithm
fn from(v: McmcCurveFit) -> CurveFitAlgorithm
Converts to this type from the input type.
source§impl JsonSchema for McmcCurveFit
impl JsonSchema for McmcCurveFit
source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moresource§impl Serialize for McmcCurveFit
impl Serialize for McmcCurveFit
source§impl TryInto<McmcCurveFit> for CurveFitAlgorithm
impl TryInto<McmcCurveFit> for CurveFitAlgorithm
Auto Trait Implementations§
impl Freeze for McmcCurveFit
impl RefUnwindSafe for McmcCurveFit
impl Send for McmcCurveFit
impl Sync for McmcCurveFit
impl Unpin for McmcCurveFit
impl UnwindSafe for McmcCurveFit
Blanket Implementations§
source§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
source§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
source§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
source§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
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
Mutably borrows from an owned value. Read more
source§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
source§impl<T> ConvUtil for T
impl<T> ConvUtil for T
source§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
Approximate the subject to a given type with the default scheme.
source§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
Approximate the subject to a given type with a specific scheme.
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>
Converts
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>
Converts
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