View source on GitHub |
Determine whether two objects are equal up to global phase.
cirq.equal_up_to_global_phase(
val: Any, other: Any, *, atol: Union[int, float] = 1e-08
) -> bool
If 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.
- For
val
andother
both iterable of the same length, consecutive elements are compared recursively. Types ofval
andother
does 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
_approx_eq_
Returns | |
---|---|
True if objects are approximately equal up to phase, False otherwise. |