Skip to main content

Python implementation of the quantum optimal control GOAT-algorithm

Project description

goat_quantumcontrol

goat_quantumcontrol is a Python library for the optimization of quantum gates using the GOAT algorithm.

The algorithm was developed in 2018 by Machnes et. al. and got published in following paper: https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.150401

Installation

Use the package manager pip to install goat_quantumcontrol.

pip install goat_quantumcontrol

Usage

import goat_quantumcontrol as Qgoat

#-----System parameters------
# define the drift Hamiltonian
H0 = sigmax
# define the control Hamiltonian
Hdrive = sigmaz
# define the target gate
Utarget = X_gate

#-----Pulse parameters------
# define the number of time intervals
n_ts = 1000
# define the evolution time
evo_time = 3
# define the number of amps
num_of_amps = 2

#-----Optimization parameters--
# define the number of maximal iterations
max_iter = 200
# define the gtol parameter of the scipy 'BFGS' optimizer
gtol = 1e-10

# create an instance of the Pulse class to be used
fourier_pulse = Qgoat.FourierPulseWithEnvelope(n_ts=n_ts,
                                               evo_time=evo_time,
                                               num_of_amps=num_of_amps,
                                               window=None)

# create initial guess_amps with 
fourier_pulse.create_guess_amps()

# create an instance of the Optimizer class
optimizer = Qgoat.Optimizer(H0=H0, Hdrive=Hdrive,
                            target=Utarget,
                            pulse=fourier_pulse,
                            max_iter=max_iter, gtol=gtol,
                            printProgress=True)

# run the optimization
optimizer.run_optimization()

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

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

goat_quantumcontrol-0.0.4.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

goat_quantumcontrol-0.0.4-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file goat_quantumcontrol-0.0.4.tar.gz.

File metadata

  • Download URL: goat_quantumcontrol-0.0.4.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for goat_quantumcontrol-0.0.4.tar.gz
Algorithm Hash digest
SHA256 b744895b3ec5415a8e20e6c5ecb6e06b98dfe29ed9a8861317a480f80697259e
MD5 33011c3e8ea70e99394b56d7fd903666
BLAKE2b-256 a6a6f4629bea0b29aba854bc2eb603681808e40d2b78c5ad4db72c8a62e3ceb1

See more details on using hashes here.

File details

Details for the file goat_quantumcontrol-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for goat_quantumcontrol-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 12af19b224fb735ae3026a5193ad9647ce4accb316446f562cc0a2b3f7b376ae
MD5 57889f95f50fcbaf77faac485dadcaea
BLAKE2b-256 92a283f8289985438bb9aaf6e07d1a989fd861e365c8ef1356766b1d7aec5ca8

See more details on using hashes here.

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