.. _sec-attributes:

.. _attributes:

Attributes of Admissible Representations
========================================

.. magma:function:: CentralCharacter(pi)
   :input_types: RepLoc
   :output_types: GrpDrchElt
   :label: CentralCharacter_RepLoc

   The central character of :math:`\pi`, where :math:`\pi` is an admissible
   representation on :math:`{\operatorname{GL}}({\mathbb{Q}}_p).` This is a
   Dirichlet character of :math:`p`-power conductor.

.. magma:function:: Conductor(pi)
   :input_types: RepLoc
   :output_types: RngIntElt
   :label: Conductor_RepLoc

   The conductor of :math:`\pi`, written multiplicatively.

.. magma:function:: DefiningModularSymbolsSpace(pi)
   :input_types: RepLoc
   :output_types: ModSym
   :label: DefiningModularSymbolsSpace_RepLoc

   The space of modular symbols from which :math:`\pi` was created.

.. magma:function:: IsMinimal(pi)
   :input_types: RepLoc
   :output_types: BoolElt, GrpDrchElt, RepLoc
   :label: IsMinimal_RepLoc

   Given a representation :math:`\pi` of
   :math:`{\operatorname{GL}}_2({\mathbb{Q}}_p)`, returns ``true`` if the conductor
   of :math:`\pi` cannot be lowered by twisting by a character of
   :math:`{\mathbb{Q}}_p^{\times}.` If :math:`\pi` is not minimal, the function
   also returns a minimal representation :math:`\pi^{\prime}` together with a
   Dirichlet character :math:`\chi,` such that :math:`\pi` is the twist of
   :math:`\pi^{\prime}` by :math:`\chi`.

   This is true iff ``IsMinimalTwist(DefiningModularSymbolsSpace(pi))`` is true.

.. magma:example:: Example: Attributes Example
   :label: attributes-example

   We continue the previous example.

   .. code-block:: magma

      > S11 := CuspidalSubspace(ModularSymbols(11, 2, 1));
      > E11 := NewformDecomposition(S11)[1];
      > E11;
      Modular symbols space for Gamma_0(11) of weight 2 and dimension 1
         over Rational Field
      > pi := LocalComponent(E11, 11);
      > pi;
      Steinberg Representation of GL(2,Q_11)
      > DefiningModularSymbolsSpace(pi) eq E11;
      true
      %%a> assert $1;
      > Conductor(pi);
      11
      %%a> assert $1 eq 11;
      > IsTrivial(CentralCharacter(pi));
      true
      %%a> assert $1;
