IBMQ Device

Module name: pennylane_qiskit.ibmq

This module contains the IBMQDevice class, a PennyLane device that allows evaluation and differentiation of IBM Q’s Quantum Processing Units (QPUs) using PennyLane.


IBMQDevice(wires[, provider, backend, shots])

A PennyLane device for the IBMQ API (remote) backend.

Code details

class pennylane_qiskit.ibmq.IBMQDevice(wires, provider=None, backend='ibmq_qasm_simulator', shots=1024, **kwargs)[source]

A PennyLane device for the IBMQ API (remote) backend.

For more details, see the Qiskit documentation

You need to register at IBMQ in order to recieve a token that is used for authentication using the API.

As of the writing of this documentation, the API is free of charge, although there is a credit system to limit access to the quantum devices.

  • wires (int) – The number of qubits of the device

  • provider (Provider) – The IBM Q provider you wish to use. If not provided, then the default provider returned by IBMQ.get_provider() is used.

  • backend (str) – the desired provider backend

  • shots (int) – number of circuit evaluations/random samples used to estimate expectation values and variances of observables

Keyword Arguments
  • ibmqx_token (str) – The IBM Q API token. If not provided, the environment variable IBMQX_TOKEN is used.

  • ibmqx_url (str) – The IBM Q URL. If not provided, the environment variable IBMQX_URL is used, followed by the default URL.

  • noise_model (NoiseModel) – NoiseModel Object from qiskit.providers.aer.noise. Only applicable for simulator backends.

__init__(wires, provider=None, backend='ibmq_qasm_simulator', shots=1024, **kwargs)[source]

Initialize self. See help(type(self)) for accurate signature.