pub struct OpProduct { /* private fields */ }Expand description
Typed ordered product of local actions.
splits identify factor boundaries. A single split retains the traditional
spinful-fermion meaning; multiple (including repeated) boundaries describe
arbitrary tensor products with empty factor actions.
Implementations§
Source§impl OpProduct
impl OpProduct
Sourcepub fn parse(label: impl AsRef<str>) -> Result<Self>
pub fn parse(label: impl AsRef<str>) -> Result<Self>
Parse QMBED’s compact operator-label grammar.
| records a tensor-factor boundary and every other character maps to
one built-in or custom local action.
Sourcepub fn new(local: impl IntoIterator<Item = LocalOperator>) -> Result<Self>
pub fn new(local: impl IntoIterator<Item = LocalOperator>) -> Result<Self>
Construct a single-factor ordered product.
The product must contain at least one local action. Sites are attached
later by Coupling, allowing this parsed action to be reused.
Sourcepub fn spinful(
up: impl IntoIterator<Item = LocalOperator>,
down: impl IntoIterator<Item = LocalOperator>,
) -> Result<Self>
pub fn spinful( up: impl IntoIterator<Item = LocalOperator>, down: impl IntoIterator<Item = LocalOperator>, ) -> Result<Self>
Construct a two-species product and record the species boundary.
Sourcepub fn with_split(
local: impl IntoIterator<Item = LocalOperator>,
split: Option<usize>,
) -> Result<Self>
pub fn with_split( local: impl IntoIterator<Item = LocalOperator>, split: Option<usize>, ) -> Result<Self>
Construct a product with zero or one explicit factor boundary.
Sourcepub fn with_splits(
local: impl IntoIterator<Item = LocalOperator>,
splits: impl IntoIterator<Item = usize>,
) -> Result<Self>
pub fn with_splits( local: impl IntoIterator<Item = LocalOperator>, splits: impl IntoIterator<Item = usize>, ) -> Result<Self>
Construct an operator product with any number of ordered factor
boundaries. Duplicate boundaries preserve empty tensor factors such as
the middle factor in x||z.
Sourcepub fn local_operators(&self) -> &[LocalOperator]
pub fn local_operators(&self) -> &[LocalOperator]
Return the local actions in coupling-site order.
Trait Implementations§
impl Eq for OpProduct
impl StructuralPartialEq for OpProduct
Auto Trait Implementations§
impl Freeze for OpProduct
impl RefUnwindSafe for OpProduct
impl Send for OpProduct
impl Sync for OpProduct
impl Unpin for OpProduct
impl UnsafeUnpin for OpProduct
impl UnwindSafe for OpProduct
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§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>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.