# Superoperator Transformations¶

superoperator_transformations is module containing tools for converting between different representations of superoperators.

We have arbitrarily decided to use a column stacking convention.

## vec and unvec¶

 vec(matrix) Vectorize, or “vec”, a matrix by column stacking. unvec(vector, shape, int] = None) Take a column vector and turn it into a matrix.

## Computational and Pauli Basis¶

 pauli2computational_basis_matrix(dim) Produces a basis transform matrix that converts from the unnormalized pauli basis to the computational basis computational2pauli_basis_matrix(dim) Produces a basis transform matrix that converts from a computational basis to the unnormalized pauli basis.

## Transformations from Kraus¶

 kraus2chi(kraus_ops) Convert a set of Kraus operators (representing a channel) to a chi matrix which is also known as a process matrix. kraus2superop(kraus_ops) Convert a set of Kraus operators (representing a channel) to a superoperator using the column stacking convention. kraus2pauli_liouville(kraus_ops) Convert a set of Kraus operators (representing a channel) to a Pauli-Liouville matrix (aka Pauli Transfer matrix). kraus2choi(kraus_ops) Convert a set of Kraus operators (representing a channel) to a Choi matrix using the column stacking convention.

## Transformations from Chi¶

 chi2kraus(chi_matrix) Converts a chi matrix into a list of Kraus operators. chi2superop(chi_matrix) Converts a chi matrix into a superoperator. chi2pauli_liouville(chi_matrix) Converts a chi matrix (aka a process matrix) to the Pauli Liouville representation. chi2choi(chi_matrix) Converts a chi matrix into a Choi matrix.

## Transformations from Liouville¶

 superop2kraus(superop) Converts a superoperator into a list of Kraus operators. superop2chi(superop) Converts a superoperator into a list of Kraus operators. superop2pauli_liouville(superop) Converts a superoperator into a pauli_liouville matrix. superop2choi(superop) Convert a superoperator into a choi matrix.

## Transformations from Pauli-Liouville (Pauli Transfer Matrix)¶

 pauli_liouville2kraus(pl_matrix) Converts a pauli_liouville matrix into a list of Kraus operators. pauli_liouville2chi(pl_matrix) Converts a pauli_liouville matrix into a chi matrix. pauli_liouville2superop(pl_matrix) Converts a pauli_liouville matrix into a superoperator. pauli_liouville2choi(pl_matrix) Convert a Pauli-Liouville matrix into a choi matrix.

## Transformations from Choi¶

 choi2kraus(choi, tol) Converts a Choi matrix into a list of Kraus operators. choi2chi(choi) Converts a Choi matrix into a chi matrix. choi2superop(choi) Convert a choi matrix into a superoperator. choi2pauli_liouville(choi) Convert a choi matrix into a Pauli-Liouville matrix.