Source code for bqskit.ir.gates.quditgate
"""This module implements the QuditGate base class."""
from __future__ import annotations
from bqskit.ir.gate import Gate
[docs]
class QuditGate(Gate):
"""A gate that acts on qudits, all with the same level."""
_radix: int
@property
def radixes(self) -> tuple[int, ...]:
"""The number of orthogonal states for each qudit."""
return tuple([self.radix] * self.num_qudits)
@property
def radix(self) -> int:
"""The number of levels in each qudit."""
return getattr(self, '_radix')