Synth
class samplomatic.synths.Synth
Bases: Generic[QubitT, ParameterT, InstructionT]
Base class for synthesizers.
Attributes Summary
Column 1 | Column 2 |
|---|---|
compatible_register_types | |
num_params | |
num_qubits |
Methods Summary
Column 1 | Column 2 |
|---|---|
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
Type: frozenset[VirtualType]
Default value: frozenset({})
num_params
Type: int
Default value: 0
num_qubits
Type: int
Default value: 1
Methods Documentation
generate_template_values
abstractmethod generate_template_values(register: VirtualRegister) → ndarray
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
abstractmethod make_template(qubits: list[QubitT], params: Iterable[ParameterT]) → Iterable[InstructionT]
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.