Validate Superoperators

The module validate_superoperator lets you check properties, such as physicality, of channels. If you have a superoperator specified in a different representation convert it to the representations below.

Kraus operators

kraus_operators_are_valid(kraus_ops, rtol, atol) Checks if a set of Kraus operators are valid.

Choi Matrix

choi_is_hermitian_preserving(choi, rtol, atol) Checks if a quantum process, specified by a Choi matrix, is hermitian-preserving.
choi_is_trace_preserving(choi, rtol, atol) Checks if a quantum process, specified by a Choi matrix, is trace-preserving (TP).
choi_is_completely_positive(choi, rtol, atol) Checks if a quantum process, specified by a Choi matrix, is completely positive (CP).
choi_is_cptp(choi, rtol, atol) Checks if a quantum process, specified by a Choi matrix, is completely positive and trace-preserving (CPTP).
choi_is_unital(choi, rtol, atol) Checks if a quantum process, specified by a Choi matrix, is unital.
choi_is_unitary(choi, limit) Checks if a quantum process, specified by a Choi matrix, is unitary.