Skip to main content

A collection of quantum information science problems formulated as reinforcement learning environments

Project description

Qiskit Gym 🏋️‍♀️

Python Qiskit

Qiskit Gym is a collection of quantum information science problems formulated as reinforcement learning environments.

🚀 Key Features

Train AI agents to discover efficient and near-optimal quantum circuit implementations for various quantum computing tasks.

  • 🎯 Purpose-Built RL Environments: Specialized Gymnasium-compatible environments for quantum circuit synthesis problems
  • 🔧 Hardware-Aware Environments: Design environments matching real quantum hardware coupling maps
  • 🔄 Flexible Gate Sets: Define custom gate sets as part of your environments
  • 🧠 State-of-the-Art RL Integration: Built-in support for PPO, Alpha Zero, and custom policy configurations
  • ⚡ High-Performance Backend: Rust-powered core for lightning-fast quantum circuit operations
  • 💾 Model Persistence: Save and load trained models for deployment
  • ⚖️ Scalable Training: Efficient parallel environment execution
  • 📊 Built-in TensorBoard Integration: For training visualization and performance tracking
  • 🔌 Qiskit integration: You can use Qiksit seamlessly to define your problem and use your trained models.

🎲 Supported Problem Types

🔄 Permutation Synthesis

Learn to implement arbitrary qubit permutations using minimal SWAP gates on constrained coupling maps.

🔢 Linear Function Synthesis

Decompose linear Boolean functions into efficient quantum circuits using CNOT gates.

🌊 Clifford Synthesis

Generate optimal implementations of Clifford group elements with customizable gate sets.

🔭 Roadmap and Vision

There are lots of interesting quantum computing problems that can be addressed with RL. We hope to centralize the problem formulations here to make it easier for Quantum and AI researchers to collaborate in taclikng them.

For future releases we plan to include envs for:

  • Pauli Network synthesis
  • Qubit routing
  • Clifford+T synthesis

We are also open to env requests and contributions!

Stay tuned!

🏃‍♂️ Quick Start

Get started with quantum circuit synthesis RL in minutes! Check out our comprehensive tutorial:

👉 examples/intro.ipynb - Interactive Introduction Notebook

This Jupyter notebook walks you through:

  • Setting up different synthesis environments
  • Training RL agents from scratch
  • Evaluating and using trained models
  • Visualizing quantum circuits and training progress

🛠️ Installation

git clone https://github.com/AI4quantum/qiskit-gym.git
cd qiskit-gym
pip install -e .

💡 Example Usage

Here's how to set up a permutation synthesis environment and train an RL agent:

from qiskit_gym.envs import PermutationGym
from qiskit_gym.rl import RLSynthesis, PPOConfig, BasicPolicyConfig
from qiskit.transpiler import CouplingMap

# Create a 3x3 grid coupling map environment
cmap = CouplingMap.from_grid(3, 3, bidirectional=False)
env = PermutationGym.from_coupling_map(cmap)

# Set up RL synthesis with PPO
rls = RLSynthesis(env, PPOConfig(), BasicPolicyConfig())

# Train the agent
rls.learn(num_iterations=100, tb_path="runs/my_experiment/")

# Use the trained model to synthesize circuits
import numpy as np
random_permutation = np.random.permutation(9)
optimized_circuit = rls.synth(random_permutation, num_searches=1000)

🤝 Contributing

We welcome contributions! Whether you're adding new synthesis problems, improving RL algorithms, or enhancing documentation - every contribution helps advance quantum computing research.

📝 License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

🧪 Relevant Papers

  • Kremer, D., Villar, V., Paik, H., Duran, I., Faro, I., & Cruz-Benito, J. (2024). Practical and efficient quantum circuit synthesis and transpiling with reinforcement learning. arXiv preprint arXiv:2405.13196.

  • Dubal, A., Kremer, D., Martiel, S., Villar, V., Wang, D., & Cruz-Benito, J. (2025). Pauli Network Circuit Synthesis with Reinforcement Learning. arXiv preprint arXiv:2503.14448.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qiskit_gym-0.1.2-cp312-cp312-win_amd64.whl (324.3 kB view details)

Uploaded CPython 3.12Windows x86-64

