pub struct ContractionOptimizerOptions {
pub betas: Vec<f64>,
pub ntrials: usize,
pub niters: usize,
pub score: ScoreFunction,
}Expand description
Public options for automatic contraction-path optimization.
The default planner uses TreeSA with a greedy initializer and zero annealing iterations. This keeps the public API on a single optimizer family while making the default behavior effectively “greedy-only”.
§Determinism
While annealing is disabled (niters == 0 or empty betas, as in the
default), the planned path is a function of the subscripts and shapes
alone: the same spec yields the same path in every process and on every
call. With an annealing schedule the path comes from omeco’s TreeSA, whose
annealing is seeded but whose greedy initializer (omeco 0.2.6) breaks ties
in HashMap order, so annealed paths are not guaranteed to agree across
processes.
Fields§
§betas: Vec<f64>Inverse-temperature schedule for TreeSA.
ntrials: usizeNumber of independent TreeSA trials.
niters: usizeAnnealing iterations per temperature level.
score: ScoreFunctionScore function used by TreeSA.
Trait Implementations§
Source§impl Clone for ContractionOptimizerOptions
impl Clone for ContractionOptimizerOptions
Source§fn clone(&self) -> ContractionOptimizerOptions
fn clone(&self) -> ContractionOptimizerOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ContractionOptimizerOptions
impl Debug for ContractionOptimizerOptions
Auto Trait Implementations§
impl Freeze for ContractionOptimizerOptions
impl RefUnwindSafe for ContractionOptimizerOptions
impl Send for ContractionOptimizerOptions
impl Sync for ContractionOptimizerOptions
impl Unpin for ContractionOptimizerOptions
impl UnsafeUnpin for ContractionOptimizerOptions
impl UnwindSafe for ContractionOptimizerOptions
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
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> ⓘ
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> ⓘ
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