iqm.benchmarks.compressive_gst.mgst.algorithm.gd

Contents

iqm.benchmarks.compressive_gst.mgst.algorithm.gd#

iqm.benchmarks.compressive_gst.mgst.algorithm.gd(K: ndarray, E: ndarray, rho: ndarray, y: ndarray, J: ndarray, fixed_gates: ndarray | None = None, mle: bool = False) ndarray#

Do Riemannian gradient descent optimization step on gates.

Parameters:
  • K (ndarray) – Each subarray along the first axis contains a set of Kraus operators. The second axis enumerates Kraus operators for a gate specified by the first axis.

  • E (ndarray) – Current POVM estimate

  • rho (ndarray) – Current initial state estimate

  • y (ndarray) – 2D array of measurement outcomes for sequences in J; Each column contains the outcome probabilities for a fixed sequence

  • J (ndarray) – 2D array where each row contains the gate indices of a gate sequence

  • fixed_gates (ndarray | None) – List of gate indices which are not optimized over and assumed as fixed

  • mle (bool) – Whether to use MLE objective function or least squares objective function

Returns:

Updated Kraus parametrizations

Return type:

K_new

Notes

Gradient descent using the Riemannian gradient and updating along the geodesic. The step size is determined by minimizing the objective function in the step size parameter.