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. |