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 opimization 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.0.tar.gz (21.1 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.0-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rydopt-0.1.0.tar.gz
  • Upload date:
  • Size: 21.1 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.0.tar.gz
Algorithm Hash digest
SHA256 eaf0fdcb549fe3131228567afe0e22beb95d90cd9fbe26a5db01f76e264c51f3
MD5 47d6c75180dc17cd5dd75457dedf02ba
BLAKE2b-256 a045412ce8f231b09168467c462c8f9bfd1372e28d107159e697b272823ee153

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rydopt-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee60ef17518acad207c8e09cf6d0cb1d819e310c7624a9f7ff230396dc3f4b36
MD5 e4ba74b3c02ef7f6f00e519793f45953
BLAKE2b-256 eb42225154be756ecbc980d19a239611faf9f8f91061e5750285d9a2ac73f48f

See more details on using hashes here.

Provenance

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