qat.interop.pyquil.PyquilQPU

class qat.interop.pyquil.PyquilQPU(qpu=None, plugins=None, compiler=True)

QPU wrapper over pyquil, to run a QLM circuit on a pyquil simulator or rigetti’s quantum chip

Parameters
  • qpu – the instance of pyquil’s simulator/connection to real quantum chip or simulator

  • plugins – plugins to use

  • compiler – if set to True(default value) the circuit will be compiled by pyquil, otherwise the user compiles the circuit manually and tells the pyquil qpu to skip compilation

set_qpu(qpu)

Update the pyquil QPU.

Parameters

qpu – Pyquil QPU

submit(batch: Batch, meta_data: Optional[dict] = None) BatchResult

Executes a batch of jobs and returns the corresponding list of Results.

Parameters

batch (Batch) – a batch of jobs. If a single job is provided, the job is embedded into a Batch, executed, and the first result is returned.

Returns

a batch result

Return type

(BatchResult)

submit_job(qlm_job)

Execute a myQLM jobs

Parameters

qlm_job (Job) – job to execute

Returns

result of the execution

Return type

Result