qat.quops.QuantumChannelChoi

class qat.quops.QuantumChannelChoi(matrix, name='')

A quantum channel in its Choi-Jamiolkowski matrix representation:

\[\hat{\boldsymbol{\rho}}_{\mathcal{E}}\equiv\frac{1}{d}\sum_{i}\boldsymbol{E}_{i}\otimes\mathcal{E}(\boldsymbol{E}_{i})\]

with \(d=2^{n_\mathrm{qubits}}\).

Parameters
  • matrix (np.array) – the Choi matrix \(\hat{\boldsymbol{\rho}}_{\mathcal{E}}\)

  • name (str) – the name of the channel

matrix

the Choi matrix \(\hat{\boldsymbol{\rho}}_{\mathcal{E}}\)

Type

np.array

name

the name of the channel

Type

str

arity

the arity of the gate

Type

int

to_kraus(force=False)

Convert to Kraus representation

Parameters

force (bool, optional) – if True, force convertion if chi matrix is not PSD. Default to False.

Note

Convertion goes through Choi -> PTM -> Chi -> Kraus

Returns

QuantumChannelKraus

to_ptm()

Convert to PTM representation

Returns

QuantumChannelPTM