Quobly forge emulator
The Quobly-alloy SDK adresses Quobly QPUs such as Alloy Pioneer and their emulators using the forge module.
Installation
You can install Quobly Alloy with
pip install quobly-alloy
Use
The minimal program to call an emulator such as the Pioneer emulator is
from qiskit import QuantumCircuit
from quobly_alloy.forge import PioneerEmulator
from quobly_alloy import QPU
circuit = QuantumCircuit(2)
circuit.rx(1, 1)
circuit.rz(1, 0)
circuit.rx(1, 0)
circuit.rzz(1, 0, 1)
circuit.measure_all()
emulator = PioneerEmulator(QPU.PIONEER_P10)
result = emulator.run_simulation(circuit,shots=1000)
print(result)
This code first create a circuit of 2 qubits, then simulate it on the PIONEER_P10 machine using run simulation. The methods PioneerEmualtor.run_simulation simulate a circuit for one ten shots. This return a dictionary[str,int] composed of key being the bitstring of the machine and values being the number of time the bitstring appears.
One can also use the function run, that return a QuoblyJob object (inheriting from Qiskit.Job) with the methods QuoblyJob.result that return the same result as run_simulation. This methods exist for adherence to qiskit framework.
Furthermore, one can fix a seed using
emulator = PioneerEmulator(QPU.PIONEER_P10,seed = 100)
result = emulator.run_simulation(circuit=circuit,shots=1000)
In addition one can select the number of core used for the emulation with (note that max_used_core is capped by the number of core of your hardware):
emulator = PioneerEmulator(QPU.PIONEER_P10,max_used_core=6)
result = emulator.run_simulation(circuit=circuit,shots=1000,noise=False)
You can also remove the injected noise using:
emulator = PioneerEmulator(QPU.PIONEER_P10)
result = emulator.run_simulation(circuit=circuit,shots=1000,noise=False)
Finally you can change the number of qubits using:
emulator = PioneerEmulator(QPU.PIONEER_P10,qubits = 5)
result = emulator.run_simulation(circuit=circuit)
[!CAUTION] The number of possible qubits is dependant of the computer memory size.
Transpilation
The transpilation is done internally by the backend.
Using qiskit-aer-gpu for cuda 12
As of no, qiskit 2.x does not support cuda 12, but conda does.
On your conda environment you can install the correct package using
conda install -c conda-forge "qiskit-aer=0.17.2=*cuda*" cuda-version=12
You can then check if the gpu is correctly found using:
python -c "from qiskit_aer import AerSimulator; print('GPU' in AerSimulator().available_devices())"
You can then use the backend as normal, the backend prioritize the GPU device if found. You can force the use of the CPU using:
emulator = PioneerEmulator(QPU.PIONEER_P10,always_use_cpu = True)
Metadata
Release files for quobly-alloy 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| quobly_alloy-1.1.3.tar.gz | 15.2 kB | Without provenance | Details for quobly_alloy-1.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| quobly_alloy-1.1.3-py3-none-any.whl | Python 3 | none | any | Details for quobly_alloy-1.1.3-py3-none-any.whl |
Total release size: 26.6 kB
Release files / quobly_alloy-1.1.3.tar.gz
| Download URL | quobly_alloy-1.1.3.tar.gz |
|---|---|
| Size | 15.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58a55e53898e4dc5460ddd4f4bcb4ebc5644828403e98d5a6184da3115547544
|
|
BLAKE2b-256 checksum How to use checksums |
18e05bc60cc1c8eb184879a9b1668adb0a4f363f6502afa9b60747540d4d63e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|
Release files / quobly_alloy-1.1.3-py3-none-any.whl
| Download URL | quobly_alloy-1.1.3-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6950fc4d05a3aed4ca5735bf86a38605b210c6f39ebdbbe8b58eb874b9463805
|
|
BLAKE2b-256 checksum How to use checksums |
74dddcebf44e53ed0afbd13c34bc218ff3fb0b8eacf371e7bfecb30d0d38405f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|
Security for quobly-alloy 1.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.