Skip to main content

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.

🎛️ Pauli Network Synthesis

Optimize circuits containing Clifford gates and parametric rotations (RX, RY, RZ) for variational algorithms.

🔭 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:

  • 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)

🏅 Reward and Gate Penalties (at a glance)

  • Each step returns reward = (1.0 if solved else 0.0) - penalty.
  • penalty is the weighted increase in cost metrics after the chosen gate: CNOT count, CNOT layers, total layers, and total gates.
  • Default weights (MetricsWeights) are n_cnots=0.01, n_layers_cnots=0.0, n_layers=0.0, n_gates=0.0001; configure per env via metrics_weights.
  • Metrics accumulate over the episode; once the target is solved, the positive reward is offset by the penalties from any extra cost incurred.

🤝 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.

Metadata

Release files for qiskit-gym 0.4.2

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

Built distributions (wheels)

Table of built distributions (wheels) for qiskit-gym 0.4.2
File
qiskit_gym-0.4.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
qiskit_gym-0.4.2-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details
qiskit_gym-0.4.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
qiskit_gym-0.4.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
qiskit_gym-0.4.2-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details
qiskit_gym-0.4.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
qiskit_gym-0.4.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
qiskit_gym-0.4.2-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
qiskit_gym-0.4.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
qiskit_gym-0.4.2-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
qiskit_gym-0.4.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
qiskit_gym-0.4.2-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
qiskit_gym-0.4.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
qiskit_gym-0.4.2-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
qiskit_gym-0.4.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
qiskit_gym-0.4.2-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details
qiskit_gym-0.4.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
qiskit_gym-0.4.2-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details

Total release size: 18.9 MB

Release files / qiskit_gym-0.4.2-cp314-cp314-win_amd64.whl

Download URL qiskit_gym-0.4.2-cp314-cp314-win_amd64.whl
Size 995.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
d1d80311ada60c834b15e1d3d7426b8a0c9f5f08e043fbe5313c560aaa6912d2
BLAKE2b-256 checksum
How to use checksums
beba8705a76a2960f7748364e097cf3513d103fa53422716651f5f11ec0a616d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / qiskit_gym-0.4.2-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL qiskit_gym-0.4.2-cp314-cp314-manylinux_2_34_x86_64.whl
Size 1.1 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
6474807560d3805f7b2ec724154c40db36c21ba5c19a9b7fab8d03fbeb41c9d5
BLAKE2b-256 checksum
How to use checksums
0bf3c78b8e3aa79f0b20c59bb4a6aaeb6e59808671067494aceadfbf5a61873a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / qiskit_gym-0.4.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL qiskit_gym-0.4.2-cp314-cp314-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6222764df5864ebf128bf5b7deba94e167e3536ab814e019fb1329a52cf7ab7b
BLAKE2b-256 checksum
How to use checksums
f05e94b8982d26737d0cdd18e6eb8e33f024af881fdda6768b701d226b31fc23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / qiskit_gym-0.4.2-cp313-cp313-win_amd64.whl

Download URL qiskit_gym-0.4.2-cp313-cp313-win_amd64.whl
Size 992.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b6c5e80fdcdb08ccdf749024d5c41c3c8a1c652181c1bbb49f9b6b17ab098150
BLAKE2b-256 checksum
How to use checksums
eb109b5365634eb0c335fa5ad05f418cc00455da687e4fc73a44d874f2d89822
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / qiskit_gym-0.4.2-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL qiskit_gym-0.4.2-cp313-cp313-manylinux_2_34_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
0ba25ec51ff7338bdca92d54bf88975c64a308150441116a0b75a4203b110171
BLAKE2b-256 checksum
How to use checksums
7f9e4df5bf9c2d90b780505cdbd822bf09602e41937f78a1669d9e73b4111d68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / qiskit_gym-0.4.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL qiskit_gym-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
20cc3516dc9504871c5ca5842b63b2c294face59587305d388bb797914e751be
BLAKE2b-256 checksum
How to use checksums
2dcd8d269801c32eb1da8816f91985aa3760f228d79da9a549442d3822315cb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / qiskit_gym-0.4.2-cp312-cp312-win_amd64.whl

