iqm.benchmarks.compressive_gst.mgst.algorithm.run_mGST

Contents

iqm.benchmarks.compressive_gst.mgst.algorithm.run_mGST#

iqm.benchmarks.compressive_gst.mgst.algorithm.run_mGST(args: tuple[ndarray, ndarray, None, int, int, int, int, int, int], method: str = 'SFN', max_inits: int = 10, max_iter: int = 200, final_iter: int = 120, target_rel_prec: float = 1e-05, threshold_multiplier: float = 5, fixed_elements: list | None = None, init: list[ndarray[Any, Any]] | None = None, verbose_level: int = 0) tuple[ndarray, ndarray, ndarray, ndarray, list]#

Main mGST routine.

Parameters:
  • args (tuple[ndarray, ndarray, None, int, int, int, int, int, int]) – Tuple containing (y, J, _, d, r, rK, n_povm, bsize, meas_samples) where: - y: 2D array of measurement outcomes for sequences in J - J: 2D array where each row contains gate indices of a gate sequence - _: unused parameter - d: Number of different gates in the gate set - r: Superoperator dimension (square of physical dimension) - rK: Target Kraus rank - n_povm: Number of POVM elements - bsize: Size of the batch (number of sequences) - meas_samples: Number of samples per gate sequence for measurement array y

  • method (str) – Optimization method: “SFN” or “GD”

  • max_inits (int) – Maximum number of random initializations to try

  • max_iter (int) – Maximum number of iterations on batches

  • final_iter (int) – Maximum number of iterations on full data set

  • target_rel_prec (float) – Target relative precision at which the optimization loop breaks

  • threshold_multiplier (float) – Multiplier for the stopping criterion threshold

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

  • init (list[ndarray[Any, Any]] | None) – List of 3 numpy arrays [K, E, rho] for initialization; If not provided, random initialization is used

  • verbose_level (int) – Verbosity level: 0 (silent), 1 (info), 2 (info + plots)

Returns:

Updated estimates of Kraus operators X: Updated estimates of superoperators corresponding to K E: Updated POVM estimate rho: Updated initial state estimate res_list: Collected objective function values after each iteration

Return type:

K