unmajority_add_parallel_gate¶
-
forest.benchmarking.classical_logic.
unmajority_add_parallel_gate
(a: int, b: int, c: int, in_x_basis: bool = False) → pyquil.quil.Program¶ An alternative form of the UnMajority and Add gate, or UMA for short.
This implementation of UMA has 3-CNOTs, rather than 2, but admits greater parallelism
See [CDKM96] reference in ripple_carry_adder.adder() docstring
See also
Parameters: - a – qubit label
- b – qubit label
- c – qubit label
- in_x_basis – if true, the returned program performs the equivalent logic in the X basis.
Returns: program that executes the same logic as unmajority_add_gate but with different gates