MS gate
The Mølmer-Sørensen gate, IonQ Aria's native entangler: matrix, phase and angle parameters in turns, effect on the basis states, and the MSGate call.
The MS gate, the Mølmer-Sørensen gate, is the native two-qubit entangling gate of IonQ's Aria systems. It rotates a pair of qubits together about an axis in the XY plane of each, with the two axes set by phases and and the amount of entanglement set by an angle . All three are in turns: runs from 0, the identity, to 0.25, fully entangling, which is the default. With both phases at 0 it is an RXX gate of angle . At on two fresh qubits, the pair reads 00 or 11 with equal probability and never 01 or 10.
Kets such as name the basis states and rotations are described on the Bloch sphere; the qubits lesson introduces both.
Before you use a native gate
Native gates only run in a native-gate circuit, and a circuit cannot mix native and standard gates. In qiskit-ionq a backend is created for one gateset, provider.get_backend(name, gateset="native"); the pre-created backend on Qollab uses the standard gateset. MS is the entangler of Aria, which on Qollab means the Aria noise-model simulators; Forte, the hardware behind Qollab's QPU backends, uses the ZZ gate instead. Submitting native gates bypasses IonQ's compiler and optimiser and turns error mitigation off by default. See How your circuit is compiled.
Call
| Where | Call |
|---|---|
| Python | qc.append(MSGate(φ0, φ1, θ), [qubit0, qubit1]) |
| JS | circuit.append(MSGate(φ0, φ1, θ), [qubit0, qubit1]) |
| Class | MSGate, from qiskit_ionq; θ defaults to 0.25 |
Matrix
The matrix uses the basis order , with , , and .
MS(0, 0, θ) is rxx(2πθ) and MS(0.25, 0.25, θ) is ryy(2πθ); MS(0, 0, 0.25) is rxx(π/2), fully entangling.
Effect on basis states
With both phases at 0, the four basis states map as follows.
| Input | Output |
|---|---|
At , from the gate produces an equal superposition of and , a Bell state up to a phase. Smaller angles entangle partially, which is what makes arbitrary-angle MS gates cheaper than building the same rotation from fully entangling ones.
Inverse
The inverse of MS(φ0, φ1, θ) is MS(φ0 + 0.5, φ1, θ): the same gate with one axis turned half a turn round, since the angle cannot go negative.
Usage
from qiskit import QuantumCircuit
from qiskit_ionq import MSGate
qc = QuantumCircuit(2, 2)
qc.append(MSGate(0, 0), [0, 1])
qc.measure([0, 1], [0, 1])
import { QuantumCircuit } from 'qiskit';
import { MSGate } from 'qiskit_ionq';
const circuit = QuantumCircuit(2, 2);
circuit.append(MSGate(0, 0), [0, 1]);
circuit.measure([0, 1], [0, 1]);
On a noiseless simulator every shot reads 00 or 11, in close to equal numbers.
Related
Stay in the loop.
Get the latest tutorials, demos, and project showcases straight to your inbox. No noise, just the good stuff.
Gates