RzSxSynth

class samplomatic.synths.RzSxSynth[source]

Bases: Synth[Qubit, Parameter, CircuitInstruction]

Synthesizes arbitrary single-qubit gates into rz-sx-rz-sx-rz.

Attributes Summary

Methods Summary

generate_template_values(register)

Generate parameter values for all gates of the register valid for this synth's template.

make_template(qubits, params)

Return a parametric template that can synthesize gates.

Attributes Documentation

compatible_register_types: frozenset[VirtualType] = frozenset({VirtualType.U2})
num_params: int = 3

Methods Documentation

generate_template_values(register)[source]

Generate parameter values for all gates of the register valid for this synth’s template.

Parameters:

register – The data register containing the virtual gates to generate template parameter values for.

Returns:

An array of shape (register.num_subsystems, register.num_samples, num_params).

Raises:

SynthError – If the provided virtual register type is incompatible with this synth.

make_template(qubits, params)[source]

Return a parametric template that can synthesize gates.

Parameters:
  • qubits – The qubits for which to make the template.

  • params – The ordered parameters to use while making the template.

Yields:

Instructions that implement the template.

Raises:

SynthError – When there is a problem synthesizing.