Basic Functions
These functions are common, general use calculations one needs to do.
Linear Algebraic Operations
OperatorMonotoneCorrelationTools.isPSD
— FunctionisPSD(X)
Returns true if X is a positive semidefinite operator.
OperatorMonotoneCorrelationTools.partialtrace
— Functionpartialtrace(ρ,dA,dB,sys)
This function computes the partial trace on a bipartite state $\rho_{AB}$. If sys = 1, it traces over the A system and otherwise the B system.
OperatorMonotoneCorrelationTools.basischange
— Functionbasischange(A,B)
Expresses a square linear operator A in the eigenbasis of B where the eigenbasis is expressed with the k-th eigenvector corresponding to the k-th largest eigenvalue of B.
OperatorMonotoneCorrelationTools.returntocompunitary
— Functionreturntocompunitary(A)
Given A in the computational basis, this returns the unitary U such that it takes the eigenbasis of A to the computational basis. This is for taking matrices written in the eigenbasis of A back to the computational basis.
OperatorMonotoneCorrelationTools.swapoperator
— Functionswapoperator(d)
Returns the swap operator $\mathbb{F} = \sum_{i,j \in [d]} \vert i \langle \rangle j \vert \otimes \vert j \langle \rangle i \vert ,$ where $d$ denotes the dimension.
Channel Operations
OperatorMonotoneCorrelationTools.choitokraus
— Functionchoitokraus(choi,dA,dB)
Converts a Choi operator of a linear map to its Kraus representation. The identity relies on the vec mapping in the computational bases: $vec:\vert j \rangle_{B} \langle i \vert_{A} \to \langle i \vert_{A} \langle j \vert _{B}$. This is equivalent to stacking columns of the matrix on top of each other, which is the vec mapping for Julia.
OperatorMonotoneCorrelationTools.krausaction
— Functionkrausaction(Ak,Bk,input)
Implements the action of a linear map $\Phi_{A \to B}$ given its Kraus operators $\{A_{k},B_{k}\}_{k}$, i.e. $\Phi(X) = \sum_{k} A_{k}XB_{k}^{\ast}$.
OperatorMonotoneCorrelationTools.WernerHolevochoi
— FunctionWernerHolevochoi(d,q)
Returns the Choi operator of the Werner-Holevo channel with parameter q acting on a d-dimensional space: $\mathcal{W}_{q} := (1-q) \mathcal{W}_{sym} + q \mathcal{W}_{as}.$