I want to ask the following questions:
(1) The basis gate set of IBM quantum computers is { Id, Rz(θ),√X, X, CNOT, reset}. Somebody said that IBM didn’t really apply Rz(θ) gate on the machine. The phase of each qubit would change over time naturally. So IBM would monitor the phase of each qubit and apply other gates in the appropriate time. Then the gap which didn’t apply any gate is equal to the desired Rz(θ) gate. Is this idea correct? If the description above is correct, then how does IBM monitor the phase of each qubit? Is “monitor the qubits” like a kind of measurement? Will this action destroy the entanglement of the system? Besides, I wonder if there is any connection between “apply Rz(θ) gate” and “Measure the de-phasing time T2”. Because both actions care about the phase of the qubits, I wonder whether IBM uses the same method to monitor the phase of each qubit.
(2) IBM have announced the information of each quantum computer, including ID error, sx error, Pauli-X error, CNOT error, etc. But I couldn’t find any information about Rz(θ) gate error. Did IBM announce “Rz(θ) gate error”? How did IBM measure Rz(θ) gate error? Did IBM apply error mitigation methods to reduce Rz(θ) gate error?
(3) IBM will use which kind of error correction code to construct fault-tolerance quantum computer? The popular method is surface code, but there are some articles saying that IBM is developing “heavy hexagon code”. I wonder the difference between these two error correction codes.
Thank you for taking the time to read the questions. I hope somebody can answer my doubts.