pub struct ReductionImage<State> { /* private fields */ }Expand description
Canonical image of one physical state under a basis reduction.
phase / sqrt(orbit_size) is the coefficient of state in the normalized
reduced vector labelled by representative. Keeping this convention at the
basis boundary lets projectors, cross-sector operators, and language
bindings share one source of truth.
Implementations§
Source§impl<State> ReductionImage<State>
impl<State> ReductionImage<State>
Sourcepub fn new(
representative: State,
phase: Complex64,
orbit_size: usize,
) -> Result<Self>
pub fn new( representative: State, phase: Complex64, orbit_size: usize, ) -> Result<Self>
Validate and store the canonical representative, unit phase, and orbit size.
The phase must be finite with unit magnitude and orbit_size must be
positive. These invariants make ReductionImage::amplitude safe to
use in projectors and cross-sector assembly.
Sourcepub const fn representative(&self) -> &State
pub const fn representative(&self) -> &State
Return the canonical state labelling the reduced-basis vector.
Sourcepub const fn orbit_size(&self) -> usize
pub const fn orbit_size(&self) -> usize
Return the number of physical states in the symmetry orbit.
Trait Implementations§
Source§impl<State: Clone> Clone for ReductionImage<State>
impl<State: Clone> Clone for ReductionImage<State>
Source§fn clone(&self) -> ReductionImage<State>
fn clone(&self) -> ReductionImage<State>
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<State: Debug> Debug for ReductionImage<State>
impl<State: Debug> Debug for ReductionImage<State>
Source§impl<State: PartialEq> PartialEq for ReductionImage<State>
impl<State: PartialEq> PartialEq for ReductionImage<State>
Source§fn eq(&self, other: &ReductionImage<State>) -> bool
fn eq(&self, other: &ReductionImage<State>) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<State: Copy> Copy for ReductionImage<State>
impl<State> StructuralPartialEq for ReductionImage<State>
Auto Trait Implementations§
impl<State> Freeze for ReductionImage<State>where
State: Freeze,
impl<State> RefUnwindSafe for ReductionImage<State>where
State: RefUnwindSafe,
impl<State> Send for ReductionImage<State>where
State: Send,
impl<State> Sync for ReductionImage<State>where
State: Sync,
impl<State> Unpin for ReductionImage<State>where
State: Unpin,
impl<State> UnsafeUnpin for ReductionImage<State>where
State: UnsafeUnpin,
impl<State> UnwindSafe for ReductionImage<State>where
State: UnwindSafe,
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,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§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 more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.