コード例 #1
0
    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)
コード例 #2
0
ファイル: local_comp.py プロジェクト: jwbober/sagelib
 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)
コード例 #3
0
    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)
コード例 #4
0
ファイル: local_comp.py プロジェクト: jwbober/sagelib
 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)