ibm.qdmi.pennylane

PennyLane execution through the native IBM QDMI device.

Classes

IBMDevice

Run finite-shot PennyLane programs on IBM Quantum Platform.

IBMBerlinDevice

PennyLane entry point for the packaged Berlin backend.

IBMAachenDevice

PennyLane entry point for the packaged Aachen backend.

Module Contents

class IBMDevice(wires: int | Sequence[Hashable] | None = None, *, device_id: str | None = None, device: Device | None = None, backend_name: str | None = None, api_key: str | None = None, instance_crn: str | None = None, base_url: str | None = None, auth_url: str | None = None, job_parameters: QDMIJobParameters | None = None)

Bases: mqt.core.plugins.pennylane.device.QDMIDevice

Run finite-shot PennyLane programs on IBM Quantum Platform.

Parameters:
  • wires – Wire labels or number of wires. Labels map in order to physical qubits starting at zero. By default expose all backend qubits.

  • device_id – Catalogue ID; defaults to the entry point’s stable IBM ID.

  • device – An already-open device, exclusive with connection overrides.

  • backend_name – Backend override; otherwise use environment or catalogue defaults.

  • api_key – IBM Cloud API key; defaults to IBM_QUANTUM_API_KEY.

  • instance_crn – Instance CRN; defaults to IBM_QUANTUM_INSTANCE_CRN.

  • base_url – Trusted API endpoint override, principally for loopback tests.

  • auth_url – Trusted IAM endpoint override, principally for loopback tests.

  • job_parameters – Native QDMI custom job parameters.

qdmi_device_id: ClassVar[str] = 'ibm.default'
preprocess_transforms(execution_config: ExecutionConfig | None = None) → CompilePipeline

Extend Core’s decomposition for IBM’s native basis.

Returns:

Core’s preprocessing pipeline with differentiable native synthesis.

class IBMBerlinDevice(wires: int | Sequence[Hashable] | None = None, *, device_id: str | None = None, device: Device | None = None, backend_name: str | None = None, api_key: str | None = None, instance_crn: str | None = None, base_url: str | None = None, auth_url: str | None = None, job_parameters: QDMIJobParameters | None = None)

Bases: IBMDevice

PennyLane entry point for the packaged Berlin backend.

qdmi_device_id = 'ibm.berlin'
class IBMAachenDevice(wires: int | Sequence[Hashable] | None = None, *, device_id: str | None = None, device: Device | None = None, backend_name: str | None = None, api_key: str | None = None, instance_crn: str | None = None, base_url: str | None = None, auth_url: str | None = None, job_parameters: QDMIJobParameters | None = None)

Bases: IBMDevice

PennyLane entry point for the packaged Aachen backend.

qdmi_device_id = 'ibm.aachen'