montecarlo_ae

This module contains the necessary functions and classes to implement a Monte-Carlo Amplitude Estimation routine. Given a quantum oracle operator, the amplitude of a given target state is estimated by evaluating it. Grover-like operators are not used in this routine.

Author: Gonzalo Ferro Costas & Alberto Manzano Herrero

class QQuantLib.AE.montecarlo_ae.MCAE(oracle: qat.lang.AQASM.QRoutine, target: list, index: list, **kwargs)

Class for MonteCarlo Amplitude Estimation (MCAE).

Parameters:
  • oracle (QLM gate) – QLM gate with the Oracle for implementing the Grover operator

  • target (list of ints) – python list with the target for the amplitude estimation

  • index (list of ints) – qubits which mark the register to do the amplitude estimation

  • kwargs (dictionary) – dictionary that allows the configuration of the IQAE algorithm: Implemented keys:

  • qpu (kwargs, QLM solver) – solver for simulating the resulting circuits

  • shots (kwargs, int) – number of measurements

  • mcz_qlm (kwargs, bool) – for using or not QLM implementation of the multi controlled Z gate

property index

creating index property

property oracle

creating oracle property

run()

run method for the class.

Returns:

amplitude estimation parameter

Return type:

self.ae

property target

creating target property