Solution (source code)

= Solution

A bipartite <unitary operator> is an \b[<entangling gate> if it maps at least one <product state> to an <entangled state>]. It need not entangle every product input. For example, the <controlled-NOT gate> entangles $|+\rangle|0\rangle$ but leaves $|00\rangle$ as a product. A gate that preserves every product input is not entangling, even if it exchanges the two subsystems.