pub struct IsingModel { /* private fields */ }
Expand description
Ising anyon model (used in some proposals for topological quantum computing)
Implementations§
Source§impl IsingModel
impl IsingModel
Trait Implementations§
Source§impl AnyonModel for IsingModel
impl AnyonModel for IsingModel
Source§fn anyon_types(&self) -> &[AnyonType]
fn anyon_types(&self) -> &[AnyonType]
Get all anyon types in this model
Source§fn quantum_dimension(&self, anyon: AnyonType) -> f64
fn quantum_dimension(&self, anyon: AnyonType) -> f64
Get quantum dimension of an anyon
Source§fn topological_spin(&self, anyon: AnyonType) -> Complex64
fn topological_spin(&self, anyon: AnyonType) -> Complex64
Get topological spin of an anyon
Source§fn can_fuse(&self, a: AnyonType, b: AnyonType, c: AnyonType) -> bool
fn can_fuse(&self, a: AnyonType, b: AnyonType, c: AnyonType) -> bool
Check if two anyons can fuse into a third
Source§fn fusion_multiplicity(&self, a: AnyonType, b: AnyonType, c: AnyonType) -> u32
fn fusion_multiplicity(&self, a: AnyonType, b: AnyonType, c: AnyonType) -> u32
Get fusion rules N^c_{ab}
Source§fn f_symbol(
&self,
a: AnyonType,
b: AnyonType,
c: AnyonType,
d: AnyonType,
e: AnyonType,
f: AnyonType,
) -> Complex64
fn f_symbol( &self, a: AnyonType, b: AnyonType, c: AnyonType, d: AnyonType, e: AnyonType, f: AnyonType, ) -> Complex64
Get F-symbols F^{abc}_d
Source§fn r_symbol(&self, a: AnyonType, b: AnyonType, c: AnyonType) -> Complex64
fn r_symbol(&self, a: AnyonType, b: AnyonType, c: AnyonType) -> Complex64
Get R-symbols (braiding matrices) R^{ab}_c
Source§fn is_modular(&self) -> bool
fn is_modular(&self) -> bool
Check if the model is modular (all anyons have non-zero quantum dimension)
Source§fn total_quantum_dimension(&self) -> f64
fn total_quantum_dimension(&self) -> f64
Get total quantum dimension
Auto Trait Implementations§
impl Freeze for IsingModel
impl RefUnwindSafe for IsingModel
impl Send for IsingModel
impl Sync for IsingModel
impl Unpin for IsingModel
impl UnwindSafe for IsingModel
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.