|View source on GitHub|
Determine whether two objects are equal up to global phase.
cirq.protocols.equal_up_to_global_phase( val: Any, other: Any, *, atol: Union[int, float] = 1e-08 ) -> bool
val implements a
_equal_up_to_global_phase_ method then it is
invoked and takes precedence over all other checks:
- For complex primitive type the magnitudes of the values are compared.
otherboth iterable of the same length, consecutive elements are compared recursively. Types of
otherdoes not necessarily needs to match each other. They just need to be iterable and have the same structure.
- For all other types, fall back to
||Source object for approximate comparison.|
||Target object for approximate comparison.|
||The minimum absolute tolerance. This places an upper bound on the differences in magnitudes of two compared complex numbers.|
|True if objects are approximately equal up to phase, False otherwise.|