When working with quantum objects in QuTiP, the library provides the concept of a kind
, allowing the use of state vectors, dual vectors, density operators, unitary operators, and superoperators all in unified fashion. Currently, however, this support does not include representations of operator-sum decompositions of channels or instruments. For example, qt.to_kraus
returns a list of Qobj
instances, which then has no further metadata nor any way of enforcing that each consituent Qobj
instance agrees in dimensions and other metadata. Similarly, instruments can commonly be represented by a decomposition into a sum of completely positive trace non-increasing channels, but there is no current reflection of this structure in QuTiP. This design document describes a modification to QuTiP to enable first-class support for operator-sum decompositions.
In general, QuTiP differentiates between kinds
by using decompositions of array sh