qbraid.runtime.ionq.IonQDevice

class IonQDevice(profile, session)[source]

IonQ quantum device interface.

Create a QuantumDevice object.

Parameters:
  • profile (TargetProfile) – The device runtime profile.

  • scheme (Optional[ConversionScheme]) – The conversion graph and options passed to the transpiler at runtime.

  • options (Optional[RuntimeOptions]) – Custom options to control the runtime behavior. Adds fields or overrides default values for transpile, transform, and validate. Note that while you can modify these values, their associated validators are fixed and cannot be changed.

__init__(profile, session)[source]

Create a QuantumDevice object.

Parameters:
  • profile (TargetProfile) – The device runtime profile.

  • scheme (Optional[ConversionScheme]) – The conversion graph and options passed to the transpiler at runtime.

  • options (Optional[RuntimeOptions]) – Custom options to control the runtime behavior. Adds fields or overrides default values for transpile, transform, and validate. Note that while you can modify these values, their associated validators are fixed and cannot be changed.

Methods

__init__(profile, session)

Create a QuantumDevice object.

apply_runtime_profile(run_input)

Process quantum program before passing to device run method.

avg_queue_time()

Return the average queue time for the IonQ device.

metadata()

Returns a dictionary containing selected metadata about the device.

queue_depth()

Return the number of jobs in the queue for the device.

run(run_input, *args, **kwargs)

Run a quantum job or a list of quantum jobs on this quantum device.

set_options(**fields)

Update the runtime options for the QuantumDevice.

status()

Return the current status of the IonQ device.

submit(run_input, shots[, preflight, name, ...])

Submit a job to the IonQ device.

to_ir(run_input)

Convert the quantum program to an intermediate representation (IR) compatible with the submission format required for the target device and its provider API.

transform(run_input)

Transform the input to the IonQ device.

transpile(run_input, run_input_spec)

Convert circuit to package compatible with target device and pass through any provider transpile methods to match topology of device and/or optimize as applicable.

update_scheme(**kwargs)

Update the conversion scheme with new values.

validate(run_input_batch[, ...])

Verifies run input compatibility with target device.

Attributes

id

Return the device ID.

num_qubits

The number of qubits supported by the device.

profile

Return the runtime profile.

scheme

Return the conversion scheme.

session

Return the IonQ session.

simulator

The device type, Simulator, Fake_device or QPU.