Genetic Algorithm for VQC ansatz search.
Project description
GA for VQC Ansatz Search
This is a module to support Variational Quantum Circuits by optimizing the ansatz. The ansatz optimization is performed using a Genetic Algorithm, which can be parallelized with GPUs.
For a detailed example of using this package see the https://github.com/tcoulvert/QAE_4_HEP repository.
Installation
Run the following to install:
$ pip install ga-vqc
Contributors
This module was developed through the Caltech SURF program. Special thanks to my mentor at Caltech.
- Jean-Roch (California Institute of Technology, Pasadena, CA 91125, USA)
Usage
import ga_vqc as gav
## Config (hyperparameters) for GA, see full list in example ##
vqc_main = <'Function that handles running your VQC optimization'>
# Example of allowed optimization gates, see Genepool.py for documentation
gates_dict = {"I": (1, 0), "RX": (1, 1), "CNOT": (2, 0)}
gates_probs = [0.35, 0.35, 0.3]
genepool = gav.Genepool(gates_dict, gates_probs)
vqc_config = {
'num_qubits': 3,
'etc': <'whatever config params your VQC model requires'>
}
ga_output_path = FILEPATH_FOR_GA_OUTPUT
config = gav.Config(vqc_main, vqc_config, genepool, ga_output_path)
# Create the GA with the given hyperparameters
ga = gav.setup(config)
# Evolve the GA and search for the best ansatz
ga.evolve()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ga_vqc-1.0.14.tar.gz
(18.9 kB
view hashes)
Built Distribution
ga_vqc-1.0.14-py3-none-any.whl
(20.3 kB
view hashes)