qat.ir.gates.base module

class GateBase(**data)

Bases: QubitInstruction, ABC

Base implementation of a gate in a quantum circuit that acts on some qubits, and if needed, defined by some parameters.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class QubitInstruction(**data)

Bases: Instruction, ABC

Denotes that an instruction is done at the level of a qubit (as opposed to a pulse channel level instruction).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

constrain_angle(theta)

Constrains a rotation angle between [-np.pi, np.pi).

Return type:

float

is_equal_angle(angle1, angle2)
Return type:

bool