pub struct SpinfulFermionBasis1D { /* private fields */ }Expand description
Two-flavor fermion basis with all up orbitals ordered before all down orbitals.
Rows follow the direct-product convention up ⊗ down: the up-basis row
is the major index and the down-basis row is the minor index.
Implementations§
Source§impl SpinfulFermionBasis1D
impl SpinfulFermionBasis1D
Sourcepub fn builder(sites: usize) -> SpinfulFermionBasisBuilder
pub fn builder(sites: usize) -> SpinfulFermionBasisBuilder
Start a two-species fermion basis builder.
Sourcepub const fn particles_up(&self) -> Option<usize>
pub const fn particles_up(&self) -> Option<usize>
Return the fixed up-species particle number, if unique.
Sourcepub const fn particles_down(&self) -> Option<usize>
pub const fn particles_down(&self) -> Option<usize>
Return the fixed down-species particle number, if unique.
Sourcepub fn particle_sectors(&self) -> Option<&[(usize, usize)]>
pub fn particle_sectors(&self) -> Option<&[(usize, usize)]>
Return the selected union of (up, down) particle sectors.
Sourcepub const fn local_occupation_constraint(
&self,
) -> Option<&LocalOccupationConstraint>
pub const fn local_occupation_constraint( &self, ) -> Option<&LocalOccupationConstraint>
Return the site-local occupation filter, if configured.
Trait Implementations§
Source§impl Basis for SpinfulFermionBasis1D
impl Basis for SpinfulFermionBasis1D
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 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§fn operator_preserves_particle_sector_on_sites(
&self,
operator: &str,
sites: &[usize],
) -> Result<bool>
fn operator_preserves_particle_sector_on_sites( &self, operator: &str, sites: &[usize], ) -> Result<bool>
Site-aware particle-sector check for bases whose local labels encode
species as well as position. 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§impl Clone for SpinfulFermionBasis1D
impl Clone for SpinfulFermionBasis1D
Source§fn clone(&self) -> SpinfulFermionBasis1D
fn clone(&self) -> SpinfulFermionBasis1D
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 SpinfulFermionBasis1D
impl Debug for SpinfulFermionBasis1D
Source§impl From<SpinfulFermionBasis1D> for PackedBasis
impl From<SpinfulFermionBasis1D> for PackedBasis
Source§fn from(basis: SpinfulFermionBasis1D) -> Self
fn from(basis: SpinfulFermionBasis1D) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for SpinfulFermionBasis1D
impl RefUnwindSafe for SpinfulFermionBasis1D
impl Send for SpinfulFermionBasis1D
impl Sync for SpinfulFermionBasis1D
impl Unpin for SpinfulFermionBasis1D
impl UnsafeUnpin for SpinfulFermionBasis1D
impl UnwindSafe for SpinfulFermionBasis1D
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.