class WebSmallDirichletGroup(WebDirichletGroup): def _compute(self): if self.modlabel: self.modulus = m = int(self.modlabel) self.H = Integers(m).unit_group() self.codelangs = ('pari', 'sage') @lazy_attribute def contents(self): return None @lazy_attribute def gens(self): return self.H.gens_values() @lazy_attribute def generators(self): return self.textuple([str(v) for v in self.H.gens_values()])
class WebSmallDirichletGroup(WebDirichletGroup): def _compute(self): if self.modlabel: self.modulus = m = int(self.modlabel) self.H = Integers(m).unit_group() self.credit = 'SageMath' self.codelangs = ('pari', 'sage') @property def contents(self): return None @property def gens(self): return self.H.gens_values() @property def generators(self): return self.textuple(map(str, self.H.gens_values()))