Can Qiskit decompose circuits into non-IBMQ basis gate sets?

Let circ be a QuantumCircuit object. Running circ.decompose() returns a circuit that consists entirely of gates native to IBMQ computers (single-qubit operations + CNOT).

I'm interested in decomposing circ into a circuit consisting of gates native to ion-trap quantum computers (that is, single-qubit gates + Mølmer–Sørensen). Is there a way to do this in Qiskit?

You can specify the target basis for instance using transpile:

from qiskit import transpile

target_basis = ['rx', 'ry', 'rz', 'h', 'cx']
decomposed = transpile(circuit,
basis_gates=target_basis,
optimization_level=0)  # 0 for no optimization, 3 is max


Note that

• the target basis should be complete (e.g. rz h cx). For high optimization levels (2 or 3) you might have to include u and cx so all optimization passes work correctly.
• I don't think the Molmer-Sorensen gate is currently supported as basis gate