pygsti.extras.drift.signal.generate_gaussian_signal

pygsti.extras.drift.signal.generate_gaussian_signal#

generate_gaussian_signal(power, center, spread, n, base=0.5, method='sharp')#

Generates a probability trajectory with the specified power that is approximately Gaussian distribution accross frequencies, centered in the frequency specified by center. The probability trajectory has a rescaled signal power of power, where, for a probability trajectory p, the signal vector is s = p - mean(p), and the rescaled signal vector is p - mean(p) / sqrt(mean(p) * (1 - mean(p)). The phases on the amplitudes are randomized.

Parameters:
  • power (float) – The amount of power in the rescaled signal of the generated probability trajectory.

  • center (int) – The mode on which to center the Gaussian.

  • spread (int) – The spread of the Gaussian

  • n (int) – The number of sample times that the probability trajectory is being created for.

  • base (float in (0,1), optional) – The mean of the generated probability trajectory.

  • method (str, optional) –

    The method used to guarantee that the created probability trajectory is a valid probability, i.e., is within [0,1]. Options:

    • None. In this case nothing is done to guarantee that the output is a valid probability

      trajectory, but the power in the signal is guaranteed to be the input power.

    • ’sharp’ or ‘logistic’. The ‘sharp’ or ‘logistic’ methods with the renormalizer()

      function are used to map the generated vector onto [0,1]. When the renormalizer does a non-trivial action on the generated vector, the power in the output will be below the requested power. Moreover, the power will not be distributed only over the requested number of modes (i.e., it impacts the spectrum of the output vector).

Returns:

A probability trajectory.

Return type:

array