Components (qiskit.aqua.components)

Components were designed to be swappable sub-parts of an algorithm. Different implementations of a component type can thereby be exchanged to potentially alter the behavior and outcome of the algorithm. For example VQE takes an Optimizer and a VariationalForm components. There are a selection of both different optimizers and variational_forms that can be chosen from according the nature of the problem. Some optimizers use gradients, others have alternative techniques to finding a minimum. Variational forms include heuristic ansatzes such as RYRZ and types designed for specific problems such as UCCSD for chemistry and ground state energy computation.

Components may also be used in other components. For example the UnivariateVariationalDistribution takes a VariationalForm.

Each type of component has a base class that can be extended to provide a new implementation. For example the base class for variational_forms is VariationalForm. For more information refer to the component type of interest below.