qrunch.quantum.algorithms.pauli.vqes

Module containing all the VQE (Variational Quantum Eigensolver) algorithms in the Pauli operator formalism.

Functions

gate_selector_creator()

Start creating a gate selector.

vqe_creator()

Start creating a VQE algorithm.

Classes

GateSelectorCreator

Builder for all types of gate selectors.

VqeCreator

Builder for all types of VQE algorithms.

class GateSelectorCreator

Bases: object

Builder for all types of gate selectors.

static adapt() AdaptGateSelectorCreator

Narrow the gate selector to the ADAPT gate selector.

Return type:

AdaptGateSelectorCreator

static fast() FastGateSelectorCreator

Narrow the gate selector to the FAST gate selector.

Return type:

FastGateSelectorCreator

class VqeCreator

Bases: object

Builder for all types of VQE algorithms.

static fixed_ansatz() BasicVqeCreator

Configure fixed ansatz (basic) VQE.

Return type:

BasicVqeCreator

static iterative() AdaptiveVqeCreator

Configure an iterative VQE.

Return type:

AdaptiveVqeCreator

gate_selector_creator() GateSelectorCreator

Start creating a gate selector.

Return type:

GateSelectorCreator

vqe_creator() VqeCreator

Start creating a VQE algorithm.

Return type:

VqeCreator

Modules

adapt_gate_selector

Implementation of ADAPT-VQE (https://arxiv.org/pdf/1812.11173).

adaptive_vqe

Implements the adaptive VQE framework.

analytical_beast_basic_vqe

Module containing adaptive orbital optimization VQE.

basic_vqe

Implementation of the basic VQE algorithm.

brute_force_gate_selector

Module for implementing a brute force gate selector.

fast_gate_selector

Implementation of FAST-VQE (https://doi.org/10.1103/PhysRevA.108.052422).

gate_pool

Module containing everything needed to create gate pools used in adaptive VQEs.

random_gate_selector

Module for implementing a random gate selector.

stopping_criteria

Defines Criteria for deciding when to stop an optimization.

vqe_protocols

Interfaces for the VQE classes and their options dataclasses.