How to: Submit a circuit¶
Getting a backend¶
Make sure you are logged into Quantum Inspire, then use a QIDevice to fetch backends:
from qiskit_quantuminspire.qi_provider import QIProvider
from pennylane_quantuminspire.qi_device import QIDevice
# Show all current supported backends:
provider = QIProvider()
for backend in provider.backends():
print(f"{backend.name}")
# Get Quantum Inspire's simulator backend:
emulator_backend = provider.get_backend("QX emulator")
# Instantiate a Pennylane device based on chosen backend
demo_device = QIDevice(emulator_backend)
Submitting a Circuit¶
Once a device has been specified, it may be used to submit circuits. For example, running a Bell State:
import pennylane as qml
@qml.qnode(demo_device)
def bell_state():
qml.Hadamard(wires=0)
qml.CNOT(wires=[0, 1])
return [qml.expval(qml.Z(x)) for x in range(2)]
# Execute the circuit
result = bell_state()
# Print expectation values
print(result)
Warning
Other measurements than qml.expval()
and qml.var()
are only supported for backends that support measurement results for individual shots.