> M:=ModularSymbols(276,2); D:=Decomposition(M); Print(D); Modular symbols factors: 276k2A: dim = 4 cuspidal 276k2B: dim = 4 cuspidal > Parent(qEigenform(D[1])); Power series ring in q over Univariate Quotient Polynomial Algebra in a over Rational Field with modulus a^2 - 10 > Parent(qEigenform(D[2])); Power series ring in q over Univariate Quotient Polynomial Algebra in a over Rational Field with modulus a^2 - 4*a + 2 > // compute homology of subvariety. > qEigenform(D[1],7); q - q^3 + a*q^5 + (-a + 2)*q^7 > T5:=Restrict(Tn(M,5),SkZ(M)); > H1:=Kernel(T5^2-10); > Dimension(H1); 4 > H1; Vector space of degree 86, dimension 4 over Rational Field Echelonized basis: (0 0 1 0 0 0 1/2 0 0 1/2 -5/4 -1 1 0 0 3/2 0 0 -5/4 -5/4 5/4 -5/4 1/2 1 -5/2 1 3/2 1/2 0 -2 1/4 -1/4 0 0 -1 3/4 0 1/4 3/2 -7/4 7/4 -1/2 -3/2 1 0 1 0 0 7/4 0 0 -3/2 0 5/4 3/4 0 -1/4 -1/4 2 1/4 0 0 3/2 0 -1 -1/2 1 -3/2 -1/4 1/2 -5/4 0 -2 3/2 -1/2 -2 0 5/4 1 1/2 -1/4 0 2 -9/4 1/4 -5/4) (0 0 0 1 0 0 -1 0 0 1 -1 0 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 -1 0 0 0 0 0 1 0 -1 1 0 0 0 0 0 -1 0 0 0 1 0 -1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 -1 0 0 0 0 1 0 0 0 1 0 0 0 -1 1 1 -1) (0 0 0 0 1 0 -3/2 0 0 1/2 -1/4 0 1 -1 1 -1/2 -1 0 3/4 -1/4 1/4 -1/4 1/2 0 1/2 0 -3/2 -1/2 0 1 -3/4 -1/4 1 0 0 3/4 0 1/4 -3/2 5/4 -5/4 -1/2 1/2 0 0 0 -1 0 -1/4 0 1 1/2 0 1/4 3/4 -1 3/4 -1/4 -1 1/4 0 0 -1/2 0 0 1/2 0 3/2 3/4 -3/2 3/4 0 1 -3/2 3/2 1 0 -3/4 1 -1/2 3/4 0 -2 7/4 -3/4 -1/4) (0 0 0 0 0 1 -1/2 0 0 -1/2 3/4 0 0 0 0 1/2 -1 0 3/4 -1/4 -3/4 3/4 1/2 0 1/2 -1 -1/2 1/2 0 0 1/4 -5/4 1 0 0 -1/4 0 1/4 -1/2 1/4 -1/4 1/2 -1/2 0 0 0 0 0 -1/4 0 0 -1/2 0 -3/4 -1/4 0 3/4 -1/4 0 1/4 0 0 1/2 0 1 -1/2 0 1/2 -1/4 -1/2 -1/4 0 0 -1/2 1/2 0 0 -7/4 0 1/2 3/4 0 0 -1/4 -3/4 3/4) > H1:=IntegerKernel(T5^2-10); > Dimension(H1); 4 > H1; Vector space of degree 86, dimension 4 over Rational Field User basis: (0 0 1 0 0 3 -1 0 0 -1 1 -1 1 0 0 3 -3 0 1 -2 -1 1 2 1 -1 -2 0 2 0 -2 1 -4 3 0 -1 0 0 1 0 -1 1 1 -3 1 0 1 0 0 1 0 0 -3 0 -1 0 0 2 -1 2 1 0 0 3 0 2 -2 1 0 -1 -1 -2 0 -2 0 1 -2 0 -4 1 2 2 0 2 -3 -2 1) (0 0 0 1 0 0 -1 0 0 1 -1 0 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 -1 0 0 0 0 0 1 0 -1 1 0 0 0 0 0 -1 0 0 0 1 0 -1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 -1 0 0 0 0 1 0 0 0 1 0 0 0 -1 1 1 -1) (0 0 0 0 1 3 -3 0 0 -1 2 0 1 -1 1 1 -4 0 3 -1 -2 2 2 0 2 -3 -3 1 0 1 0 -4 4 0 0 0 0 1 -3 2 -2 1 -1 0 0 0 -1 0 -1 0 1 -1 0 -2 0 -1 3 -1 -1 1 0 0 1 0 3 -1 0 3 0 -3 0 0 1 -3 3 1 0 -6 1 1 3 0 -2 1 -3 2) (0 0 0 0 0 4 -2 0 0 -2 3 0 0 0 0 2 -4 0 3 -1 -3 3 2 0 2 -4 -2 2 0 0 1 -5 4 0 0 -1 0 1 -2 1 -1 2 -2 0 0 0 0 0 -1 0 0 -2 0 -3 -1 0 3 -1 0 1 0 0 2 0 4 -2 0 2 -1 -2 -1 0 0 -2 2 0 0 -7 0 2 3 0 0 -1 -3 3) > S:=Restrict(StarInvolution(M),H1); Restrict( A: [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0..., W: Vector space of degree 86, dimension 4 over Rational Field ) Restrict( A: [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0..., B: [ (0 0 1 0 0 3 -1 0 0 -1 1 -1 1 0 0 3 -3 0 1 -2 -1 1 2 1 -1 ... ) In file "/home/was/magma/Hecke/hecke.m", line 1399, column 35: >> &cat[Coordinates(S, S.i*A) : i in [1..#B]]; ^ Runtime error in '*': Arguments 1 and 2 have incompatible degrees > S:=Restrict(StarInvolution(M),SkZ(M)); > H1p:=IntegerKernelOn(S,H1); > H1p; Vector space of degree 4, dimension 0 over Rational Field Generators: > H1p:=IntegerKernelOn(S,H1)-1; >> H1p:=IntegerKernelOn(S,H1)-1; ^ Runtime error in '-': Bad argument types Argument types given: ModTupFld, RngIntElt > H1p:=IntegerKernelOn(S-1,H1); IntegerKernelOn( A: [-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ..., B: Vector space of degree 86, dimension 4 over Rational Field ) IntegerKernelOn( A: [-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ..., B: [ (0 0 1 0 0 3 -1 0 0 -1 1 -1 1 0 0 3 -3 0 1 -2 -1 1 2 1 -1 ... ) In file "/home/was/magma/Hecke/hecke.m", line 2548, column 31: >> return VectorSpaceWithBasis(LinearCombinations(Basis(K),B)); ^ Runtime error in 'VectorSpaceWithBasis': Argument does not describe a basis > fcp(S); [ , ] 1 > Degree(S); >> Degree(S); ^ Runtime error in 'Degree': Bad argument types Argument types given: AlgMatElt > Dimension(S); >> Dimension(S); ^ Runtime error in 'Dimension': Bad argument types Argument types given: AlgMatElt > Parent(S); Full Matrix Algebra of degree 86 over Rational Field > Degree(H1); 86 > Sh1:=Restrict(S,H1); > Sh1; [-1 -2 0 1] [ 0 -1 1 -1] [ 0 -4 3 -2] [ 0 -4 2 -1] > H1p:=IntegerKernel(Sh1-1); > H1p; Vector space of degree 4, dimension 2 over Rational Field User basis: ( 0 2 0 -1) ( 0 0 1 -1) > H1m:=IntegerKernel(Sh1+1); > H1m; Vector space of degree 4, dimension 2 over Rational Field User basis: ( 2 0 1 -2) ( 0 2 -1 1) > RealTamagawa(D[1]); 1 > Discriminant(NumberField(x^2-10)); 40 > Discriminant(x^2-10); 40 > // so T_5 generates Hecke algebra. > T5p:=Restrict(T5,H1p); Restrict( A: [0 0 -1 1 0 -1 1 1 1 -1 0 0 -1 0 -1 1 1 0 0 0 0 -1 1 0 -1 1 ..., W: Vector space of degree 4, dimension 2 over Rational Field ) Restrict( A: [0 0 -1 1 0 -1 1 1 1 -1 0 0 -1 0 -1 1 1 0 0 0 0 -1 1 0 -1 1 ..., B: [ ( 0 2 0 -1), ( 0 0 1 -1) ] ) In file "/home/was/magma/Hecke/hecke.m", line 1399, column 35: >> &cat[Coordinates(S, S.i*A) : i in [1..#B]]; ^ Runtime error in '*': Arguments 1 and 2 have incompatible degrees > T5p:=Restrict(Restrict(T5,H1),H1p); > T5p; [ 5 -15] [ 1 -5] > T5m:=Restrict(Restrict(T5,H1),H1m); > T5m; [-4 6] [-1 4] > Determinant(T5p); -10 > Determinant(T5m); -10 > T5p^2; [10 0] [ 0 10] > K := PolynomialRing(Integers(),2); > v:=RMatrixSpace(K,1,2)![a,b]; > v; [a b] > v*(MatrixAlgebra(K,2,2)!T5p); >> v*(MatrixAlgebra(K,2,2)!T5p); ^ Runtime error in 'MatrixAlgebra': Bad argument types Argument types given: RngMPol, RngIntElt, RngIntElt > v*(MatrixAlgebra(K,2)!T5p); [ 5*a + b -15*a - 5*b] > IntegerKernel(MatrixAlgebra(K,2)![0,1,0,1]); IntegerKernel( A: [0 1] [0 1] ) In file "/home/was/magma/Hecke/hecke.m", line 2500, column 25: >> d := LCM([Denominator(a) : a in Eltseq(A)]); ^ Runtime error in 'Denominator': Bad argument types Argument types given: RngMPolElt > IntegerKernel(MatrixAlgebra(Integers(),2)![0,1,0,1]); RSpace of degree 2, dimension 1 over Integer Ring Echelonized basis: ( 1 -1) > A:=MatrixAlgebra(K,2)!0; > w:=v*(MatrixAlgebra(K,2)!T5p); > w; [ 5*a + b -15*a - 5*b] > for i in [1..2] do A[1,i] := w[i]; end for; >> for i in [1..2] do A[1,i] := w[i]; end for; ^ Runtime error in :=: RHS cannot be coerced into the coefficient ring > for i in [1..2] do A[1,i] := w[1,i]; end for; > A; [ 5*a + b -15*a - 5*b] [ 0 0] > A[2,1] := a; > A[2,2] := b; > A; [ 5*a + b -15*a - 5*b] [ a b] > Determinant(A); 15*a^2 + 10*a*b + b^2 > // set a=0, b=1, to get a Z-unit., so ideal class is trivial. > // homology is free of rank 1 generated by [0,1]. > H1:=IntegerKernel(T5^2-10); > Dimension(H1); 4 > S:=Restrict(StarInvolution(M),SkZ(M)); > Restrict(S,H1); [-1 -2 0 1] [ 0 -1 1 -1] [ 0 -4 3 -2] [ 0 -4 2 -1] > IntegerKernel(Restrict(S,H1)-1); Vector space of degree 4, dimension 2 over Rational Field User basis: ( 0 2 0 -1) ( 0 0 1 -1) > H1p; Vector space of degree 4, dimension 2 over Rational Field User basis: ( 0 2 0 -1) ( 0 0 1 -1) > T1p; >> T1p; ^ User error: Identifier 'T1p' has not been declared or assigned > T5p; [ 5 -15] [ 1 -5] > w:=v*(MatrixAlgebra(K,2)!T5m); > w; [ -4*a - b 6*a + 4*b] > for i in [1..2] do A[1,i] := w[1,i]; end for; > A; [ -4*a - b 6*a + 4*b] [ a b] > Determinant(A); -6*a^2 - 8*a*b - b^2 > > IsPrincipal; Intrinsic 'IsPrincipal' Signatures: ( I) -> BoolElt, FldNumElt True and a generator if the fractional ideal I is principal, false otherwise ( R) -> BoolElt True iff ring R is principal ( d) -> BoolElt True iff d is a principal divisor in which case also return a rational function defining d > O; Intrinsic 'O' Signatures: ( x) -> RngPadElt ( x) -> FldPadElt ( x) -> RngSerElt > K:=NumberField(x^2-10); > O:=MaximalOrder(K); > I:=ideal; >> I:=ideal; ^ User error: bad syntax > ideal; >> ideal; ^ User error: Identifier 'ideal' has not been declared or assigned > sub; >> sub; ^ User error: Identifier 'sub' has not been declared or assigned > ClassNumber(O); 2 > IsPrincipal(x*O); true > IsPrincipal((2*x+3)*O); true > for x in [-20,20] do for y in [-20,20] do if not IsPrincipal((2*x+3)*O) then\ print x,y; end if; end for; end for; > for c in [-10,10] do for d in [-10,10] do for a in [-20,20] do for b in [-20\ ,20] do if not IsPrincipal((a*x+b*y)*O+(c*x+d*y)*O) then print a,b,c,d; end if\ ; end for; end for; end for; end for; >> b in [-20,20] do if not IsPrincipal((a*x+b*y)*O+(c*x+d*y)*O) then print a,b ^ User error: Identifier 'y' has not been declared or assigned > for c in [-10,10] do for d in [-10,10] do for a in [-20,20] do for b in [-20\ ,20] do if not IsPrincipal((a*x+b)*O+(c*x+d)*O) then print a,b,c,d; end if; en\ d for; end for; end for; end for; > x*O; Ideal of O Basis: [10 0] [ 0 1] > IsPrincipal(4*x*O+(3*x-2)*O; >> IsPrincipal(4*x*O+(3*x-2)*O; ^ User error: bad syntax > IsPrincipal(4*x*O+(3*x-2)*O); false > IsPrincipal(x*O+(3*x-2)*O); false > IsPrincipal(x*O+(3*x)*O); true > IsPrincipal(x*O+(3*x-1)*O); true > IsPrincipal(x*O+(2*x-1)*O); true > IsPrincipal(x*O+(2*x-2)*O); false > IsPrincipal(x*O+(x-2)*O); false > IsPrincipal(x*O+(-2)*O); false > IsPrincipal(x*O+(-2)*O); false > IsPrincipal(x*O+2*O); false > for a in [-20..20] do for b in [-20..20] do if 2*b^2-5*a^2 eq 1 then print a\ ,b; end if; end for; end for; > for a in [-20..20] do for b in [-20..20] do if 2*b^2-5*a^2 eq -1 then print \ a,b; end if; end for; end for; Total time: 45.240 seconds