Struct roqoqo::measurements::Cheated[][src]

pub struct Cheated {
    pub constant_circuit: Option<Circuit>,
    pub circuits: Vec<Circuit>,
    pub input: CheatedInput,
}
Expand description

Cheated measurement using state obtained from simulator backend.

Cheated measurements are only possible witch simulator backends that can return the state vector or the density matrix of the quantum computer. The expectation values are defined by a matrix representation of the measured observables.

Fields

constant_circuit: Option<Circuit>

Constant Circuit that is executed before each Circuit in circuits.

circuits: Vec<Circuit>

Collection of quantum circuits for the separate basis rotations.

input: CheatedInput

Additional input information required for measurement.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Returns the constant Circuit that is executed before each Circuit in circuits.

Returns

  • &Option<Circuit - The constant Circuit (None if not defined).

Returns iterator over circuits for measurement.

Returns

  • Box<dyn Iterator<Item = &'a Circuit> + 'a> - The quantum circuits.

Returns clone of Measurement with symbolic parameters replaced.

Arguments

  • substituted_parameters - The HashMap containing the substitutions to use in the Circuit.

Returns

  • Ok(Self) - The Circuits with the parameters substituted.
  • Err(RoqoqoError) - The subsitution failed.

Executes the cheated measurement.

Arguments

  • bit_registers - The classical bit registers as a HashMap with the register name as key.
  • float_registers - The classical float registers as a HashMap with the register name as key.
  • complex_registers - The classical complex registers as a HashMap with the register name as key.

Returns

  • Ok(Some(HashMap<String, f64>)) - The measurement has been evaluated successfully. The HashMap contains the measured expectation values.
  • Ok(None) - The measurement did not fail but is incomplete. A new round of measurements is needed.
  • Err([RoqoqoError::MissingRegister]) - The OutputRegister is missing.
  • Err([RoqoqoError::MismatchedRegisterDimension]) - The dimension of register exceeds Hilbert space dimension of qubits.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

Checks if self is actually part of its subset T (and can be converted to it).

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

The inclusion map: converts self to the equivalent element of its superset.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.