Skip to main content

Multiqubit Rydberg Gate Optimizer

Project description

RydOpt - A Multiqubit Rydberg Gate Optimizer

docs tests pypi

RydOpt is a Python package for the optimization of laser pulses implementing two- and multiqubit Rydberg gates in neutral atom quantum computing platforms. The optimization methods support GPUs and multi-core CPUs, using an efficient implementation based on JAX.

Install the software with pip (requires Python ≥ 3.10; for enabling GPU support and tips, see our extended installation instructions):

pip install rydopt

Documentation and Minimal Usage Example

The package documentation can be found at https://rydopt.readthedocs.io/.

To get an idea how the software is used, we provide in the following a minimal usage example. The code optimizes a pulse to realize a CZ gate on two atoms in the perfect blockade regime.

import rydopt as ro
import numpy as np

# Want to perform a CZ gate on two atoms in the perfect blockade regime; no Rydberg state decay
gate = ro.gates.TwoQubitGate(phi=None, theta=np.pi, Vnn=float("inf"), decay=0.0)

# Pulse ansatz: constant detuning, sweep of the laser phase according to sin_crab ansatz
pulse_ansatz = ro.pulses.PulseAnsatz(detuning_ansatz=ro.pulses.const, phase_ansatz=ro.pulses.sin_crab)

# Initial pulse parameter guess
initial_params = (7.0, [0.0], [0.0, 0.0], [])

# Optimize the pulse parameters
opt_result = ro.optimization.optimize(gate, pulse_ansatz, initial_params, tol=1e-10)
optimized_params = opt_result.params

# Plot the pulse
ro.characterization.plot_pulse(pulse_ansatz, optimized_params)

Citing RydOpt

If you find this library useful for your research, please cite:

David F. Locher, Josias Old, Katharina Brechtelsbauer, Jakob Holschbach, Hans Peter Büchler, Sebastian Weber, Markus Müller, Multiqubit Rydberg Gates for Quantum Error Correction, arXiv:2512.00843

License

The RydOpt software is licensed under the MIT License.

Project details


Download files

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

Source Distribution

rydopt-0.2.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

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

rydopt-0.2.0-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file rydopt-0.2.0.tar.gz.

File metadata

  • Download URL: rydopt-0.2.0.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rydopt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6f1c0150a4d81a0fb1b57ca7fead4bbc1cf5f246915450ab52eadb6ede9870cb
MD5 a2b92ec67ebe9169d6c5666a40c9a13a
BLAKE2b-256 e1c1301a6d4e629ab2987cf3f0755d4beb13bc5407b087236d351b1712e4acec

See more details on using hashes here.

Provenance

The following attestation bundles were made for rydopt-0.2.0.tar.gz:

Publisher: publish.yml on dflocher/rydopt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rydopt-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: rydopt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rydopt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 823760aab56f39597373858e8d6505259e8b736eea36256c08007df1e4791bca
MD5 e3a711224cb3f67b0d691c0e143465e6
BLAKE2b-256 a219abc5c31ad1b12f58017d7f7e20b1dff9d0271cf25ea9d82586b84b10f11c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rydopt-0.2.0-py3-none-any.whl:

Publisher: publish.yml on dflocher/rydopt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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