Two coupled transmon qubits (control, target) driven at the target's frequency realise, in the doubly-rotating frame, the effective cross-resonance Hamiltonian used to entangle real superconducting qubits (IBM's native two-qubit gate):
H_CR(t) = (Ω(t)/2) · [ a_ZX (Z⊗X) + a_IX (I⊗X) ]
a_ZX = 1 (fixed, the wanted entangling term)
a_IX = crosstalk slider (an always-on stray term)
The Z⊗X term rotates the target about X at a rate set by the control's Z eigenvalue (+1 for |0〉, −1 for |1〉) — this conditional rotation is exactly what creates entanglement. The I⊗X term rotates the target regardless of the control and only adds an unwanted shared tilt.
This simulator integrates the true 4-dimensional Schrodinger equation (Runge-Kutta 4) for the joint 2-qubit state under a smooth raised-cosine drive envelope — the same complex 4×4 matrix math as the 3D version of this sim, just drawn as two flat Bloch disks instead of spheres (both qubits' Bloch vectors stay exactly in a single plane for every state this drive can reach from |0〉/|1〉/|+〉, so nothing is lost by dropping the third axis; drag the canvas to tilt the shared camera and see this for yourself). With Echo ON, the pulse is split into two halves of opposite sign with a real π-pulse (bit flip) on the control qubit in between:
U = X_c · exp(+i H_CR T/4) · X_c · exp(-i H_CR T/4)
Because Z⊗X and I⊗X commute, this echo exactly cancels the I⊗X crosstalk term while the Z⊗X entangling rotation survives — the same trick used to calibrate real echoed-CR gates on IBM hardware.
- Control preparation — |0〉 or |1〉 keeps the joint state a product state, so the target stays pure; |+〉 puts the control in superposition, so the two conditional rotations pull the target's reduced state apart and it becomes mixed — entanglement, visible as the main target arrow shrinking.
- Ghost arrows — the two faint dashed arrows on the target disk are the exact conditional target states for control=|0〉 (blue) and control=|1〉 (red); their separation angle Δθ is a direct, measurable signature of the ZX interaction strength, and (verified numerically) it does not move when you change the crosstalk slider — a full π ZX rotation always brings both branches back together regardless of a_IX.
- Uncancelled IX tilt — a stat with no equivalent shown in the 3D version: the target Bloch vector's out-of-rotation-plane component, which is exactly zero with no crosstalk or with Echo ON, and grows with a_IX when Echo is OFF. It is the one quantity the echo genuinely cancels; purity and branch separation are unaffected by crosstalk either way, so this is where you actually see the echo working.
- Bloch length |n| — 1 = pure state, 0 = maximally mixed. It equals √(2·Tr(ρ²) − 1) for the true reduced density matrix, computed every frame from the real 2-qubit statevector.