pub struct FibonacciModel { /* private fields */ }
Expand description
Fibonacci anyon model (simplest universal model)
Implementations§
Trait Implementations§
Source§impl AnyonModel for FibonacciModel
impl AnyonModel for FibonacciModel
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 FibonacciModel
impl RefUnwindSafe for FibonacciModel
impl Send for FibonacciModel
impl Sync for FibonacciModel
impl Unpin for FibonacciModel
impl UnwindSafe for FibonacciModel
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.