pub struct Tableau {
pub logicals: PauliSet,
}
Fields§
§logicals: PauliSet
Implementations§
Source§impl Tableau
impl Tableau
Sourcepub fn new(n: usize) -> Self
pub fn new(n: usize) -> Self
Allocates a new Tableau representing the identity operator over n
qubits
Sourcepub fn from_circuit(circuit: &CliffordCircuit) -> Self
pub fn from_circuit(circuit: &CliffordCircuit) -> Self
Build the Tableau corresponding to a Clifford circuit
Sourcepub fn random(n: usize) -> Self
pub fn random(n: usize) -> Self
Generates a random Tableau (no garantuees, just here for testing)
Sourcepub fn from_operators(logicals: &Vec<(bool, String)>) -> Self
pub fn from_operators(logicals: &Vec<(bool, String)>) -> Self
Build a Tableau from a PauliSet
pub fn get_inverse_z(&self, qbit: usize) -> (bool, String)
pub fn get_inverse_x(&self, qbit: usize) -> (bool, String)
Sourcepub fn to_isometry(self) -> IsometryTableau
pub fn to_isometry(self) -> IsometryTableau
Lifts the Taleau into an IsometryTableau (k = 0)
Trait Implementations§
Source§impl PauliLike for Tableau
impl PauliLike for Tableau
fn cz(&mut self, i: usize, j: usize)
Source§fn conjugate_with_gate(&mut self, gate: &CliffordGate)
fn conjugate_with_gate(&mut self, gate: &CliffordGate)
Conjugate the PauliLike object via a Gate
Source§fn conjugate_with_circuit(&mut self, circuit: &CliffordCircuit)
fn conjugate_with_circuit(&mut self, circuit: &CliffordCircuit)
Conjugate the PauliLike object via a Circuit
impl StructuralPartialEq for Tableau
Auto Trait Implementations§
impl Freeze for Tableau
impl RefUnwindSafe for Tableau
impl Send for Tableau
impl Sync for Tableau
impl Unpin for Tableau
impl UnwindSafe for Tableau
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 more