pub enum AnyonType {
Vacuum,
Ising,
Fibonacci,
Majorana,
SU2 {
level: usize,
},
Parafermion {
n: usize,
},
Custom {
name: String,
quantum_dimension: f64,
fusion_rules: Vec<FusionRule>,
},
}Expand description
Types of anyons supported in topological quantum computation
Variants§
Vacuum
Vacuum (trivial anyon)
Ising
Ising anyons (σ)
Fibonacci
Fibonacci anyons (τ)
Majorana
Majorana fermions
SU2
Non-Abelian SU(2) anyons
Parafermion
Parafermions
Custom
Custom anyon type
Implementations§
Source§impl AnyonType
impl AnyonType
Sourcepub fn quantum_dimension(&self) -> f64
pub fn quantum_dimension(&self) -> f64
Get the quantum dimension of the anyon
Sourcepub const fn is_abelian(&self) -> bool
pub const fn is_abelian(&self) -> bool
Check if this anyon type is Abelian
Sourcepub const fn is_universal(&self) -> bool
pub const fn is_universal(&self) -> bool
Check if this anyon type supports universal quantum computation
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AnyonType
impl<'de> Deserialize<'de> for AnyonType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for AnyonType
Auto Trait Implementations§
impl Freeze for AnyonType
impl RefUnwindSafe for AnyonType
impl Send for AnyonType
impl Sync for AnyonType
impl Unpin for AnyonType
impl UnwindSafe for AnyonType
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,
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<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
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.