pub struct SymmetrySpec {
pub symmetric_subsets: Vec<Vec<usize>>,
pub antisymmetric_subsets: Vec<Vec<usize>>,
pub cyclic: Option<Vec<usize>>,
}Expand description
Slot symmetry for a tensor: a set of slot-index subsets that are symmetric, antisymmetric, or form a cycle.
Fields§
§symmetric_subsets: Vec<Vec<usize>>Slot subsets whose members are interchangeable (symmetric).
antisymmetric_subsets: Vec<Vec<usize>>Slot subsets whose members are antisymmetric (swap flips sign).
cyclic: Option<Vec<usize>>Cyclic permutation on a subset of slots.
Implementations§
Source§impl SymmetrySpec
impl SymmetrySpec
Sourcepub fn fully_symmetric(rank: usize) -> Self
pub fn fully_symmetric(rank: usize) -> Self
All slots are fully symmetric.
Sourcepub fn fully_antisymmetric(rank: usize) -> Self
pub fn fully_antisymmetric(rank: usize) -> Self
All slots are fully antisymmetric.
Check whether this spec implies the given slot position should have its location “hidden” in the graph encoding (i.e. not participate in canonicalisation comparison).
Trait Implementations§
Source§impl Clone for SymmetrySpec
impl Clone for SymmetrySpec
Source§fn clone(&self) -> SymmetrySpec
fn clone(&self) -> SymmetrySpec
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 SymmetrySpec
impl Debug for SymmetrySpec
Source§impl Default for SymmetrySpec
impl Default for SymmetrySpec
Source§fn default() -> SymmetrySpec
fn default() -> SymmetrySpec
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SymmetrySpec
impl RefUnwindSafe for SymmetrySpec
impl Send for SymmetrySpec
impl Sync for SymmetrySpec
impl Unpin for SymmetrySpec
impl UnsafeUnpin for SymmetrySpec
impl UnwindSafe for SymmetrySpec
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
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,
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