pub struct SpinBasis1D { /* private fields */ }Expand description
Spin-chain basis for the full or fixed-magnetization spin space.
Implementations§
Source§impl SpinBasis1D
impl SpinBasis1D
Sourcepub fn builder(sites: usize) -> SpinBasisBuilder
pub fn builder(sites: usize) -> SpinBasisBuilder
Start a spin-basis builder for sites lattice positions.
The default is an unrestricted spin-half basis with angular-momentum normalization and no spatial symmetry reduction.
Sourcepub const fn spin_twice(&self) -> u16
pub const fn spin_twice(&self) -> u16
Return twice the local spin quantum number.
Sourcepub const fn up(&self) -> Option<usize>
pub const fn up(&self) -> Option<usize>
Return the selected additive spin-occupation sector, if unique.
Sourcepub fn particle_sectors(&self) -> Option<&[usize]>
pub fn particle_sectors(&self) -> Option<&[usize]>
Allowed additive spin-occupation sectors when the basis is a union.
Sourcepub const fn pauli(&self) -> bool
pub const fn pauli(&self) -> bool
Report whether a Pauli-scaled spin-half convention is active.
Sourcepub const fn normalization(&self) -> SpinNormalization
pub const fn normalization(&self) -> SpinNormalization
Return the exact local spin-operator normalization.
Trait Implementations§
Source§impl Basis for SpinBasis1D
impl Basis for SpinBasis1D
Source§fn state(&self, index: usize) -> Result<Self::State>
fn state(&self, index: usize) -> Result<Self::State>
Return the encoded state at a basis index. Read more
Source§fn apply_local(
&self,
state: Self::State,
operator: &str,
sites: &[usize],
) -> Result<Option<(Self::State, Complex64)>>
fn apply_local( &self, state: Self::State, operator: &str, sites: &[usize], ) -> Result<Option<(Self::State, Complex64)>>
Apply one local operator string to one encoded state. Read more
Source§fn apply_local_transitions(
&self,
state: Self::State,
operator: &str,
sites: &[usize],
) -> Result<LocalTransitions<Self::State>>
fn apply_local_transitions( &self, state: Self::State, operator: &str, sites: &[usize], ) -> Result<LocalTransitions<Self::State>>
Applies a local operator and returns every nonzero destination. Read more
Source§fn apply_local_unreduced_transitions(
&self,
state: Self::State,
operator: &str,
sites: &[usize],
) -> Result<LocalTransitions<Self::State>>
fn apply_local_unreduced_transitions( &self, state: Self::State, operator: &str, sites: &[usize], ) -> Result<LocalTransitions<Self::State>>
Local action before symmetry-sector reduction. Cross-sector builders
use this path and let the target basis perform the reduction.
Source§fn visit_local_unreduced_transitions<F>(
&self,
state: Self::State,
operator: &str,
sites: &[usize],
visit: F,
) -> Result<()>
fn visit_local_unreduced_transitions<F>( &self, state: Self::State, operator: &str, sites: &[usize], visit: F, ) -> Result<()>
Streams unreduced destinations directly to a consumer. Read more
Source§fn transition_orbit_size(&self, state: Self::State) -> Result<usize>
fn transition_orbit_size(&self, state: Self::State) -> Result<usize>
Orbit size of a canonical source state used in projector normalization.
Source§fn reduction_image(
&self,
state: Self::State,
) -> Result<Option<ReductionImage<Self::State>>>
fn reduction_image( &self, state: Self::State, ) -> Result<Option<ReductionImage<Self::State>>>
Return the canonical reduction metadata for a physical state. Read more
Source§fn reduce_transition(
&self,
state: Self::State,
source_orbit_size: usize,
) -> Result<Option<(Self::State, Complex64)>>
fn reduce_transition( &self, state: Self::State, source_orbit_size: usize, ) -> Result<Option<(Self::State, Complex64)>>
Map an unreduced physical target state into this basis.
Source§fn index_transition(
&self,
state: Self::State,
source_orbit_size: usize,
) -> Result<Option<(usize, Complex64)>>
fn index_transition( &self, state: Self::State, source_orbit_size: usize, ) -> Result<Option<(usize, Complex64)>>
Reduces a physical target and locates its row in one operation. Read more
Source§fn operator_preserves_particle_sector(&self, operator: &str) -> Result<bool>
fn operator_preserves_particle_sector(&self, operator: &str) -> Result<bool>
Whether a local operator string preserves the particle-sector
constraints represented by this basis. Unconstrained and custom bases
accept every syntactically valid string by default.
Source§impl Clone for SpinBasis1D
impl Clone for SpinBasis1D
Source§fn clone(&self) -> SpinBasis1D
fn clone(&self) -> SpinBasis1D
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 SpinBasis1D
impl Debug for SpinBasis1D
Source§impl From<SpinBasis1D> for PackedBasis
impl From<SpinBasis1D> for PackedBasis
Source§fn from(basis: SpinBasis1D) -> Self
fn from(basis: SpinBasis1D) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for SpinBasis1D
impl RefUnwindSafe for SpinBasis1D
impl Send for SpinBasis1D
impl Sync for SpinBasis1D
impl Unpin for SpinBasis1D
impl UnsafeUnpin for SpinBasis1D
impl UnwindSafe for SpinBasis1D
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.