Or, alternatively, since they are already making the (reasonable) compromise of working with a restricted gate set, they could expand their gate set to the Clifford group and then use the CHP algorithm to scale to much larger systems.
The home page for it is here. It's based on a result known as the Gottesman-Knill Theorem which shows (constructively, i.e. providing a concrete algorithm) that quantum circuits consisting solely of Clifford gates (that is, CNOT + Hadamard + Phase, hence CHP) can be simulated efficiently classically.
There are lots of possible choices of universal gate sets. However, if you are starting with Clifford gates, then it turns out to be sufficient for you to add support for a T=sqrt(S) gate; essentially T and H have the property that these two gates by themselves are sufficient to efficiently approximate any 1-qubit gate arbitrarily well (by combining these discrete rotations about the two different angles in the Bloch sphere in specific ways via the Solovay-Kitaev Theorem), and being able to perform an arbitrary 1-qubit gate and having access to an entangling 2-qubit gate (CNOT) lets you extend this to an efficient arbitrarily good approximation of any gate on an any number of qubits.
Or, alternatively, since they are already making the (reasonable) compromise of working with a restricted gate set, they could expand their gate set to the Clifford group and then use the CHP algorithm to scale to much larger systems.
I haven't looked into CHP's implementation. What do you know about it?
The home page for it is here. It's based on a result known as the Gottesman-Knill Theorem which shows (constructively, i.e. providing a concrete algorithm) that quantum circuits consisting solely of Clifford gates (that is, CNOT + Hadamard + Phase, hence CHP) can be simulated efficiently classically.
Hmm, interesting. Which gates are missing if you want to, say, implement a Quantum Fourier transform?
There are lots of possible choices of universal gate sets. However, if you are starting with Clifford gates, then it turns out to be sufficient for you to add support for a T=sqrt(S) gate; essentially T and H have the property that these two gates by themselves are sufficient to efficiently approximate any 1-qubit gate arbitrarily well (by combining these discrete rotations about the two different angles in the Bloch sphere in specific ways via the Solovay-Kitaev Theorem), and being able to perform an arbitrary 1-qubit gate and having access to an entangling 2-qubit gate (CNOT) lets you extend this to an efficient arbitrarily good approximation of any gate on an any number of qubits.