Module garoupa.algebra.product.tuple

Classes

class Tuple (*subelements)
Expand source code
class Tuple(Element):
    def __init__(self, *subelements):
        self.subelements = subelements
        order = 1
        i = 0
        for a in reversed(subelements):
            i += order * a.i
            order *= a.order
        super().__init__(i, order)

    def __mul__(self, other):
        return Tuple(*(a * b for a, b in zip(self.subelements, other.subelements)))

    def __repr__(self):
        return f"«{', '.join([str(a) for a in self.subelements])}»"

    def __invert__(self):
        return Tuple(*(~a for a in self.subelements))

Element(i: int, order: int)

Ancestors

Inherited members