jaqalpaq.transpilers.qiskit package

qiskit.circuit.QuantumCircuit extensions

Importing the jaqalpaq.qiskit package also patches the qiskit.circuit.QuantumCircuit object, adding the following four methods. This follows the standard Qiskit API, allowing users to add trapped-ion gates to circuits using the same syntax as gates from the Qiskit standard extension.

qiskit.circuit.QuantumCircuit.jaqalms(theta, phi, a, b)

Add a two-parameter Mølmer-Sørensen gate to a circuit.

Parameters:
  • theta (float) – The angle by which the gate rotates the state.

  • phi (float) – The phase angle determining the mix of XX and YY rotation.

  • a (qiskit.circuit.Bit, qiskit.circuit.Register, int, slice, list, or range) – The first qubit to act on.

  • b (qiskit.circuit.Bit, qiskit.circuit.Register, int, slice, list, or range) – The second qubit to act on.

qiskit.circuit.QuantumCircuit.jaqalr(theta, phi, q)

Add a single-qubit gate representing arbitrary rotation around an axis in the X-Y plane to a circuit. Note that this is essentially a different parametrization of Qiskit’s U2 gate.

Parameters:
  • theta (float) – The angle that sets the planar axis to rotate around.

  • phi (float) – The angle by which the gate rotates the state.

  • q (qiskit.circuit.Bit, qiskit.circuit.Register, int, slice, list, or range) – The qubit to act on.

qiskit.circuit.QuantumCircuit.sy(q)

Add a sqrt(Y) gate to a circuit.

Parameters:

q (qiskit.circuit.Bit, qiskit.circuit.Register, int, slice, list, or range) – The qubit to act on.

qiskit.circuit.QuantumCircuit.sydg(q)

Add an inverse sqrt(Y) gate to a circuit.

Parameters:

q (qiskit.circuit.Bit, qiskit.circuit.Register, int, slice, list, or range) – The qubit to act on.