#[repr(C)]pub struct LevenbergMarquardtStack {
pub parameters: [f64; 4],
pub delta_parameters: [f64; 4],
pub jacobian: [[f64; 10]; 4],
pub residuals: [f64; 10],
pub lambda: f64,
pub chi_squared: f64,
pub config: SolverConfig,
pub solver_state: SolverState,
}Expand description
Levenberg-Marquardt curve fitting optimizer
Fields§
§parameters: [f64; 4]Current parameters
delta_parameters: [f64; 4]Parameter updates
jacobian: [[f64; 10]; 4]Jacobian matrix (4xN observations)
residuals: [f64; 10]Residual vector
lambda: f64Damping parameter
chi_squared: f64Chi-squared value
config: SolverConfigSolver configuration
solver_state: SolverStateSolver state
Implementations§
Source§impl LevenbergMarquardtStack
impl LevenbergMarquardtStack
Sourcepub fn new(initial_parameters: [f64; 4], config: SolverConfig) -> Self
pub fn new(initial_parameters: [f64; 4], config: SolverConfig) -> Self
Create new Levenberg-Marquardt optimizer
Sourcepub fn fit_curve<F>(
&mut self,
f: &F,
x_data: &[f64; 10],
y_data: &[f64; 10],
) -> SolverResult<CurveFitState>where
F: CurveFitFunction,
pub fn fit_curve<F>(
&mut self,
f: &F,
x_data: &[f64; 10],
y_data: &[f64; 10],
) -> SolverResult<CurveFitState>where
F: CurveFitFunction,
Fit curve to data points
Sourcepub fn get_parameters(&self) -> [f64; 4]
pub fn get_parameters(&self) -> [f64; 4]
Get fitted parameters
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LevenbergMarquardtStack
impl RefUnwindSafe for LevenbergMarquardtStack
impl Send for LevenbergMarquardtStack
impl Sync for LevenbergMarquardtStack
impl Unpin for LevenbergMarquardtStack
impl UnsafeUnpin for LevenbergMarquardtStack
impl UnwindSafe for LevenbergMarquardtStack
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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
§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>
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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.