Enum ModeInitialization
#[non_exhaustive]pub enum ModeInitialization {
Zero,
Uniform,
LinearSpaced,
}Expand description
Initial placement of the center frequencies ω_k for the ADMM iteration.
Center frequencies are tracked in normalized frequency (cycles/sample,
range [0, 0.5]).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Zero
All ω_k = 0. Robust but slow to converge when modes are widely
separated in frequency.
Uniform
Independent uniform samples on [0, 0.5], then sorted ascending.
Driven by VMDConfig::random_seed.
LinearSpaced
Equally spaced over [0, 0.5]: ω_k = k / K · 0.5 for k = 0..K.
Matches the reference MATLAB implementation’s initFreq = 'linear'
option. Default; usually the fastest-converging choice when modes
are well separated.
Trait Implementations§
§impl Clone for ModeInitialization
impl Clone for ModeInitialization
§fn clone(&self) -> ModeInitialization
fn clone(&self) -> ModeInitialization
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for ModeInitialization
impl Debug for ModeInitialization
§impl PartialEq for ModeInitialization
impl PartialEq for ModeInitialization
impl Copy for ModeInitialization
impl Eq for ModeInitialization
impl StructuralPartialEq for ModeInitialization
Auto Trait Implementations§
impl Freeze for ModeInitialization
impl RefUnwindSafe for ModeInitialization
impl Send for ModeInitialization
impl Sync for ModeInitialization
impl Unpin for ModeInitialization
impl UnwindSafe for ModeInitialization
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§impl<T> IntoEither for T
impl<T> IntoEither for T
§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 more§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> 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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§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).§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.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.