Returns the Eisenstein subspace of the Brandt module M. When the level of M is square-free this will be the submodule generated by a vector of the form (w/w1, ..., w/wn), if it exists in M, where wi is the number of automorphisms of the i-th basis ideal and w = (LCM)({ wi }).
Returns the cuspidal subspace, defined to be the orthogonal complement of the Eisenstein subspace of the Brandt module M. If the discriminant of M is coprime to the conductor, then the cuspidal subspace consists of the vectors in M of the form (a1, ..., an), where ∑i ai = 0.
The Brandt module orthogonal to the given module M in the ambient module of M.
Returns the intersection of the Brandt modules M and N.
Sort: BoolElt Default: false
Returns a decomposition of the Brandt module with respect to the Atkin--Lehner operators and Hecke operators up to the bound B. The parameter Sort can be set to true to return a sequence sorted under the operator lt as defined below.
Sort the sequence D of spaces of Brandt modules with respect to the lt comparison operator.
> M := BrandtModule(2*3*17); > Decomp := Decomposition(M,11 : Sort := true); > Decomp; [ Brandt module of level (102,1), dimension 1, and degree 4 over Integer Ring, Brandt module of level (102,1), dimension 1, and degree 4 over Integer Ring, Brandt module of level (102,1), dimension 1, and degree 4 over Integer Ring, Brandt module of level (102,1), dimension 1, and degree 4 over Integer Ring ] > [ IsEisenstein(N) : N in Decomp ]; [ true, false, false, false ]
Returns true if and only if the Brandt module M is contained in the Eisenstein subspace of the ambient module.
Returns true if and only if the Brandt module M is contained in the cuspidal subspace of the ambient module.
Returns true if an only if the Brandt module M does not decompose into complementary Hecke-invariant submodules under the Atkin-Lehner operators, nor under the Hecke operators Tn, for n ≤B.
Returns true if and only if M1 is contained in the module M2.
Bound: RngIntElt Default: 101
Given two indecomposable subspaces, M1 and M2, returns true if and only if M1 < M2 under the following ordering:(1) Order by dimension, with smaller dimension being less.
(2) An Eisenstein subspace is less than a cuspidal subspace of the same dimension.
(3) Order by Atkin--Lehner eigenvalues, starting with smallest prime dividing the level and with '+' being less than '--'.
(4) Order by |Tr(Tpi(Mj)))|, p not dividing the level, and 1 ≤i ≤g, where g is Dimension(M1), with the positive one being smaller in the event of equality.
Condition (4) differs from the similar one for modular symbols, but permits the comparison of arbitrary Brandt modules. The algorithm returns false if all primes up to value of the parameter Bound fail to differentiate the arguments.
Bound: RngIntElt Default: 101
Returns the complement of lt for Brandt modules M1 and M2.
> M := BrandtModule(7,7); > E := EisensteinSubspace(M); > Basis(E); [ (1 1 0 0), (0 0 1 1) ] > S := CuspidalSubspace(M); > Basis(S); [ ( 1 -1 0 0), ( 0 0 1 -1) ] > PS<q> := LaurentSeriesRing(RationalField()); > qExpansionBasis(S,100); [ q + q^2 - q^4 - 3*q^8 - 3*q^9 + 4*q^11 - q^16 - 3*q^18 + 4*q^22 + 8*q^23 - 5*q^25 + 2*q^29 + 5*q^32 + 3*q^36 - 6*q^37 - 12*q^43 - 4*q^44 + 8*q^46 - 5*q^50 - 10*q^53 + 2*q^58 + 7*q^64 + 4*q^67 + 16*q^71 + 9*q^72 - 6*q^74 + 8*q^79 + 9*q^81 - 12*q^86 - 12*q^88 - 8*q^92 - 12*q^99 + 5*q^100 + O(q^101) ]