iqm.benchmarks.compressive_gst.mgst.additional_fns.perturbed_target_init

iqm.benchmarks.compressive_gst.mgst.additional_fns.perturbed_target_init#

iqm.benchmarks.compressive_gst.mgst.additional_fns.perturbed_target_init(X_target: ndarray, rK: int) ndarray#

Generates a small random noise gate around the identity and applies it to the target gate.

The reason for using this gate as an initialization as opposed the target gate itself, is that the non-dominant Kraus operators we start with are now not zero, but small random matrices. Observations show that with this start, the non-dominant Kraus operators converge faster.

Parameters:
  • X_target (ndarray) – Current gate estimate

  • rK (int) – Number of Kraus operators per gate (“Kraus rank”) for the initialization

Returns:

Each subarray along the first axis contains a set of Kraus operators.

The second axis enumerates Kraus operators for a gate specified by the first axis.

Return type:

K_init