Methods for generating individual irreducible representations of \mathrm{SL}_2(\mathbb{Z}/p^\lambda\mathbb{Z}) for a given level p^\lambda.
After generating a representation \rho by means of the bases in [NW76], we perform a change of basis that results in a symmetric representation equivalent to \rho.
In each case (except the unary type R, for which see SL2IrrepRUnary
(3.3-3)), the underlying module M is of rank 2, so its elements have the form (x,y) and are thus represented by lists [x,y]
.
Characters of the abelian group \mathfrak{A} = \langle\alpha\rangle \times \langle\beta\rangle have the form \chi_{i,j}, given by
\chi_{i,j}(\alpha^{v}\beta^{w}) \mapsto \mathbf{e}\left(\frac{vi}{|\alpha|}\right) \mathbf{e}\left(\frac{wj}{|\beta|}\right)~,
where i and j are integers. We therefore represent each character by a list [i,j]
. Note that in some cases \alpha or \beta is trivial, and the corresponding index i or j is therefore irrelevant.
We write p=
p, lambda=
\lambda, sigma=
\sigma, and chi=
\chi.
See Section 2.2-1.
‣ SL2ModuleD ( p, lambda ) | ( function ) |
Returns: a record rec(Agrp, Bp, Char, IsPrim)
describing (M,Q).
Constructs information about the underlying quadratic module (M,Q) of type D, for p a prime and \lambda \geq 1.
Agrp
is a list describing the elements of \mathfrak{A}. Each element a \in \mathfrak{A} is represented in Agrp
by a list [v, a, a_inv]
, where v
is a list defined by a = \alpha^{\mathtt{v[1]}} \beta^{\mathtt{v[2]}}. Note that \beta is trivial, and hence v[2]
is irrelevant, when \mathfrak{A} is cyclic.
Bp
is a list of representatives for the \mathfrak{A}-orbits on M^\times, which correspond to a basis for the \mathrm{SL}_2(\mathbb{Z}/p^\lambda\mathbb{Z})-invariant subspace associated to any primitive character \chi \in \widehat{\mathfrak{A}} with \chi^2 \not\equiv 1. This is the basis given by [NW76], which may result in a non-symmetric representation; if this occurs, we perform a change of basis in SL2IrrepD
(3.1-2) to obtain a symmetric representation. For non-primitive characters, we must use different bases which are particular to each case.
Char(i,j)
converts two integers i, j to a function representing the character \chi_{i,j} \in \widehat{\mathfrak{A}}.
IsPrim(chi)
tests whether the output of Char(i,j)
represents a primitive character.
‣ SL2IrrepD ( p, lambda, chi_index ) | ( function ) |
Returns: a list of lists of the form [S,T].
Constructs the modular data for the irreducible representation(s) of type D with level p^\lambda, for p a prime and \lambda \geq 1, corresponding to the character \chi indexed by chi_index = [i,j]
(see the discussion of Char(i,j)
in SL2ModuleD
(3.1-1)).
Here S is symmetric and unitary and T is diagonal.
Depending on the parameters, W(M,Q) will contain either 1 or 2 such irreps.
See Section 2.2-2.
‣ SL2ModuleN ( p, lambda ) | ( function ) |
Returns: a record rec(Agrp, Bp, Char, IsPrim, Nm, Prod)
describing (M,Q).
Constructs information about the underlying quadratic module (M,Q) of type N, for p a prime and \lambda \geq 1.
Agrp
is a list describing the elements of \mathfrak{A}. Each element a \in \mathfrak{A} is represented in Agrp
by a list [v, a]
, where v
is a list defined by a = \alpha^{\mathtt{v[1]}} \beta^{\mathtt{v[2]}}. Note that \alpha is trivial, and hence v[1]
is irrelevant, when \mathfrak{A} is cyclic.
Bp
is a list of representatives for the \mathfrak{A}-orbits on M^\times, which correspond to a basis for the \mathrm{SL}_2(\mathbb{Z}/p^\lambda\mathbb{Z})-invariant subspace associated to any primitive character \chi \in \widehat{\mathfrak{A}} with \chi^2 \not\equiv 1. This is the basis given by [NW76], which may result in a non-symmetric representation; if this occurs, we perform a change of basis in SL2IrrepD
(3.1-2) to obtain a symmetric representation. For non-primitive characters, we must use different bases which are particular to each case.
Char(i,j)
converts two integers i, j to a function representing the character \chi_{i,j} \in \widehat{\mathfrak{A}}.
IsPrim(chi)
tests whether the output of Char(i,j)
represents a primitive character.
Nm(a)
and Prod(a,b)
are the norm and product functions on M, respectively.
‣ SL2IrrepN ( p, lambda, chi_index ) | ( function ) |
Returns: a list of lists of the form [S,T].
Constructs the modular data for the irreducible representation(s) of type N with level p^\lambda, for p a prime and \lambda \geq 1, corresponding to the character \chi indexed by chi_index = [i,j]
(see the discussion of Char(i,j)
in SL2ModuleN
(3.2-1)).
Here S is symmetric and unitary and T is diagonal.
Depending on the parameters, W(M,Q) will contain either 1 or 2 such irreps.
See Section 2.2-3.
‣ SL2ModuleR ( p, lambda, sigma, r, t ) | ( function ) |
Returns: a record rec(Agrp, Bp, Char, IsPrim, Nm, Ord, Prod, c, tM)
describing (M,Q).
Constructs information about the underlying quadratic module (M,Q) of type R, for p a prime. The additional parameters \lambda, \sigma, r, and t should be integers chosen as follows.
If p is an odd prime, let \lambda \geq 2, \sigma \in \{1, \dots, \lambda - 1\}, and r,t \in \{1,u\} with u a quadratic non-residue mod p. Note that \sigma = \lambda is a valid choice for type R, however, this gives the unary case, and so is not handled by this function, as it is decomposed in a different way; for this case, use SL2IrrepRUnary
(3.3-3) instead.
If p=2, let \lambda \geq 2, \sigma \in \{0, \dots, \lambda-2\} and r,t \in \{1,3,5,7\}.
Agrp
is a list describing the elements of \mathfrak{A}. Each element a of \mathfrak{A} is represented in Agrp
by a list [v, a]
, where v
is a list defined by a = \alpha^{\mathtt{v[1]}} \beta^{\mathtt{v[2]}}.
Bp
is a list of representatives for the \mathfrak{A}-orbits on M^\times, which correspond to a basis for the \mathrm{SL}_2(\mathbb{Z}/p^\lambda\mathbb{Z})-invariant subspace associated to any primitive character \chi \in \widehat{\mathfrak{A}} with \chi^2 \not\equiv 1. This is the basis given by [NW76], which may result in a non-symmetric representation; if this occurs, we perform a change of basis in SL2IrrepD
(3.1-2) to obtain a symmetric representation. For non-primitive characters, we must use different bases which are particular to each case.
Char(i,j)
converts two integers i, j to a function representing the character \chi_{i,j} \in \widehat{\mathfrak{A}}.
IsPrim(chi)
tests whether the output of Char(i,j)
represents a primitive character.
Nm(a)
, Ord(a)
, and Prod(a,b)
are the norm, order, and product functions on M, respectively.
c
is a scalar used in calculating the S-matrix; namely c = \frac{1}{|M|} \sum_{x \in M} \mathbf{e}(Q(x)). Note that this is equal to S_Q(-1) / \sqrt{|M|}, where S_Q(-1) is the central charge (see Section 2.1-1).
tM
is a list describing the elements of the group M - pM.
‣ SL2IrrepR ( p, lambda, sigma, r, t, chi_index ) | ( function ) |
Returns: a list of lists of the form [S,T].
Constructs the modular data for the irreducible representation(s) of type R with parameters p, \lambda, \sigma, r, and t, corresponding to the character \chi indexed by chi_index = [i,j]
(see the discussions of \sigma, r, t, and Char(i,j)
in SL2ModuleR
(3.3-1)).
Here S is symmetric and unitary and T is diagonal.
Depending on the parameters, W(M,Q) will contain either 1 or 2 such irreps.
If \sigma = \lambda for p \neq 2, then the second factor of M is trivial (and hence t is irrelevant), so this falls through to SL2IrrepRUnary
(3.3-3).
‣ SL2IrrepRUnary ( p, lambda, r ) | ( function ) |
Returns: a list of lists of the form [S,T].
Constructs the modular data for the irreducible representation(s) of unary type R (that is, the special case where \sigma = \lambda) with p an odd prime, \lambda a positive integer, and r \in \{1,u\} with u a quadratic non-residue mod p.
Here S is symmetric and unitary and T is diagonal.
In this case, W(M,Q) always contains exactly 2 such irreps.
generated by GAPDoc2HTML