iqm.benchmarks.compressive_gst.mgst.optimization.lineobjf_A_B

Contents

iqm.benchmarks.compressive_gst.mgst.optimization.lineobjf_A_B#

iqm.benchmarks.compressive_gst.mgst.optimization.lineobjf_A_B(a: float, v: ndarray, delta_v: ndarray, X: ndarray, C: ndarray, y: ndarray, J: ndarray, argument: str) float#

Compute objective function at translated position.

Parameters:
  • a (float) – Step size

  • v (ndarray) – Current position

  • delta_v (ndarray) – Step direction

  • X (ndarray) – Current gate estimate

  • C (ndarray) – Current initial state/POVM estimate that is not updated

  • y (ndarray) – 2D array of measurement outcomes for sequences in J; The columns contain the outcome probabilities for different povm elements

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

  • argument (str) – Takes the following options: “E” or “rho”, and indicates which gate set component is optimized over

Returns:

Objective function value at new position v + a*delta_v

Return type:

float

Notes

This function is used for the line search with linear updates v_new = v + a*delta_v, where v can be either the POVM estimate or the state estimate.