Skip to main content

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)

Source distribution for quobly-alloy 1.1.3
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)

Table of built distributions (wheels) for quobly-alloy 1.1.3
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page