# From logical universal gate set to physical one, Qiskit

Among the several universal gate sets, the Clifford$$+T$$ set seems the most important one (since it should provide fault-tolerant computing).

However, that set is logical and it differs from physical implementations, e.g. IBM processors use the gate set $$\{CNOT, I, R_z, \sqrt{X}, X\}$$.

Hence, my question is: how does the Qiskit framework handle the switch from a gate set, such as the Clifford$$+T$$, to the real one?

At this link there's an interesting possible answer. But I'd like to get a deeper understanding of the criteria Qiskit applies.

EDIT:

I'd like to input to the Qiskit transpile method a simple circuit performing a control S gate:

qc = QuantumCircuit(2)
cs = SGate().control()
qc.append(cs, [0,1])

with basis gate set $$\{H, S, T, CNOT\}$$, i.e.:

new_qc = transpile(qc, basis_gates=['h','s','t',cx'])

However, the method cannot complete the task.

• I have ran into issue like this before too actually. So I have to use $U3$ gate and CNOT. But theoretically, the set $\{H, T, CNOT \}$ should be enough. – KAJ226 Mar 30 at 15:15