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.3.0.tar.gz (36.2 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.3.0-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rydopt-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e162dc000c102676884294f2cffd9c8a125ee42d03274230f9a8949d0bd3f488
MD5 47341a15bea5810e3424bc40e1ebb97a
BLAKE2b-256 e3aa03aba79ba67d954bdad7218dcc526984e58d1d802085032c9d0089c43263

See more details on using hashes here.

Provenance

The following attestation bundles were made for rydopt-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: rydopt-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 55.0 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5ef79d91fc0a5daee200cd408071cee1fe5cc43f588845f96211c09216842f6
MD5 4c16544b8b5d00e5e8a2097c58419808
BLAKE2b-256 6828bb97b234495495d0cd28c20f96b55ad318df3d102d2576ec50f1abdf2471

See more details on using hashes here.

Provenance

The following attestation bundles were made for rydopt-0.3.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