paddle_quantum.channel.custom

The source file of the classes for custom quantum channels.

class paddle_quantum.channel.custom.ChoiRepr(choi_repr, qubits_idx=None, num_qubits=None)

Bases: Channel

A custom channel in Choi representation.

Parameters:
  • choi_repr (Tensor) – Choi operator of this channel.

  • qubits_idx (Iterable[Iterable[int]] | Iterable[int] | int) – Indices of the qubits on which this channel acts. Defaults to None.

  • num_qubits (int) – Total number of qubits. Defaults to None.

class paddle_quantum.channel.custom.KrausRepr(kraus_repr, qubits_idx=None, num_qubits=None)

Bases: Channel

A custom channel in Kraus representation.

Parameters:
  • kraus_repr (Tensor | List[Tensor]) – list of Kraus operators of this channel.

  • qubits_idx (Iterable[Iterable[int]] | Iterable[int] | int) – Indices of the qubits on which this channel acts. Defaults to None.

  • num_qubits (int) – Total number of qubits. Defaults to None.

class paddle_quantum.channel.custom.StinespringRepr(stinespring_mat, qubits_idx=None, num_qubits=None)

Bases: Channel

A custom channel in Stinespring representation.

Parameters:
  • stinespring_mat (Tensor) – Stinespring matrix that represents this channel.

  • qubits_idx (Iterable[Iterable[int]] | Iterable[int] | int) – Indices of the qubits on which this channel acts. Defaults to None.

  • num_qubits (int) – Total number of qubits. Defaults to None.