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.