pub struct PauliObservable {
pub operators: Vec<PauliOp>,
pub coefficient: Complex64,
}Expand description
Multi-qubit Pauli observable (tensor product of single-qubit Paulis)
Fields§
§operators: Vec<PauliOp>Pauli operators for each qubit (ordered from qubit 0 to n-1)
coefficient: Complex64Coefficient for this Pauli string
Implementations§
Source§impl PauliObservable
impl PauliObservable
Sourcepub fn new(operators: Vec<PauliOp>) -> Self
pub fn new(operators: Vec<PauliOp>) -> Self
Create a new Pauli observable from a vector of operators
Sourcepub fn from_string(s: &str) -> Result<Self>
pub fn from_string(s: &str) -> Result<Self>
Create from a Pauli string (e.g., “XYZ” for X⊗Y⊗Z)
Sourcepub fn with_coefficient(self, coeff: Complex64) -> Self
pub fn with_coefficient(self, coeff: Complex64) -> Self
Set the coefficient
Sourcepub fn with_real_coefficient(self, coeff: f64) -> Self
pub fn with_real_coefficient(self, coeff: f64) -> Self
Set a real coefficient
Sourcepub fn is_diagonal(&self) -> bool
pub fn is_diagonal(&self) -> bool
Check if this is a diagonal observable (only I and Z)
Sourcepub fn non_identity_qubits(&self) -> Vec<(usize, PauliOp)>
pub fn non_identity_qubits(&self) -> Vec<(usize, PauliOp)>
Get the non-identity qubits and their operators
Trait Implementations§
Source§impl Clone for PauliObservable
impl Clone for PauliObservable
Source§fn clone(&self) -> PauliObservable
fn clone(&self) -> PauliObservable
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PauliObservable
impl Debug for PauliObservable
Source§impl PartialEq for PauliObservable
impl PartialEq for PauliObservable
impl StructuralPartialEq for PauliObservable
Auto Trait Implementations§
impl Freeze for PauliObservable
impl RefUnwindSafe for PauliObservable
impl Send for PauliObservable
impl Sync for PauliObservable
impl Unpin for PauliObservable
impl UnwindSafe for PauliObservable
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<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.