hooks.pre_compilation

qiskit_rigetti.hooks.pre_compilation.PreCompilationHook

Represents a function that can transform a QASM program string just before compilation.

qiskit_rigetti.hooks.pre_compilation.set_rewiring(rewiring: str)

Create a hook which will apply rewiring before compilation.

See: https://pyquil-docs.rigetti.com/en/stable/compiler.html#initial-rewiring for more information.

Parameters

rewiring – Rewiring directive to apply.

Returns

A hook to apply rewiring.

Return type

PreCompilationHook

Examples

Applying rewiring to a program:

>>> from qiskit import execute
>>> from qiskit_rigetti import RigettiQCSProvider, QuilCircuit
>>> from qiskit_rigetti.hooks.pre_compilation import set_rewiring

>>> p = RigettiQCSProvider()
>>> backend = p.get_simulator(num_qubits=2, noisy=True)
>>> circuit = QuilCircuit(2, 2)
>>> _ = circuit.measure([0, 1], [0, 1])
>>> job = execute(circuit, backend, shots=10, before_compile=[set_rewiring("NAIVE")])