![]() |
THIS FUNCTION IS DEPRECATED.
cirq_rigetti.circuit_sweep_executors.with_quilc_parametric_compilation(
*,
quantum_computer: QuantumComputer,
circuit: cirq.Circuit,
resolvers: Sequence[cirq.ParamResolverOrSimilarType],
repetitions: int,
transformer: cirq_rigetti.circuit_transformers.CircuitTransformer
= cirq_rigetti.circuit_transformers.default
) -> Sequence[cirq.Result]
IT WILL BE REMOVED IN cirq v1.6
.
Cirq-Rigetti is deprecated. For more details or to provide feedback see https://github.com/quantumlib/Cirq/issues/7058
This CircuitSweepExecutor
will compile the circuit
using quilc as a
parameterized pyquil.api.QuantumExecutable
and on each iteration of
resolvers
, rather than resolving the circuit
with cirq.protocols.resolve_parameters
,
it will attempt to cast the resolver to a dict and pass it as a memory map to
to pyquil.api.QuantumComputer
.
Args:
quantum_computer: The `pyquil.api.QuantumComputer` against which to execute the circuit.
circuit: The <a href="https://quantumai.google/reference/python/cirq/Circuit"><code>cirq.Circuit</code></a> to transform into a `pyquil.Program` and executed on the
`quantum_computer`.
resolvers: A sequence of parameter resolvers that this executor will write to memory
on a copy of the `pyquil.api.QuantumExecutable` for each parameter sweep.
repetitions: Number of times to run each iteration through the `resolvers`. For a given
resolver, the <a href="https://quantumai.google/reference/python/cirq/Result"><code>cirq.Result</code></a> will include a measurement for each repetition.
transformer: A callable that transforms the <a href="https://quantumai.google/reference/python/cirq/Circuit"><code>cirq.Circuit</code></a> into a `pyquil.Program`.
You may pass your own callable or any function from <a href="../../cirq_rigetti/circuit_transformers"><code>cirq_rigetti.circuit_transformers</code></a>.
Returns:
A list of <a href="https://quantumai.google/reference/python/cirq/Result"><code>cirq.Result</code></a>, each corresponding to a resolver in `resolvers`.