pub enum PivotSearchStrategy {
Full,
Rook,
}Expand description
Strategy for finding new pivots during a two-site update.
Controls how much of the candidate matrix is evaluated when searching for the next pivot at each bond.
§Examples
use tensor4all_tensorci::PivotSearchStrategy;
// Full is the default
let strategy = PivotSearchStrategy::default();
assert_eq!(strategy, PivotSearchStrategy::Full);
// Both variants can be compared
assert_ne!(PivotSearchStrategy::Full, PivotSearchStrategy::Rook);Variants§
Full
Evaluate the entire candidate matrix and pick the best pivot.
Exact but costs O(D_left * d * d * D_right) evaluations per bond, where d is the local dimension. This is the default and recommended for most problems.
Rook
Use lazy block-rook pivoting over partial matrix blocks.
Avoids materializing the full candidate matrix, making it faster for very large local dimensions. Error normalization uses the maximum sample value observed through the lazy requests rather than a full-grid scan.
Trait Implementations§
Source§impl Clone for PivotSearchStrategy
impl Clone for PivotSearchStrategy
Source§fn clone(&self) -> PivotSearchStrategy
fn clone(&self) -> PivotSearchStrategy
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 PivotSearchStrategy
impl Debug for PivotSearchStrategy
Source§impl Default for PivotSearchStrategy
impl Default for PivotSearchStrategy
Source§fn default() -> PivotSearchStrategy
fn default() -> PivotSearchStrategy
Returns the “default value” for a type. Read more
Source§impl PartialEq for PivotSearchStrategy
impl PartialEq for PivotSearchStrategy
impl Copy for PivotSearchStrategy
impl Eq for PivotSearchStrategy
impl StructuralPartialEq for PivotSearchStrategy
Auto Trait Implementations§
impl Freeze for PivotSearchStrategy
impl RefUnwindSafe for PivotSearchStrategy
impl Send for PivotSearchStrategy
impl Sync for PivotSearchStrategy
impl Unpin for PivotSearchStrategy
impl UnsafeUnpin for PivotSearchStrategy
impl UnwindSafe for PivotSearchStrategy
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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