Forest backend for Qiskit
Allows running Qiskit code on Rigetti simulators and quantum computers by changing only two lines of your Qiskit code.
More goodies at https://quantastica.com
Install
pip install quantastica-qiskit-forest
Usage
Import ForestBackend into your Qiskit code:
from quantastica.qiskit_forest import ForestBackend
And replace Aer.get_backend with ForestBackend.get_backend.
Example
from qiskit import QuantumRegister, ClassicalRegister
from qiskit import QuantumCircuit, execute, Aer
# Import ForestBackend:
from quantastica.qiskit_forest import ForestBackend
qc = QuantumCircuit()
q = QuantumRegister(2, "q")
c = ClassicalRegister(2, "c")
qc.add_register(q)
qc.add_register(c)
qc.h(q[0])
qc.cx(q[0], q[1])
qc.measure(q[0], c[0])
qc.measure(q[1], c[1])
# Instead:
#backend = Aer.get_backend("qasm_simulator")
# Use:
backend = ForestBackend.get_backend("qasm_simulator")
# OR:
# backend = ForestBackend.get_backend("statevector_simulator")
# backend = ForestBackend.get_backend("Aspen-7-28Q-A")
# backend = ForestBackend.get_backend("Aspen-7-28Q-A", as_qvm=True)
# ...
# To speed things up a little bit qiskit's optimization can be disabled
# by setting optimization_level to 0 like following:
# job = execute(qc, backend=backend, optimization_level=0)
job = execute(qc, backend=backend)
job_result = job.result()
print(job_result.get_counts(qc))
Prerequisites
Running on your local Rigetti simulator
You need to install Rigetti Forest SDK and make sure that quilc compiler and qvm simulator are running:
Open new terminal and run:
quilc -S
And in one more new terminal run:
qvm -S -c
Running on Rigetti quantum computer
-
You need to get access to Rigetti Quantum Cloud Services (QCS)
-
In your Quantum Machine Image (QMI) install this package and Qiskit
-
Reserve a QPU lattice
-
Run your code via QMI terminal or Jupyter notebook served by your QMI
Details
Syntax
ForestBackend.get_backend(backend_name = None, as_qvm = False)
Arguments
backend_name can be:
- any valid Rigetti lattice name
OR:
-
qasm_simulatorwill be sent to QVM asNq-qvm(whereNis number of qubits in the circuit) -
statevector_simulatorwill be executed asWavefunctionSimulator.wavefunction()
If backend name is not provided then it will act as qasm_simulator
as_qvm boolean:
-
False(default) -
True: if backend_name is QPU lattice name, then code will execute on QVM which will mimic QPU
That's it. Enjoy! :)
Metadata
Release files for quantastica-qiskit-forest 0.9.21
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quantastica-qiskit-forest-0.9.21.tar.gz | 12.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quantastica_qiskit_forest-0.9.21-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.1 kB
Release files / quantastica-qiskit-forest-0.9.21.tar.gz
| Download URL | quantastica-qiskit-forest-0.9.21.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
240af1f9cb03e34e538e4f02de16b021d397d71483f38cab3cadecd6e697560f
|
|
BLAKE2b-256 checksum How to use checksums |
3285a941cb825027c44313e33ba19ef41d031035094137da9c0352ba14d30301
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.8
|
Release files / quantastica_qiskit_forest-0.9.21-py3-none-any.whl
| Download URL | quantastica_qiskit_forest-0.9.21-py3-none-any.whl |
|---|---|
| Size | 15.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a5509395da62ef8ffe593b7ec46f7e4408344665babe5d8407e2757a2f733435
|
|
BLAKE2b-256 checksum How to use checksums |
6d062b1af743c0206b202b00239dd1892819568caf3f624fda9d84123fe46274
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.8
|