Download URL qiskit_gym-0.4.2-cp312-cp312-win_amd64.whl
Size 995.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
bc9e31c491aaac17517586d0f0e7da710161512f69ab72f1e332c7368ba2cc2a
BLAKE2b-256 checksum
How to use checksums
4a56468e63bdb75f0d8b58b2a2ca87990f198c7a81c79d0e2284e2f0863d2d53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / qiskit_gym-0.4.2-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL qiskit_gym-0.4.2-cp312-cp312-manylinux_2_34_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
65918ca9485a47a1e517c11ff60516d01f9853be80eb614f37925cafc5d21993
BLAKE2b-256 checksum
How to use checksums
d46eab02db9d7651c9a76f4ac8bcab12cb47743f5f18e64cfa636c4437ba147c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / qiskit_gym-0.4.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL qiskit_gym-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
290a16e8b6c43db28cdb72993cf2a355168f8e7ee36c21826fdc4b161b3776ca
BLAKE2b-256 checksum
How to use checksums
b48f411526dd59a5d65e3caf0de980c5cf9e623dadb173cbbbaa9a8db0567cce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / qiskit_gym-0.4.2-cp312-cp312-macosx_10_12_x86_64.whl

Download URL qiskit_gym-0.4.2-cp312-cp312-macosx_10_12_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
1002eeee7d275e487e2838d739feeccdd01fe10d8a721ee2bdf1ee8ab82828f4
BLAKE2b-256 checksum
How to use checksums
1e05b6bf41b2c771ca10e59f8aafe0adbb1fc3c5c9910ac54b40090fc7a869bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / qiskit_gym-0.4.2-cp311-cp311-win_amd64.whl

Download URL qiskit_gym-0.4.2-cp311-cp311-win_amd64.whl
Size 994.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
45e1e301db27f3399187e8b2deb54fe90745f52b904ffc1fa7727c0c7f4ef4b9
BLAKE2b-256 checksum
How to use checksums
273e028e401e9e03a034911ef3676fb7a602c1424b6af2069efdfb1fb710e510
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / qiskit_gym-0.4.2-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL qiskit_gym-0.4.2-cp311-cp311-manylinux_2_34_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
2b213b4b6bcac27ee22e368b87cc12c792567dc86ee21bcc9bc49cfbbcd27409
BLAKE2b-256 checksum
How to use checksums
47e718286d771c344b6d207155076d8696cb204be2b3d5134c32a2f189e61444
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release files / qiskit_gym-0.4.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL qiskit_gym-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dcf0390e0748083e3a7950f1693b8b2a50d5ad90bb310050edfae01baadbd881
BLAKE2b-256 checksum
How to use checksums
4c05448de9723ac66dade47ca102939fc549981139e596f73a505481fad88c89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / qiskit_gym-0.4.2-cp311-cp311-macosx_10_12_x86_64.whl

Download URL qiskit_gym-0.4.2-cp311-cp311-macosx_10_12_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
44184282cb5660a0ee6d3dec0d653df4c563dcd94f5631e2d104dde9681964a3
BLAKE2b-256 checksum
How to use checksums
56065d445925c93bbe1ce7a3a662d931edc0f56b1c885edd147c736576b84483
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / qiskit_gym-0.4.2-cp310-cp310-win_amd64.whl

Download URL qiskit_gym-0.4.2-cp310-cp310-win_amd64.whl
Size 992.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d80265062fb52c502c747bf64a100c39b78c2488c8e55119424b5d6545b8f8a1
BLAKE2b-256 checksum
How to use checksums
0caa4548aa59fcace608a5d94eb268c9f17875012db20d2b2754dcadef8e4872
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / qiskit_gym-0.4.2-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL qiskit_gym-0.4.2-cp310-cp310-manylinux_2_34_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
aae7ea27a9e9829954d8ec56b52feba1e478cdf22e7326d247eea0890f83d7d5
BLAKE2b-256 checksum
How to use checksums
0f26a492b661c5751a072ec7c8457beb924fd1a29a0a7f152c488f7c90d2ae82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.22

Release files / qiskit_gym-0.4.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL qiskit_gym-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7636f180e53996b7c233e9fdf00a92a34310e572891f043c76920d426fb1faf0
BLAKE2b-256 checksum
How to use checksums
9c459f06a1314fd09e44e359baea14cbe0db1ada8e0046ff661039227f2844d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / qiskit_gym-0.4.2-cp310-cp310-macosx_10_12_x86_64.whl

Download URL qiskit_gym-0.4.2-cp310-cp310-macosx_10_12_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
2e902e7f5e7a57119aeae42cc0c8c7d083322e4857de60d5f77ab33277303778
BLAKE2b-256 checksum
How to use checksums
cac91271800c068ae3d8f2e2d800be09c1c83f2af5691bf05dae4b866053e4e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release history Release notifications | RSS feed

This release

0.4.2 This release

18 release files

0.4.1

18 release files

0.4.0

18 release files

0.3.0

18 release files

0.1.2

16 release files

0.1.1

16 release files

0.1.0

12 release files

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