def characters(self): r""" Return the two characters `(\chi_1, \chi_2)` such this representation `\pi_{f, p}` is equal to the principal series `\pi(\chi_1, \chi_2)`. These are the unramified characters mapping `p` to the roots of the Satake polynomial, so in most cases (but not always) they will be defined over an extension of the coefficient field of self. EXAMPLES:: sage: LocalComponent(Newform('11a'), 17).characters() [ Character of Q_17*, of level 0, mapping 17 |--> d, Character of Q_17*, of level 0, mapping 17 |--> -d - 2 ] sage: LocalComponent(Newforms(Gamma1(5), 6, names='a')[1], 3).characters() [ Character of Q_3*, of level 0, mapping 3 |--> -3/2*a1 + 12, Character of Q_3*, of level 0, mapping 3 |--> -3/2*a1 - 12 ] """ f = self.satake_polynomial() if not f.is_irreducible(): # This can happen; see the second example above d = f.roots()[0][0] else: d = self.coefficient_field().extension(f, 'd').gen() G = SmoothCharacterGroupQp(self.prime(), d.parent()) return Sequence([ G.character(0, [d]), G.character(0, [self.newform()[self.prime()] - d]) ], cr=True, universe=G)
def characters(self): r""" Return the two characters `(\chi_1, \chi_2)` such this representation `\pi_{f, p}` is equal to the principal series `\pi(\chi_1, \chi_2)`. These are the unramified characters mapping `p` to the roots of the Satake polynomial, so in most cases (but not always) they will be defined over an extension of the coefficient field of self. EXAMPLES:: sage: LocalComponent(Newform('11a'), 17).characters() [ Character of Q_17*, of level 0, mapping 17 |--> d, Character of Q_17*, of level 0, mapping 17 |--> -d - 2 ] sage: LocalComponent(Newforms(Gamma1(5), 6, names='a')[1], 3).characters() [ Character of Q_3*, of level 0, mapping 3 |--> -3/2*a1 + 12, Character of Q_3*, of level 0, mapping 3 |--> -3/2*a1 - 12 ] """ f = self.satake_polynomial() if not f.is_irreducible(): # This can happen; see the second example above d = f.roots()[0][0] else: d = self.coefficient_field().extension(f, 'd').gen() G = SmoothCharacterGroupQp(self.prime(), d.parent()) return Sequence([G.character(0, [d]), G.character(0, [self.newform()[self.prime()] - d])], cr=True, universe=G)
def characters(self): r""" Return the two characters `(\chi_1, \chi_2)` such that the local component `\pi_{f, p}` is the induction of the character `\chi_1 \times \chi_2` of the Borel subgroup. EXAMPLE:: sage: LocalComponent(Newforms(Gamma1(13), 2, names='a')[0], 13).characters() [ Character of Q_13*, of level 0, mapping 13 |--> 3*a0 + 2, Character of Q_13*, of level 1, mapping 2 |--> a0 + 2, 13 |--> -3*a0 - 7 ] """ G = SmoothCharacterGroupQp(self.prime(), self.coefficient_field()) chi1 = G.character(0, [self.newform()[self.prime()]]) chi2 = G.character(0, [self.prime()]) * self.central_character() / chi1 return Sequence([chi1, chi2], cr=True, universe=G)