iqm.benchmarks.compressive_gst.mgst.low_level_jit.ddA_derivs

Contents

iqm.benchmarks.compressive_gst.mgst.low_level_jit.ddA_derivs#

iqm.benchmarks.compressive_gst.mgst.low_level_jit.ddA_derivs(X: ndarray, A: ndarray, B: ndarray, J: ndarray, y: ndarray, n_povm: int, mle: bool = False) tuple[ndarray, ndarray, ndarray, ndarray]#

Calculate all nonzero terms of the second derivatives with respect to the POVM tensor A.

Parameters:
  • X (ndarray) – The input matrix X, of shape (pdim, pdim).

  • A (ndarray) – A 3D array of shape (n_povm, pdim, pdim) representing the POVM elements.

  • B (ndarray) – A 2D array of shape (pdim, pdim) representing the isometry matrix.

  • J (ndarray) – A 2D array representing the indices for which the derivatives will be computed.

  • y (ndarray) – A 2D array of shape (n_povm, len(J)) containing the target values.

  • n_povm (int) – The number of POVM elements.

  • mle (bool) – If True, the log-likelihood objective function is used, otherwise the least squares objective function is used

Returns:

  • dA: The derivative w.r.t. A

of shape (n_povm, pdim, pdim). - dMdM: The product of the measurement map derivatives dM and dM, of shape (n_povm, r, r). - dMconjdM: The product of the conjugate of dM and dM, of shape (n_povm, r, r). - dconjdA: The product of the conjugate of dA, of shape (n_povm, r, r).

Return type:

A tuple containing the computed derivatives