qiskit_gym-0.1.2-cp312-cp312-manylinux_2_34_x86_64.whl (466.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

qiskit_gym-0.1.2-cp312-cp312-macosx_11_0_arm64.whl (416.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

qiskit_gym-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl (437.6 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

qiskit_gym-0.1.2-cp311-cp311-win_amd64.whl (322.4 kB view details)

Uploaded CPython 3.11Windows x86-64

qiskit_gym-0.1.2-cp311-cp311-manylinux_2_34_x86_64.whl (465.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

qiskit_gym-0.1.2-cp311-cp311-macosx_11_0_arm64.whl (418.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

qiskit_gym-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl (443.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

qiskit_gym-0.1.2-cp310-cp310-win_amd64.whl (322.4 kB view details)

Uploaded CPython 3.10Windows x86-64

qiskit_gym-0.1.2-cp310-cp310-manylinux_2_34_x86_64.whl (465.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

qiskit_gym-0.1.2-cp310-cp310-macosx_11_0_arm64.whl (418.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

qiskit_gym-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl (443.5 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

qiskit_gym-0.1.2-cp39-cp39-win_amd64.whl (323.9 kB view details)

Uploaded CPython 3.9Windows x86-64

qiskit_gym-0.1.2-cp39-cp39-manylinux_2_34_x86_64.whl (467.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

qiskit_gym-0.1.2-cp39-cp39-macosx_11_0_arm64.whl (418.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

qiskit_gym-0.1.2-cp39-cp39-macosx_10_12_x86_64.whl (444.6 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file qiskit_gym-0.1.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: qiskit_gym-0.1.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 324.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for qiskit_gym-0.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9b3be3e95bfb4e9751f1e40c0c6740f65255af9b1ebd248844010a7e1580c84c
MD5 c6f4a302ed77a2d867d8462b6c6f954d
BLAKE2b-256 1ee32446a4439b4066e575c984dc6602cdd794c9b5f8e62711fb8dfcd3737702

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7dd8bad8dabea1fee4565b8dc32e7b2f272715a9c3ddd3921da5acdaf358b1ab
MD5 7f972bcdfede2a30e523e58e5de6dec9
BLAKE2b-256 7d59cb4a7eb3f53e52b4cf9bef6a39c8312f56da1c89a0c9d67188e3b47b118f

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc2e57981cb0431a1f83597a6507ebb4ed96e18c3c735b9a7a838ad9f25c984e
MD5 bf531da0da6119d86548d632251dd915
BLAKE2b-256 d1816a488277748121d20caa205c70ad352f687e5297648a631c723e0fc964c0

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 00e4eb622a7d64e405dbc0621eb2e51ebdf6b32db3e5db69082c2cfa25d5034c
MD5 017483fd8e191a2c63df4a7f4ed11e52
BLAKE2b-256 09ecb7d555104872f762a286fff2b43592dd5d6ed7227a1113adda72d8e6e223

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: qiskit_gym-0.1.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 322.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for qiskit_gym-0.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4fb1f1ba20ddb965130bb11826ebb27dd1ca88833f602a8283dd3b8cd5350b11
MD5 5c82934de299d4322cd270e4f53ba6cc
BLAKE2b-256 b097a61c2141798a9b8c2dfceb18e13d60b114aeee2d35ffda02fcf65572647e

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5a0474a533cceac6ae79caf005d2820ed3a0e18fd84e8c393a324a698482c03b
MD5 39e72dfb18a28d1f663d4588396edb79
BLAKE2b-256 258552c00b287c07ee5c97fa2ca1ba511c2067c92f20b0fa76e1a9427f6e267a

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e5a3b9fd44a20df95afa4f20ff19f4779409430a299ccfcac2333af5ef51769
MD5 2996a79495ae24d918f9696cb4e51b86
BLAKE2b-256 8e35eb4c8b66ec5985c8268c7b88e0df2f798a6e6666bedf6ed183fc0da56c95

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 05d8d55c85181703528d8ce0007b00edd4c64ec4035730106bfa8579f6334193
MD5 fa18aa61d427a2a32cf9ac5f6fdc5a03
BLAKE2b-256 ff771af9152349cecbe89d985fadae1447e95b7c1f0f83b94122db16cf534b24

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: qiskit_gym-0.1.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 322.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for qiskit_gym-0.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 72621f75d60c5d756fb01001fc68741a8aef74c0837269ce3bcae4771d11fd3b
MD5 c70f1057b9f13bdd9fa87c3503a6e48c
BLAKE2b-256 8d8cc8d4853508b2273e5a8a93a6b66ab8422fc0eb7215ef2cfd08b472134b12

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 94b169e92154b8a42a07812cca907f46df5cd72d5f12f660d1be8371d0a66aeb
MD5 15d3b3c029541dea188b565a18fa0381
BLAKE2b-256 ab155cef26fff869b0a11870f46c699eecccbc301bea38a4e60b1fdb59ade1d3

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 99533a1006e17435a6fa92f40fd7eee87b5ad939b159a6eed20aa558c49aee9a
MD5 5ffdab9a8f541d72c3fe69cfc422d8c4
BLAKE2b-256 45426f1387e12f8a4cc8d07e65aff5003cef85319c24bf855fb9b434c20b2747

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 962042dcc816d7b2db317c526b57d1d102dc8e1ed0b280cb9da41515207924c5
MD5 f30b372b919d4224362fc0f340ea4649
BLAKE2b-256 f0516735f5823e526e000a4c827109c5b1fd29fcc8386be75f4e65a01270d964

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: qiskit_gym-0.1.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 323.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for qiskit_gym-0.1.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9fc1d45060f44db1a4083a64c084ef46d0b16937b84668b90e34a0feb3b6ff26
MD5 29988ea212fcbac798ddb77cda6b3c79
BLAKE2b-256 67fee4437b379a611c46d229783fb7c43a84d5123155d6b18ba1ccaa2b451677

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8960633c228874b8698c2b03e0b3f599c22ebdda0f4d9d954f43a1bd7f1a7930
MD5 a8d65da9a25440c9513b2869ba9d7e5b
BLAKE2b-256 9506579e49902574cbe85c6fd15923f5abce8f49de704b2ba891703490b6b85d

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf62bb84323cf8ea37bbc008f63a5fed610c5b51691c4182f75d8ebe0a73a2cc
MD5 fa02b1b98fe9ee1ebb1110db515389c5
BLAKE2b-256 921cf7d2cb9d4525e335a784311e1de19733be446ce179a2cb645a1480d9d318

See more details on using hashes here.

File details

Details for the file qiskit_gym-0.1.2-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qiskit_gym-0.1.2-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c82828a03f0c67285c0b13cbdb818ced3fd4740aa31e4b5951c519716b0d204e
MD5 762f307ac17f86a72ff30a284a821bc8
BLAKE2b-256 019f2a0c270c264dde951b0d2a0912f52144444e968c068c448a38b33beadf5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page