pub struct CircuitState {
pub depth: usize,
pub gate_count: usize,
pub two_qubit_count: usize,
pub fidelity: f64,
pub qubit_count: usize,
pub connectivity_density: f64,
pub entanglement_measure: f64,
}Expand description
State representation for the RL agent
Fields§
§depth: usizeCurrent circuit depth
gate_count: usizeTotal gate count
two_qubit_count: usizeTwo-qubit gate count (more expensive)
fidelity: f64Estimated fidelity (0.0 to 1.0)
qubit_count: usizeNumber of qubits
connectivity_density: f64Circuit connectivity graph density
entanglement_measure: f64Entanglement complexity measure
Implementations§
Source§impl CircuitState
impl CircuitState
Sourcepub fn to_features(&self) -> Vec<f64>
pub fn to_features(&self) -> Vec<f64>
Convert state to feature vector for Q-learning
Sourcepub fn from_circuit(gates: &[Box<dyn GateOp>], num_qubits: usize) -> Self
pub fn from_circuit(gates: &[Box<dyn GateOp>], num_qubits: usize) -> Self
Extract state from a circuit
Trait Implementations§
Source§impl Clone for CircuitState
impl Clone for CircuitState
Source§fn clone(&self) -> CircuitState
fn clone(&self) -> CircuitState
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 moreAuto Trait Implementations§
impl Freeze for CircuitState
impl RefUnwindSafe for CircuitState
impl Send for CircuitState
impl Sync for CircuitState
impl Unpin for CircuitState
impl UnwindSafe for CircuitState
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.