Notions of Equivalence

This class captures all the different notions of equivalence that can be the result of a run().

EquivalenceCriterionName

alias of Literal[‘no_information’, ‘not_equivalent’, ‘equivalent’, ‘equivalent_up_to_phase’, ‘equivalent_up_to_global_phase’, ‘probably_equivalent’, ‘probably_not_equivalent’]

class EquivalenceCriterion

Members:

no_information : No information on the equivalence is available. This can be due to the fact that the check has not been run or that a timeout happened.

not_equivalent : Circuits are shown to be non-equivalent.

equivalent : Circuits are shown to be equivalent.

equivalent_up_to_phase : Circuits are equivalent up to a certain (global or relative) phase.

equivalent_up_to_global_phase : Circuits are equivalent up to a global phase factor.

probably_equivalent : Circuits are probably equivalent. A result that is obtained whenever a couple of simulations did not show the non-equivalence in the simulation checker.

probably_not_equivalent : Circuits are probably not equivalent. A result that is obtained whenever the ZX-calculus checker could not reduce the combined circuit to the identity.

equivalent = <EquivalenceCriterion.equivalent: 1>
equivalent_up_to_global_phase = <EquivalenceCriterion.equivalent_up_to_global_phase: 4>
equivalent_up_to_phase = <EquivalenceCriterion.equivalent_up_to_phase: 5>
property name
no_information = <EquivalenceCriterion.no_information: 2>
not_equivalent = <EquivalenceCriterion.not_equivalent: 0>
probably_equivalent = <EquivalenceCriterion.probably_equivalent: 3>
probably_not_equivalent = <EquivalenceCriterion.probably_not_equivalent: 6>
property value