qat.plugins

Plugins are objects to manipulate quantum jobs (circuits, observables) prior to execution and post-process the results.

Currently, the following plugins are offered to the users in myQLM.

Circuit rewriting plugins

qat.plugins.CircuitInliner

Inlining circuit inside a stack

qat.plugins.FusionPlugin

Merge quantum gates together to reduce the number of gates

qat.plugins.ObservableSplitter

Turning observable sampling into qubit sampling

Variational optimization plugins

qat.plugins.CostFunctionPlugin

Perform variational optimization without observable

qat.plugins.PSOMinimizePlugin

Minimizer based on the Particle Swarm Optimization (PSO) algorithm

qat.plugins.ScipyMinimizePlugin

Hybrid quantum classical optimization based on the Scipy

qat.plugins.SPSAMinimizePlugin

Minimizer based on Simultaneous Perturbation Stochastic Approximation (SPSA) algorithm

Plugin for fermionic systems

qat.plugins.AdaptVQEPlugin

Plugin building iteratively efficient ansatze

qat.plugins.GradientDescentOptimizer

Natural gradient descent optimizer

qat.plugins.MultipleLaunchesAnalyzer

Plugin running several optimizations and keeping the best one

qat.plugins.SeqOptim

Iteratively transform into Natural Orbitals basis

qat.plugins.TransformObservable

Plugin performing a transformation on the Observable

qat.plugins.ZeroNoiseExtrapolator

Plugin performing Zero-Noise Extrapolation

Plugin utilities

qat.plugins.AbstractPlugin

Abstract class of all plugins

qat.plugins.Display

Display a quantum circuit in a terminal

qat.plugins.Junction

Specialized abstract plugin allowing iterations inside a Qaptiva stack

qat.plugins.Optimizer

Specialized abstract junction performing variational optimization

qat.plugins.QuameleonPlugin

Plugin emulating hardware constraints

qat.plugins.RemotePlugin

Connect to a plugin running in a remote server