QiskitBackend#
- class QiskitBackend(backend=None, port=None)[source]#
This class instantiates a VirtualBackend using a Qiskit backend. This allows easy access to Qiskit backends through the qrisp interface.
- Parameters:
- backendQiskit backend object, optional
A Qiskit backend object, which runs QuantumCircuits. The default is
AerSimulator()
.- portint, optional
The port to listen. The default is None.
Examples
We evaluate a QuantumFloat multiplication on the Aer simulator.
>>> from qrisp import QuantumFloat >>> from qrisp.interface import QiskitBackend >>> from qiskit_aer import AerSimulator >>> example_backend = QiskitBackend(backend = AerSimulator()) >>> qf = QuantumFloat(4) >>> qf[:] = 3 >>> res = qf*qf >>> res.get_measurement(backend = example_backend) {9: 1.0}
We evaluate a QuantumFloat multiplication on the FakeWashingtonV2 backend.
>>> from qrisp import QuantumFloat >>> from qiskit_ibm_runtime.fake_provider import FakeWashingtonV2 >>> from qrisp.interface import QiskitBackend >>> example_backend = QiskitBackend(backend = FakeWashingtonV2()) >>> qf = QuantumFloat(2) >>> qf[:] = 2 >>> res = qf*qf >>> res.get_measurement(backend = example_backend) {4: 0.6962, 12: 0.0967, 0: 0.0607, 8: 0.0572, 6: 0.028, 2: 0.0128, 14: 0.0126, 5: 0.0103, 10: 0.0062, 3: 0.0057, 9: 0.0042, 13: 0.0037, 1: 0.0029, 7: 0.001, 15: 0.001, 11: 0.0008}
We evaluate a QuantumFloat addition on a real IBM quantum backend.
>>> from qrisp import QuantumFloat >>> from qrisp.interface import QiskitBackend >>> from qiskit_ibm_runtime import QiskitRuntimeService >>> service = QiskitRuntimeService(channel="ibm_cloud", token="YOUR_IBM_CLOUD_TOKEN") >>> brisbane = service.backend("ibm_brisbane") >>> qrisp_brisbane = QiskitBackend(backend) >>> qf = QuantumFloat(2) >>> qf[:] = 2 >>> qf+=1 >>> qf.get_measurement(backend = qrisp_brisbane) {3: 0.919, 1: 0.044, 2: 0.021, 0: 0.016}