pub struct AmdOptions {
pub aggressive: bool,
pub dense_alpha: f64,
}Expand description
Tunable parameters for AMD ordering.
Defaults match faer / SuiteSparse: aggressive = true,
dense_alpha = 10.0.
Fields§
§aggressive: boolEnable aggressive element absorption in the Pass-2 degree
loop (faer amd.rs:404-407).
dense_alpha: f64Dense-row threshold multiplier. A variable with initial
degree exceeding min(max(16, floor(dense_alpha * sqrt(n))), n)
is deferred to the end of the ordering — the max(16) floor is
applied before the min(n) cap, matching faer amd.rs:173-179
/ SuiteSparse AMD (the order matters: it guarantees the
threshold is <= n). A negative value uses a raw threshold of
n - 2 in place of dense_alpha * sqrt(n), with the same
max(16)/min(n) clamps; for n >= 18 that is exactly
n - 2, suppressing deferral for all but true hubs of degree
n - 1.
Trait Implementations§
Source§impl Clone for AmdOptions
impl Clone for AmdOptions
Source§fn clone(&self) -> AmdOptions
fn clone(&self) -> AmdOptions
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 AmdOptions
impl Debug for AmdOptions
Auto Trait Implementations§
impl Freeze for AmdOptions
impl RefUnwindSafe for AmdOptions
impl Send for AmdOptions
impl Sync for AmdOptions
impl Unpin for AmdOptions
impl UnsafeUnpin for AmdOptions
impl UnwindSafe for AmdOptions
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