pub struct LipschitzLoop { /* private fields */ }Expand description
Lipschitz-continuous strange loop implementation
Implementations§
Source§impl LipschitzLoop
impl LipschitzLoop
Sourcepub fn new(params: LipschitzParams, topology: LoopTopology) -> Result<Self>
pub fn new(params: LipschitzParams, topology: LoopTopology) -> Result<Self>
Create a new Lipschitz loop
Sourcepub fn execute<F>(
&mut self,
f: F,
initial_state: NalgebraVec3,
) -> Result<ConvergenceResult>
pub fn execute<F>( &mut self, f: F, initial_state: NalgebraVec3, ) -> Result<ConvergenceResult>
Execute the strange loop until convergence
Sourcepub fn params(&self) -> &LipschitzParams
pub fn params(&self) -> &LipschitzParams
Get current parameters
Sourcepub fn update_params(&mut self, params: LipschitzParams) -> Result<()>
pub fn update_params(&mut self, params: LipschitzParams) -> Result<()>
Update parameters
Sourcepub fn topology(&self) -> &LoopTopology
pub fn topology(&self) -> &LoopTopology
Get current topology
Sourcepub fn set_topology(&mut self, topology: LoopTopology)
pub fn set_topology(&mut self, topology: LoopTopology)
Change topology
Sourcepub fn state_history(&self) -> &VecDeque<NalgebraVec3>
pub fn state_history(&self) -> &VecDeque<NalgebraVec3>
Get state history
Sourcepub fn residual_history(&self) -> &VecDeque<f64>
pub fn residual_history(&self) -> &VecDeque<f64>
Get residual history
Sourcepub fn estimated_lipschitz(&self) -> f64
pub fn estimated_lipschitz(&self) -> f64
Get current Lipschitz estimate
Sourcepub fn execute_with_criteria<F, C>(
&mut self,
f: F,
initial_state: NalgebraVec3,
convergence_check: C,
) -> Result<ConvergenceResult>
pub fn execute_with_criteria<F, C>( &mut self, f: F, initial_state: NalgebraVec3, convergence_check: C, ) -> Result<ConvergenceResult>
Execute with custom convergence criteria
Sourcepub fn analyze_stability<F>(
&self,
f: F,
fixed_point: NalgebraVec3,
) -> Result<StabilityAnalysis>
pub fn analyze_stability<F>( &self, f: F, fixed_point: NalgebraVec3, ) -> Result<StabilityAnalysis>
Analyze stability around a fixed point
Auto Trait Implementations§
impl Freeze for LipschitzLoop
impl RefUnwindSafe for LipschitzLoop
impl Send for LipschitzLoop
impl Sync for LipschitzLoop
impl Unpin for LipschitzLoop
impl UnwindSafe for LipschitzLoop
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
Mutably borrows from an owned value. Read more
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.