iqm.benchmarks.compressive_gst.mgst.algorithm.optimize

Contents

iqm.benchmarks.compressive_gst.mgst.algorithm.optimize#

iqm.benchmarks.compressive_gst.mgst.algorithm.optimize(y: ndarray, J: ndarray, method: str, K: ndarray, rho: ndarray, A: ndarray, B: ndarray, fixed_elements: list[str], mle: bool = False) tuple[ndarray, ndarray, ndarray, ndarray, ndarray, ndarray]#

Full gate set optimization update alternating on E, K and rho.

Parameters:
  • 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

  • method (str) – Optimization method

  • K (ndarray) – Current estimates of Kraus operators

  • rho (ndarray) – Current initial state estimate

  • A (ndarray) – Current POVM parametrization

  • B (ndarray) – Current initial state parametrization

  • fixed_elements (list[str]) – List of element names to keep fixed during optimization (e.g., [“G1”, “E”, “rho”])

  • mle (bool) – Whether to use maximum likelihood estimation or least squares estimation

Returns:

Updated estimates of Kraus operators X_new: Updated estimates of superoperatos corresponding to K_new E_new: Updated POVM estimate rho_new: Updated initial state estimate A_new: Updated POVM parametrization B_new: Updated initial state parametrization

Return type:

K_new