CircuitSampler(backend, statevector=None, param_qobj=False, attach_results=False)¶
The CircuitSampler traverses an Operator and converts any CircuitStateFns into approximations of the state function by a DictStateFn or VectorStateFn using a quantum backend. Note that in order to approximate the value of the CircuitStateFn, it must 1) send state function through a depolarizing channel, which will destroy all phase information and 2) replace the sampled frequencies with square roots of the frequency, rather than the raw probability of sampling (which would be the equivalent of sampling the square of the state function, per the Born rule.
The CircuitSampler aggressively caches transpiled circuits to handle re-parameterization of the same circuit efficiently. If you are converting multiple different Operators, you are better off using a different CircuitSampler for each Operator to avoid cache thrashing.
QuantumInstance]) – The quantum backend or QuantumInstance to use to sample the circuits.
bool]) – If backend is a statevector backend, whether to replace the CircuitStateFns with DictStateFns (from the counts) or VectorStateFns (from the statevector).
Nonewill set this argument automatically based on the backend.
bool) – Whether to attach the data from the backend
Resultsobject for a given
execution_resultsfield added the converted
bool) – Whether to use Aer’s parameterized Qobj capability to avoid re-assembling the circuits.
ValueError – Set statevector or param_qobj True when not supported by backend.
Converts the Operator to one in which the CircuitStateFns are replaced by DictStateFns or VectorStateFns.
Samples the CircuitStateFns and returns a dict associating their
id()values to their replacement DictStateFn or VectorStateFn.
Sets backend with configuration.
Returns the backend.
The backend used by the CircuitSampler
Returns the quantum instance.
The QuantumInstance used by the CircuitSampler