FixedCROTGateSet

class FixedCROTGateSet(n_qubits, control_rotation_ansatz='u3', target_rotation_ansatz='u3', closing_rotation_ansatz='u3', spam_qubits=(0,), **properties)

Star-topology gate set with rz/sx singles and a fixed crotxpi2.

Single-qubit operations are the parameterized virtual rz and the fixed sx, from which arbitrary single-qubit rotations are composed. The two-qubit native operation is crotxpi2, the parameterless controlled X rotation at \(\theta = \pi/2\) the hardware implements, on every star edge (0, target).

Every synthesis layer puts one rotation on the entangler’s control and one on its target. control_rotation_ansatz and target_rotation_ansatz choose each of them. "u3" is a free rotation and lowers to two sx. "u2" fixes \(\theta\) at \(\pi/2\) and lowers to one sx, at the cost of one free angle. The closing layer after the last entangler puts one rotation on every qubit, and closing_rotation_ansatz chooses each of them. By default, synthesis rounds a rotation close to \(0\) onto \(0\), which takes no sx, and one close to \(\pi/2\) onto \(\pi/2\), which takes one.

spam_qubits names the qubits whose state preparation and measurement (SPAM) the device performs together. A reset of any of them resets all of them at once. One readout resolves their populations together, so it measures \(Z\) on each of them and every product of those from the same data. A qubit outside the group gets \(|0\rangle\) by an exchange with a reset qubit. The default, (0,), resets and reads the central qubit alone.

Parameters:
  • n_qubits (int) – Number of qubits in the star register, including the central qubit 0.

  • control_rotation_ansatz (str | Sequence[str]) – Rotation a synthesis layer puts on the entangler’s control. One name for every star edge, or one name per edge in placements order.

  • target_rotation_ansatz (str | Sequence[str]) – Rotation a synthesis layer puts on the entangler’s target, in the same two forms.

  • closing_rotation_ansatz (str | Sequence[str]) – Rotation the closing layer puts on each qubit. One name for every qubit, or one name per qubit in qubit order.

  • spam_qubits (Sequence[int]) – Qubits the device resets and reads out together.

Raises:

ValidationError – If a rotation ansatz names something other than "u3" or "u2", a sequence does not have one name per edge or qubit, or spam_qubits is empty, repeats a qubit or names one outside the register.

Note

Pulse-level compilation is provided by XeedQBackend, which lowers this gate set’s native gates to a hardware pulse program, from the explicit device parameters bound to it via PulseParameters.

Attributes

gate_durations

Return the duration of every native gate that has one.

gate_errors

Return the error of every native gate that has one.

gate_types

Return the native gate families.

native_gates

Return the native gates supported by the gate set.

placements

Return where a native entangler sits, and which one.

reserved_qubits_by_gate

Return the qubits every native gate reserves while it runs.

routing_edges

Return the topology entries usable for pairwise routing.

spam_qubits

Return the qubits the device resets and reads out together.

topology

Return the qubit set every native entangling gate can be built on.

Methods

gate_duration(gate)

Return a native gate's duration, or None when it has none.

gate_error(gate)

Return a native gate's average gate infidelity on its own qubits, or None when it has none.

lower_resets(circuit)

Rewrite a circuit's resets as the resets the device performs.

pauli_readout_native(pauli_readout[, ...])

Return the native readout a requested Pauli string is realized through by default.

pauli_readouts_native()

Return every Pauli string the hardware reads out directly.

random_circuit(n_gates[, seed])

Generate a random circuit drawn from the native gate set.

reserved_qubits(gate)

Return the qubits a native gate reserves while it runs.

reset_circuit(qubits)

Build the circuit resetting these qubits to \(|0\rangle\).

with_properties(*[, ...])

Return a copy of this gate set with new errors, durations or reserved qubits.