Program.define_noisy_gate

Program.define_noisy_gate(name, qubit_indices, kraus_ops)[source]

Overload a static ideal gate with a noisy one defined in terms of a Kraus map.

Note

The matrix elements along each axis are ordered by bitstring. For two qubits the order is 00, 01, 10, 11, where the the bits are ordered in reverse by the qubit index, i.e., for qubits 0 and 1 the bitstring 01 indicates that qubit 0 is in the state 1. See also the related docs in the WavefunctionSimulator Overview.

Parameters:
  • name (str) – The name of the gate.
  • qubit_indices (Sequence[int]) – The qubits it acts on.
  • kraus_ops (Sequence[Any]) – The Kraus operators.
Return type:

Program

Returns:

The Program instance