pub struct DominanceParameters {
pub delta: f64,
pub max_p_norm_gap: f64,
pub s_max: f64,
pub condition_number: f64,
pub sparsity: f64,
}Expand description
Structural parameters for diagonally dominant systems
Fields§
§delta: f64Strict dominance factor δ > 0
max_p_norm_gap: f64Maximum p-norm gap
s_max: f64Scale factor S_max
condition_number: f64Condition number κ
sparsity: f64Sparsity (fraction of non-zeros)
Implementations§
Source§impl DominanceParameters
impl DominanceParameters
Sourcepub fn from_matrix(m: &Matrix) -> Self
pub fn from_matrix(m: &Matrix) -> Self
Analyze matrix to extract parameters
Sourcepub fn allows_sublinear(&self) -> bool
pub fn allows_sublinear(&self) -> bool
Check if parameters allow sublinear solving
Sourcepub fn query_complexity(&self, epsilon: f64) -> usize
pub fn query_complexity(&self, epsilon: f64) -> usize
Estimate query complexity for single coordinate
Sourcepub fn time_complexity_ns(&self, epsilon: f64, n: usize) -> u64
pub fn time_complexity_ns(&self, epsilon: f64, n: usize) -> u64
Estimate time complexity in nanoseconds
Trait Implementations§
Source§impl Clone for DominanceParameters
impl Clone for DominanceParameters
Source§fn clone(&self) -> DominanceParameters
fn clone(&self) -> DominanceParameters
Returns a duplicate 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 DominanceParameters
impl Debug for DominanceParameters
Source§impl<'de> Deserialize<'de> for DominanceParameters
impl<'de> Deserialize<'de> for DominanceParameters
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
Auto Trait Implementations§
impl Freeze for DominanceParameters
impl RefUnwindSafe for DominanceParameters
impl Send for DominanceParameters
impl Sync for DominanceParameters
impl Unpin for DominanceParameters
impl UnwindSafe for DominanceParameters
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§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§unsafe fn to_subset_unchecked(&self) -> SS
unsafe 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.