pub struct HardwareOptimizations {
pub connectivity_graph: Array2<bool>,
pub gate_fidelities: HashMap<String, f64>,
pub decoherence_times: Array1<f64>,
pub gate_times: HashMap<String, f64>,
pub crosstalk_matrix: Array2<f64>,
}
Expand description
Hardware-specific optimizations
Fields§
§connectivity_graph: Array2<bool>
Connectivity graph
gate_fidelities: HashMap<String, f64>
Gate fidelities
decoherence_times: Array1<f64>
Decoherence times
gate_times: HashMap<String, f64>
Gate times
crosstalk_matrix: Array2<f64>
Crosstalk matrix
Implementations§
Source§impl HardwareOptimizations
impl HardwareOptimizations
Sourcepub fn for_hardware(
architecture: HardwareArchitecture,
num_qubits: usize,
) -> Self
pub fn for_hardware( architecture: HardwareArchitecture, num_qubits: usize, ) -> Self
Create optimizations for specific hardware
Sourcepub fn set_gate_fidelity(&mut self, gate_name: &str, fidelity: f64)
pub fn set_gate_fidelity(&mut self, gate_name: &str, fidelity: f64)
Update gate fidelity for a specific gate
Sourcepub fn set_gate_time(&mut self, gate_name: &str, time: f64)
pub fn set_gate_time(&mut self, gate_name: &str, time: f64)
Update gate time for a specific gate
Sourcepub fn set_decoherence_time(&mut self, qubit: usize, time: f64)
pub fn set_decoherence_time(&mut self, qubit: usize, time: f64)
Update decoherence time for a specific qubit
Sourcepub fn set_connectivity(
&mut self,
qubit1: usize,
qubit2: usize,
connected: bool,
)
pub fn set_connectivity( &mut self, qubit1: usize, qubit2: usize, connected: bool, )
Set connectivity between two qubits
Sourcepub fn average_gate_fidelity(&self) -> f64
pub fn average_gate_fidelity(&self) -> f64
Get average gate fidelity
Sourcepub fn connectivity_degree(&self, qubit: usize) -> usize
pub fn connectivity_degree(&self, qubit: usize) -> usize
Get connectivity degree (number of connections) for a qubit
Trait Implementations§
Source§impl Clone for HardwareOptimizations
impl Clone for HardwareOptimizations
Source§fn clone(&self) -> HardwareOptimizations
fn clone(&self) -> HardwareOptimizations
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 HardwareOptimizations
impl RefUnwindSafe for HardwareOptimizations
impl Send for HardwareOptimizations
impl Sync for HardwareOptimizations
impl Unpin for HardwareOptimizations
impl UnwindSafe for HardwareOptimizations
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.