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