qics.quantum.random.stinespring_operator

qics.quantum.random.stinespring_operator(nin, nout=None, nenv=None, iscomplex=False)[source]

Generate a random Stinespring operator, i.e., isometry V corresponding to a quantum channel N(X)=trE[VXV], uniformly distributed on Hilbert-Schmidt measure.

Parameters:
ninint

Dimension of the input system.

noutint, optional

Dimension of the output system. The default is nin.

nenvint, optional

Dimension of the environment system. The default is nout.

iscomplexbool, optional

Whether the Stinespring operator is real (False) or complex (True). The default is False.

Returns:
ndarray

Random Stinespring operator of dimension (nout*nenv, nin)

Notes

See [1] for additional details.

[1]

Kukulski, Ryszard, et al. “Generating random quantum channels.” Journal of Mathematical Physics 62.6 (2021).