pub struct BosonBasis1D { /* private fields */ }Expand description
Truncated on-site boson basis.
Implementations§
Source§impl BosonBasis1D
impl BosonBasis1D
Sourcepub fn builder(sites: usize, states_per_site: usize) -> BosonBasisBuilder
pub fn builder(sites: usize, states_per_site: usize) -> BosonBasisBuilder
Start a boson-basis builder with a finite local occupation cutoff.
states_per_site permits occupations from zero through one less than
the supplied value.
Sourcepub const fn particles(&self) -> Option<usize>
pub const fn particles(&self) -> Option<usize>
Return the fixed total particle number, if selected.
Sourcepub fn particle_sectors(&self) -> Option<&[usize]>
pub fn particle_sectors(&self) -> Option<&[usize]>
Allowed total-occupation sectors when the basis is a union.
Sourcepub const fn states_per_site(&self) -> usize
pub const fn states_per_site(&self) -> usize
Return the number of allowed local occupation states.
Trait Implementations§
Source§impl Basis for BosonBasis1D
impl Basis for BosonBasis1D
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 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§impl Clone for BosonBasis1D
impl Clone for BosonBasis1D
Source§fn clone(&self) -> BosonBasis1D
fn clone(&self) -> BosonBasis1D
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 BosonBasis1D
impl Debug for BosonBasis1D
Source§impl From<BosonBasis1D> for PackedBasis
impl From<BosonBasis1D> for PackedBasis
Source§fn from(basis: BosonBasis1D) -> Self
fn from(basis: BosonBasis1D) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for BosonBasis1D
impl RefUnwindSafe for BosonBasis1D
impl Send for BosonBasis1D
impl Sync for BosonBasis1D
impl Unpin for BosonBasis1D
impl UnsafeUnpin for BosonBasis1D
impl UnwindSafe for BosonBasis1D
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.