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.1-cp312-cp312-win_amd64.whl (324.5 kB view details)

Uploaded CPython 3.12Windows x86-64

qiskit_gym-0.1.1-cp312-cp312-manylinux_2_34_x86_64.whl (466.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

qiskit_gym-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (416.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

qiskit_gym-0.1.1-cp312-cp312-macosx_10_12_x86_64.whl (437.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

qiskit_gym-0.1.1-cp311-cp311-win_amd64.whl (322.6 kB view details)

Uploaded CPython 3.11Windows x86-64

qiskit_gym-0.1.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (418.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

qiskit_gym-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl (443.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

qiskit_gym-0.1.1-cp310-cp310-win_amd64.whl (322.6 kB view details)

Uploaded CPython 3.10Windows x86-64

qiskit_gym-0.1.1-cp310-cp310-manylinux_2_34_x86_64.whl (465.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

qiskit_gym-0.1.1-cp310-cp310-macosx_11_0_arm64.whl (418.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

qiskit_gym-0.1.1-cp310-cp310-macosx_10_12_x86_64.whl (443.4 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

qiskit_gym-0.1.1-cp39-cp39-win_amd64.whl (324.2 kB view details)

Uploaded CPython 3.9Windows x86-64

qiskit_gym-0.1.1-cp39-cp39-manylinux_2_34_x86_64.whl (467.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

qiskit_gym-0.1.1-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.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: qiskit_gym-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 324.5 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a7d621792b00198dceced04824f3bd6e5539271b6caf1ea8404ca8703b0e569e
MD5 98c6d3cc8cbb4b6931c58c55ae4db71a
BLAKE2b-256 a9dcd9752f1e37ddc8dc2aaf681cd0dbf26c4590366eb77fb29619add878c266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 44c3d68404fe1a6ba7b0b23d1d61cd1cffa79784ac3a1613fd75831db99dff97
MD5 93c7940550b0a805822e6aabd717c11d
BLAKE2b-256 29f92b15b2fc41b77f53559b8c244b435b163541cd3a0423f8a77aa7f14e7702

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 904596e0108ca1d1b013151a7a76ec966b533c914bf85e5167ab40e8d87b0864
MD5 8cb3b4438acf728d660eb45718def045
BLAKE2b-256 499af3e6878d92069592043f1bfd0f76761de9015452c4ba67f8a18ab7f6a6a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 029df429734c9257622b63da2b40f6159ccef397e0f9e0850b8c2582cc348736
MD5 ac542a513d319bd7c793fca3086b367a
BLAKE2b-256 94c5261036d203f15798295f6410bac2cdc3c33e905a1bdb7b10994b9b6a06b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qiskit_gym-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 322.6 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f9858dbad144e9d09c8c62a6271b7f0d8ff251a62cabc9527c99fc988d516279
MD5 1232fda4aa6632a503af6fa7f8d38a2b
BLAKE2b-256 660bc8914e5fc21bc5c81ba8af0d9cc97e1107ba797ff4ae043f4ec3f76a72ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 fa1ad60f2684f8cfc47850848107e9458c552cbae4656143b71a31c850cb6edb
MD5 4f49bbb11399f3f81e89a85bc5477248
BLAKE2b-256 27e0fd63c0101f345c0d73b8ec32496422b7db31db37f9c79315063d07cd2533

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21f4afd63aca104ddda339d248acc9cd6f737606e8648fcb5fc154a34fa881fd
MD5 031c5f34e68ed10ff1faa01947f1202f
BLAKE2b-256 6ed785cd2c60d1518fdd463d2d45a975c1106403f498f87a0423ce1b3a5dc269

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 80131ca6d1c4177b9353ca4a15b01d0fa64b20722d584419b6036c5d26fdd8af
MD5 959a24b39f1dfa4fab23dfecc95fab14
BLAKE2b-256 75f500994c05836d952b75fe3ddd8d7ec8977c47197ef3fb4da3420262177355

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qiskit_gym-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 322.6 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c08c0f4d7b31447eaeb8c4f1eb44ea085931338234ba401e53d421d4a7c90d8b
MD5 dc2d4138afc3ff92497b05878bde0ff3
BLAKE2b-256 5408a1e1c4705ff55e63e8a542a9bc6768830c3b63bfdefc87e2259f04c58812

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3e0d8b5c7773f95c5cd31945bd34aef4b8989a574f40e1949dfb64fbafc37e92
MD5 ef23065057419ed48dedffe4a401cc40
BLAKE2b-256 de5cc335b07605c3595579fa9119b48abac4d79510a4642b8b4c645d3e6f46e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 230899ee8679182b207fd80d4339d78a8ec3f51a3564a396ab4d650f111c9796
MD5 3bf975d62f568241445da0b2072255ec
BLAKE2b-256 2629cac589a1ec35ba686ef374e283d0aa90311e341c9ae869daa9b9d4104e4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d7a16074990658c321ba2f739a68c8f7ad1163ab16688810361b41245a2e5c09
MD5 d511825ff947cc34a09efeccbbeb16a8
BLAKE2b-256 1478df2b64b3bd54810802362caada3c2446847eae33e48a7c1652cdca0e85f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qiskit_gym-0.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 324.2 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8523f4ccf50b54bc89801ee513415982dda67941a3e1fbe1643190406a9c013f
MD5 5bdc210116567c51e2820f54840d15da
BLAKE2b-256 555d74fd8f3c8d4b3ad2354198f4dad16d61c0c4c1e60cc119e8a17073b7dc6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9ac628e08af688bc39c9d6ee2438f2560ba613096b8f7561ff3412ecb0157a63
MD5 82c44eee58acd43716dc75f7b3be5c35
BLAKE2b-256 6941881e9bb5377675d2f207891b1cfade1ca7f762f27e773aaa88d028714de0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 345bbd9d7550c274a289af22e96796c777d0dd2fb70d7e2b3834721effb6c27c
MD5 d1605cb6c90ba1ddeea99128d477e3b5
BLAKE2b-256 5e39c4b6c583cafbe0938ba4700a75b38d42eacaf44d6b5e9725844837810a35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qiskit_gym-0.1.1-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6f556dc6dd27c8973fbe181dc21157c1e522a83741a59bd2c8ac292058db71aa
MD5 36754430463619db56774570a2dec09d
BLAKE2b-256 b1551d1b3859d0f5472f308a82d4aba5a2616449079ecc6d0405d96ba6a371b1

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