# Is $R_x$, $R_y$, $R_z$, and $CNOT$ a Universal gate set?

The book "Introduction to Spintronics" 2nd edition says on page 542 that an arbitrary single qubit rotation and a CNOT comprises a universal gate set. Is this true?

If so, why isn't this the gate set implemented in commercial quantum computing implementations? The book makes them sound straight-forward to implement in the context of semiconductor quantum dot-based qubits.

an arbitrary single qubit rotation and a CNOT comprises a universal gate set. Is this true?

Yes. If you want to understand why, don't go with any answers about finite gate sets such as CNOT, H, T because the proof of those usually relies on the proof of the set you've stated (so the whole thing becomes horribly circular). Instead, you have to make some of the constructions yourself. Nielsen & Chuang goes through this in gory detail. Basically, an arbitrary unitary you want can be decomposed in terms of Givens rotation. Each of these, up to a permutation, is basically a controlled-controlled-...-controlled-unitary. So, you need to see how to build such a step out of controlled-not and single-qubit unitaries. As an intermediate step, you'll need Toffoli, and you'll need controlled-$$U$$.

If so, why isn't this the gate set implemented in commercial quantum computing implementations?

In many cases, it is. Basically, the construction above tells you that you an make an arbitrary single-qubit gate using a sequence such as $$R_z(\theta)R_x(\phi)R_z(\lambda).$$ To all intents and purposes this is the u3 command in qiskit, for example.

There is another, related question: why do people concentrate on finite gate sets such as cNOT, H and T rather than using this continuous set (which is nominally better, because you get exact implementations instead of arbitrarily accurate ones). One of the main reasons is fault-tolerance: when you want to implement error correction, you have to operate on encoded qubits. While the arbitrary rotations might be straightforward to implement at the level of single physical qubits, they're not so easy to implement on encoded qubits.

• What are encoded qubits? – Martin Vesely Mar 30 '20 at 8:57
• @MartinVesely You use multiple physical qubits to represent a single encoded qubit. A trivial example is $\alpha|000\rangle+\beta|111\rangle$ which encodes a single qubit across three physical ones. – DaftWullie Mar 30 '20 at 9:03

Set of gates consisiting of CNOT, $$S$$, $$T$$ and $$H$$ allows you to approximate any gate arbitrary accuracy.
CNOT is part of your set. Sice $$S = R_z(\pi/2)$$, $$T=R_z(\pi/4)$$ and $$H = R_y(\pi/2)Z = R_y(\pi/2)R_z(\pi)$$, your gates are universal.
Another perspective: $$x$$,$$y$$ and $$z$$ allow you to build any rotation of a qubit, hence any single-qubit gate. Together with CNOT you have universal set of gates.