Skip to main content

ParityOS CudaQ

ParityOS extension adding an interface to cudaq.

Installation

It is recommended to install this package in a separate Python virtual environment. For example:

# To create a standard Python virtual environment:
python -m venv my_new_venv && source my_new_venv/bin/activate
# Alternatively, to create a Anaconda/Miniconda environment:
conda create --name my_new_conda_env python=<version> && conda activate my_new_conda_env
# or a pyenv environment
pyenv virtualenv <version> my_new_venv && pyenv activate my_new_venv
# or a uv managed environment
uv venv -p <version>

where <version> is a python version and one of [3.11, 3.12, 3.13].

After activating the virtual environment, install via your favorite package manager, e.g.:

# using pip
pip install parityos-cudaq
# using uv
uv pip install parityos-cudaq

Exporter

parityos-cudaq offers an exporter of ParityOS to quantum circuits to the Quake dialect .

from parityos.bits import get_q
from parityos.operators.circuit import Circuit
from parityos.operators.controlled_operator import CNOT
from parityos.operators.elementary_operator import H, Z
from parityos.operators.rotation_operator import RX
from parityos_cudaq.exporter import export_parityos_to_quake

# Create circuit qubits.
qubits = [get_q(name) for name in ("a", "b", "c")]

# Create the following circuit as sequence of gates, followed by a measurement of all qubits.
#     ┌───────┐┌───┐┌───┐   ┌─┐
# qa: ┤ Rx(2) ├┤ H ├┤ Z ├───┤M├
#     └───────┘├───┤└┬─┬┘   └╥┘
# qb: ─────────┤ X ├─┤M├─────╫─
#       ┌───┐  └─┬─┘ └╥┘ ┌─┐ ║
# qc: ──┤ H ├────■────╫──┤M├─╫─
#       └───┘         ║  └╥┘ ║
# c: 3/═══════════════╩═══╩══╩═
#                     1   2  0
circuit = Circuit(
    [
        RX(qubits[0], 2),
        H(qubits[0]),
        H(qubits[2]),
        CNOT(qubits[2], qubits[1]),
        Z(qubits[0]),
    ]
).measure_all()

# Export to quake.
qiskit_result = export_parityos_to_quake(circuit, False)

print(qiskit_result.module)
# // Generated by ParityOS
# module {
#   func.func @parityos_circuit() {
#     // Allocate register
#     %n_qubits = arith.constant 3 : i64
#     %register = quake.alloca !quake.veq<?>[%n_qubits : i64]
#     %q_0 = quake.extract_ref %register[0] : (!quake.veq<?>) -> !quake.ref
#     %q_1 = quake.extract_ref %register[1] : (!quake.veq<?>) -> !quake.ref
#     %q_2 = quake.extract_ref %register[2] : (!quake.veq<?>) -> !quake.ref
#
#     %angle_0 = arith.constant 2.0 : f64
#     quake.rx (%angle_0) %q_0 : (f64, !quake.ref) -> ()
#     quake.h %q_0 : (!quake.ref) -> ()
#     quake.h %q_2 : (!quake.ref) -> ()
#     quake.x [%q_2] %q_1 : (!quake.ref, !quake.ref) -> ()
#     quake.z %q_0 : (!quake.ref) -> ()
#     %m_result_0 = quake.mz %q_0 : (!quake.ref) -> !quake.measure
#
#     %m_result_1 = quake.mz %q_1 : (!quake.ref) -> !quake.measure
#
#     %m_result_2 = quake.mz %q_2 : (!quake.ref) -> !quake.measure
#
#     return
#   }
# }

print(qiskit_result.qubit_map)  # Maps ParityOS qubits to quake Qubit integer labels
# {Qubit(id='a'): 0, Qubit(id='b'): 1, Qubit(id='c'): 2}

License

This software package is made available under the 3-Clause BSD License. See License.txt for details.

Metadata

Release files for parityos-cudaq 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for parityos-cudaq 0.2.0
File Size Uploaded Provenance Actions
parityos_cudaq-0.2.0.tar.gz 7.6 kB Without provenance Details for parityos_cudaq-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for parityos-cudaq 0.2.0
File Interpreter ABI Platform Actions
parityos_cudaq-0.2.0-py3-none-any.whl Python 3 none any Details for parityos_cudaq-0.2.0-py3-none-any.whl

Total release size: 15.7 kB

Release files / parityos_cudaq-0.2.0.tar.gz

Download URL parityos_cudaq-0.2.0.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
23947c1845092f5517d319949ebf034847a4f82c8a0b4ab01f0fa6794cc0ebae
BLAKE2b-256 checksum
How to use checksums
5d9c4ee877aca895dd6c205361184d1c5ed694376284af24bdc26b45c9a74d70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / parityos_cudaq-0.2.0-py3-none-any.whl

Download URL parityos_cudaq-0.2.0-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0cd3e4921a2962ba0c11ac6c2e5ec4cf622ff7e860cc5f55d8fede955d55c4ec
BLAKE2b-256 checksum
How to use checksums
074b6a85845a937ad182557ed65076f6517adf279fa650b0e7a6ed140122fb17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for parityos-cudaq 0.2.0

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.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

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