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