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, and Markus Müller, Multiqubit Rydberg Gates for Quantum Error Correction (publication pending)

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.1.1.tar.gz (21.9 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.1.1-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rydopt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 04a2701faa1e979d5963aa956a57f0937de3ede677ff532facff171c9ef45715
MD5 1aa36110044969e705292254d3bc6adf
BLAKE2b-256 a3294e126102490258899ccc9cb9f37830577702b902a3af8488f4366b5a6db6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rydopt-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 33.2 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ae493a2df60f29968b1ac9ef9b0115b2aee9f9259048e40fe4ac543eb33fca00
MD5 1f996eb122fa0aec7f4a604d50c4243f
BLAKE2b-256 b1eac34738ef8a47df7c5a375c706de0fb53a1a40bebfab2f694fb594d6c5e66

See more details on using hashes here.

Provenance

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