Sharedwww / Tables / hecke-magma-tutorial.dviOpen in CoCalc
����;� TeX output 1999.12.14:1129������x�������=����7���'���N��Hcmbx12�Chapter�	T{1��2��'Mo��
dular�	T{sym��8�b�ols��>���'���N�G�cmbx12�1.1��SG�T��aGutorial��b#��'�X�Qcmr12�This��tutorial,��7whic��rh�w�as�written�b�y�Kevin�Buzzard�and�William�Stein,��7in-�����'tro�S�duces��the�reader�to�the�mo�dular�sym��rb�ols�pac��rk��X�age���-�
cmcsc10�Hecke�.�8It�assumes�no����'previous��
kno��rwledge�of��Ma���gma�,��,and�shouldn't�tak�e�more�than�30�min�utes�to����'read.�$It�mudo�S�es,��ho��rw�ev�er,�assume�muthat�y��rou�are�using�a�computer�on�whic�h�b�S�oth����'�Ma���gma�꨹and�the��Hecke��pac��rk��X�age�are�installed.��"�����'���N�ffcmbx12�1.1.1��X�The�ffbasics��@��'�OK,��here�are�the�basics.��-T��Vo�compute�spaces�of�mo�S�dular�forms�(c��rharacter-����'istic�s]0)�w��re're�going�to�use�mo�S�dular�sym�b�S�ols.���T��Vo�w�ork�with�c�haracteristic�0����'forms��on������|{Ycmr8�0����(53)�of�w��reigh�t�����g�cmmi12�k��o�=�UR2,�t��ryp�S�e��e,��8>��(��<x
�3
cmtt10�>���N:=53;��
����8>�>���k:=2;����8>�>���M:=ModularSymbols(N,k);��K���'�The��Ma���gma��ob��ject��'߆�Tcmtt12�M��b�is�no��rw�a�v�ector�space�o�v�er��)��N�cmbx12�Q�.��3In�fact,��M��b�is�a��ModTupFld�,�����'whic��rh��
is��Ma���gma�-sp�S�eak�for�a�v�ector�space�o�v�er�a�eld�(in�the�ocial�release,��M����'�will��probably�b�S�e�of�t��ryp�e��ModSym�);�*<it�has�a�lot�more�structure�than�this�though!����'F��Vor��example,�the�lev��rel��N�+��is�attac�hed�to��M�:����8>��>���M`N;��
����8>�53��K���'�The�ssyn��rtax��M`N�r��is��Ma���gma�'s�w�a�y�of�accessing�an�attribute.��FIf�y�ou�w�an�t�to����'nd�|�the�lev��rel�of��M�,�it�is�b�S�etter�to�use�the��Level��function.�*This�will�w�ork�ev�en������1����*�x�������=�������'�if��the�in��rternal�structure�of��M��is�c�hanged�in�a�later�v�ersion�of��Hecke�.������8>��>���Level(M);��
����8>�53�����'�T��Vo���get�the�exact�list�of�what�the��ModularSymbols��function�can�handle,�just�����'t��ryp�S�e����8>��>���ModularSymbols;����'�and���see�ho��rw�o�v�erloaded�it�is�and�exactly�what�y�ou�can�and�can't�do.�	�F��Vor�����'example,��it�will�tell�y��rou�that�y�ou�can�omit��k�QŹif�it's�2.����8��Note�W�that��M�Wƹis�actually�the�v��rector�space�of�mo�S�dular��,���@cmti12�symb��ffols�,�s0so�it�has�a����'funn��ry��dimension:������e#�dim��z�)�M��6�=�UR2����!",�
cmsy10����(cusp��forms)��E�+�1�����(Eisenstein��series)��_!+�:������8>��>���Dimension(M);��
����8>�9����'�That's�?(2��0���4��&=�8�for�the�cusp�forms�(one�elliptic�curv��re�and�three�conjugate����'things),��and�one�for�the�Eisenstein�series.����8��No��rw��there�is�some�secret�extra�data�that��M��kno�ws�ab�S�out�b�ecause������8>��>���D:=Decomposition(M);����'�decomp�S�oses���the�35new�p��ffart�of��M��in��rto�eigenspaces.�8�I�kno�w�this�b�S�ecause����8>��>���Decomposition;����'�giv��res��me,�amongst�the�output,����O=��(<ModTupFld>���M)�->�SeqEnum��
�����Z��Compute���the�Hecke�decomposition�of�the�*NEW*�subspace�of�M.����'�and����M����is�a��ModTupFld�.��The�output�of��Decomposition��is�a��SeqEnum��of�Hec��rk�e-�����'in��rv��X�arian�t��subspaces�in�the��line��ffar�2^dual��of�the�space�of�mo�S�dular�sym��rb�ols.�8�The����'en��rtries���of��D��ƹare�subspace,��>whic�h�ha�v�e�a�\degree"�(=dim(�M�))���and�a�\dimen-����'sion"�*�(=�dim(subspace)).��kComplex�conjugation�is��not��used�to�decomp�S�ose����'the�B�spaces�an��ry�further;�n�the�subspaces�corresp�S�ond�to�spaces�of�conjugates�of����'eigenforms,���with�1Jthe�dimension�still�2�times�to�S�o�big�if�the�form�is�a�cusp����'form.������8>��>���#D;��
����8>�3�������2������x�������=�������'�So�o/there�are�3�new�things�(the�Eisenstein�series,��Pthe�elliptic�curv��re,�and�the�����'other�9�Galois�conjugate�things).���The�command��Factor��returns�the��i�-th�factor����'of��the�decomp�S�osition,�so��Factor(D,i)��is�the�same�as�D[i].������8>��>���qEigenform(Factor(D,1));��
����8>�q���-�q^2�-�3*q^3�-�q^4�+�3*q^6�-�4*q^7����8>�>���qEigenform(Factor(D,2));����8>�q���+�a*q^2�+�(-a^2�-�a�+�3)*q^3�+�(a^2�-�2)*q^4�+�(a^2�-�3)*q^5����C�S-���q^6�+�(a^2�-�1)*q^7����8>�>���qEigenform(Factor(D,3));����8>�I���haven't�yet�programmed�q-expansions�of�Eisenstein�series.�����'�The�žcommand��qEigenform��prin��rts�out�the��q�n9�-expansion�����2�1�����,���and�tak�es�an�optional�����'second��en��rtry:�8�a�lo�w�er�b�S�ound�on�the�precision.����8>��>���qEigenform(Factor(D,1),20);����8>�q���-�q^2�-�3*q^3�-�q^4�+�3*q^6�-�4*q^7�+�3*q^8�+�6*q^9�+�3*q^12����C�S-���3*q^13�+�4*q^14�-�q^16�-�3*q^17�-�6*q^18�-�5*q^19�+�12*q^21����C�S+���7*q^23�����'�Note��also:����8>��>���qEigenform(Factor(D,2));����8>�q���+�a*q^2�+�(-a^2�-�a�+�3)*q^3�+�(a^2�-�2)*q^4�+�(a^2�-�3)*q^5����C�S-���q^6�+�(a^2�-�1)*q^7����8>�>���f:=qEigenform(Factor(D,2));����8>�>���Category(f);����8>�RngSerPowElt�����'�That's��all�w��rell�and�go�S�o�d,��but�what�is��a�???����8>��>���Parent(Coefficient(f,1));����8>�Univariate���Quotient�Polynomial�Algebra�in�a�over�Rational����8>�Field���with�modulus�a^3�+�a^2�-�3*a�-�1�����'�Note��that����8>��>���Coefficient(f,1);����8>�1��'����ff��d������
����^��ٓ�Rcmr7�1�����K�`y

cmr10�William�/hasn't�decide�ho���w�to�represen�t�the�transcenden�tal�constan�t�term�in��9�-�

cmcsc10�Ma��gma�.���Ma���yb�Ge�W�he�should�just�call�it�an�indeterminate��
�b>

cmmi10�b�;��Ythen�the��q�[ٲ-expansion�migh�t�lo�Gok�something���lik���e:����L&�b�8�+��q����+��a��
!",�

cmsy10���q��[ٟ����2��,�+�(��a������2���S���a��+�3)����q��[ٟ����3���+�(�a������2���S���2)����q��[ٟ����4���+�(�a������2���S���3)����q��[ٟ����5�����q��[ٟ����6���+�(�a������2���S���1)����q��[ٟ����7�����and��this�w���ould�lie�in�a�quotien�t�of��K���(�a;���b�).��qThere�could�b�Ge�another�function�that�com-���putes�UU�b�,�if�necessary��*�.�q�What�do�y���ou�think,�Kevin?�������3����i�x�������=�������'�but��it's�a�certain��kind��of�1�:-)������8>��>���b:=Coefficient(f,1);��
����8>�>���b;����8>�1����8>�>���Parent(b);����8>�Univariate���Quotient�Polynomial�Algebra�in�a�over�Rational����8>�Field���with�modulus�a^3�+�a^2�-�3*a�-�1�����'�In��fact,�y��rou�can�go�crazy�here:����8>��>���K<a>�:=�Parent(b);����8>�>���K;����8>�Univariate���Quotient�Polynomial�Algebra�in�a�over�Rational����8>�Field���with�modulus�a^3�+�a^2�-�3*a�-�1����8>�>���Modulus(K);����8>�x^3���+�x^2�-�3*x�-�1����8>�>���MinimalPolynomial(a);����8>�x^3���+�x^2�-�3*x�-�1��"ʫ���'�1.1.2��X�Mo�s3dular�ffforms�with�c���haracter��@��'�Next,�U�let's�@8try�forms�with�a�c��rharacter.�9�Note�that�the�full������1����(�N�@�)�isn't�done;�����'the�f�only�forms�done�are������1����(�N�@�)�with�c��rharacter.��But�this�is�OK;�it�is�easy��V,��<but����'a��rv�oid��the�garbage!����8>��>���DirichletCharacter(5,[2]);��
����8>�[garbage]�����'�Ugh.�8�But��this�is,�according�to�the�output�of����8>��>���DirichletCharacter;����'�the�M�c��rharacter�of�lev�el�5�and�order�2,�l�taking�v��X�alues�in��Q�.�If�I'd�gone�for�(5�;����[4])�����'the��;c��rharacter�w�ould�automatically�tak�e�v��X�alues�in�the�4th�cyclotomic�eld�:-)����'The��p�S�oin��rt:�8�the�lev�el�and�the�base�eld�are�no�w�w�ell-dened!!!����8>��>���eps:=DirichletCharacter(5,[4]);��
����8>�>���Category(eps);����8>�Rec�����'�So�#Zthere's�our�c��rharacter.���Curren�tly�#Zit�is�stored�as�a��Rec�-t��ryp�S�e�ob��ject,�1�but�in�����'the�-ocial�release�it�will�ha��rv�e�-its�o��rwn�t�yp�S�e.��nNo�w�w�e�ha�v�e��no�`�ne��ffe�d�-�to�dene����'the��lev��rel,�or�the�base�eld.������4����àx�������=�������8>��>���M:=ModularSymbols(eps,5);��
����8>�>���M;����8>�Full���Vector�space�of�degree�4�over�Cyclotomic�Field�of�order�4����8>�and���degree�2����8>�User���basis:����8>�(1���0�0�0)����8>�(0���1�0�0)����8>�(0���0�1�0)����8>�(0���0�0�1)�����'�Note��pthat�I��C�only��had�to�giv��re�the��char��ffacter���and�weight�!�B7And��pmoreo�v�er,���the�����'answ��rer��is�a�v�ector�space�o�v�er�a�eld��bigger�35than��Q�.������8>��>���M:=ModularSymbols(eps,11);����8>�>���D:=Decomposition(M);����8>�>���qEigenform(Factor(D,1));����8>�q���+�a*q^2�+�(-1/112*a^3�+�(-5/112*zeta�-�5/112)*a^2����T�Q+���295/14*zeta*a�T+�(190/7*zeta�-�190/7))*q^3����I}�+���(a^2�-�1024*zeta)*q^4����I}�+���((1/16*zeta�-�3/56)*a^3�+�(117/112*zeta�+�159/112)*a^2����Z��+���(1018/7*zeta�+�281/2)*a�-�12027/7*zeta�+�7176/7)*q^5����I}�+���((-5/28*zeta�-�5/28)*a^3�-�67/14*zeta*a^2����Z��+���(2635/7*zeta�-�2635/7)*a�-�29944/7)*q^6����I}�+���(27/112*zeta*a^3�+�(695/112*zeta�-�695/112)*a^2����Z��+���10401/14*a�+�(43910/7*zeta�+�43910/7))*q^7����'�Eew.�8�Whatev��rer��are�these��a�'s�and�����'s?������8>��>���f:=qEigenform(Factor(D,1));����8>�>���Category(f);����8>�RngSerPowElt����8>�>���Parent(Coefficient(f,1));����8>�Univariate���Quotient�Polynomial�Algebra�in�a�over�Cyclotomic�Field����8>�of���order�4�and�degree�2�with�modulus�a^4�+�(-15*zeta�-�15)*a^3����C�S-���2896*zeta*a^2�+�(39120*zeta�-�39120)*a�-�479104����'�Th��rus��S���T�is�a�a�primitiv�e�4th�ro�S�ot�of�unit�y;�pthis�is�ho�w��Ma���gma��stores�cyclotomic�����'elds.��"ʫ���'�1.1.3��X�W���forking�ffmo�s3dulo��:��g�ffcmmi12�p��@��'�T��Vo�_]w��rork�mo�S�d��p�,�{8the�tric�k�is�to�use�a�c�haracter.�
rSo,�{8for�example,�to�w��rork�with����'the��space�of�forms�of�lev��rel�37�and�w�eigh�t�2,�(for������0����)�mo�S�d�3,�try�this:������5������x�������=�������8>��>���eps:=DirichletCharacter(37,[1],3);�����'�(or)������8>��>���eps2:=DirichletCharacter(37,3);����'�(and��then)����8>��>���M:=ModularSymbols(eps,2);����'�(or)����8>��>���M2:=ModularSymbols(eps2,2);����'�There��ais�no�dierence�b�S�et��rw�een��athe�t��rw�o,��<except��athat��eps2��is�stored�in��rternally�����'in��a�sligh��rtly�more�ecien�t�format.����8>��>���M;��
����8>�Full���Vector�space�of�degree�6�over�GF(3)����8>�User���basis:����8>�(1���0�0�0�0�0)����8>�(0���1�0�0�0�0)����8>�(0���0�1�0�0�0)����8>�(0���0�0�1�0�0)����8>�(0���0�0�0�1�0)����8>�(0���0�0�0�0�1)�����'�No��rw�3&�M�2��is�o�v�er�a�nite�eld!���If�y�ou�only�w�an�t�to�w�ork�with������0����,�W�y�ou�can�instead�����'use��the�command��ModularSymbols(N,k,p)�.��"ʫ���'�1.1.4��X�Hec���k�e�ffop�s3erators��@��'�These�u:act�on�the�space�of�mo�S�dular�sym��rb�ols,���and�spit�out�matrices.�ؗSo,�for����'example,��let's�compute�one�o��rv�er��a�eld�of�size��p����2�2����.����8>��>���eps:=DirichletCharacter(5,[4],3);��
����8>�>���ModularSymbols(eps,7);����8>�Full���Vector�space�of�degree�6�over�GF(3^2)����8>�User���basis:����8>�(���1��R0�0�0�0�0)����8>�(���0��R1�0�0�0�0)����8>�(���0��R0�1�0�0�0)����8>�(���0��R0�0�1�0�0)����8>�(���0��R0�0�0�1�0)����8>�(���0��R0�0�0�0�1)�������6����'B�x�������=�������'�The�Diric��rhlet�c�haracter�is�lev�el�5,�Jzorder�4,�dened�mo�S�d�3.��?So�the�ground�����'eld��is�forced�to�b�S�e��F�����9����.�@@Note�that��eps��is�o�dd.�@@Note�also�that,��in�this�case,�I����'probably��don't�mind�\whic��rh"��eps��has�b�S�een�c�hosen.�8�If�I'd�gone�for������8>��>���eps:=DirichletCharacter(5,[4],5);�����'�then��I�Jgen��ruinely�don't�kno�w�whic�h�one�of�the�c�haracters�it�w�ould�c�ho�S�ose|the����'T��Veic��rhm�uller��\one�or�its�in��rv�erse.�8�Another��\v��X�arian�t�of�the��DirichletCharacter����'�command��giv��res�precise�con�trol�o�v�er�the�c�haracter.����8��An��ryw�a�y��V,���let's�՝get�bac��rk�to�Hec�k�e�op�S�erators.�1�No�doubt�this�is�all�the�same����'in��c��rharacteristic�0�and�c�haracteristic��p�.����8>��>���eps:=DirichletCharacter(5,[4],3);��
����8>�>���M:=ModularSymbols(eps,7);����8>�>���Dimension(M);����8>�6����8>�>���T7:=Tn(M,7);����8>�>���T7;����8>�[a^7�>�0�0���a^7�a�a^2]����8>�[�T0���a^7�>�0�a^5�a�0]����8>�[�T0�>�0���a^7�0�0�0]����8>�[�T0�>�0�0���a^7�0�0]����8>�[�T0�>�0�0�0���a^7�0]����8>�[�T0�>�0�0�0�0���a^7]����8>�>���factor(CharacteristicPolynomial(T7));����8>�[����O=�<x���+�a^3,�6>����8>�]�����'�What��is��a�?�8�It�is�a�generator�for�the�unit�group�of��F�����9����:����8>��>���F<a>�:=�Parent(T7[1,1]);����8>�>���R<X>:=PolynomialRing(GF(3));����8>�>���MinimalPolynomial(a);����8>�X^2���+�2*X�+�2����8>�>���Order(a);����8>�8�����8��Let's��c��rhec�k�that�there's�an�elliptic�curv�e�of�conductor�37�whic�h�is�sup�S�er-�����'singular��at�2.����8>��>���M:=ModularSymbols(37,2);����8>�>���T2:=Tn(M,2);����8>�>���T2;�������7����,Ƞx�������=�������8>��[-1�T1�1���-1�0]��
����8>�[���1�-1�T1�0�0]����8>�[���0�T0�-2�1�0]����8>�[���0�T0�0�0�0]����8>�[���0�T0�0�1�3]����8>�>���Dimension(Kernel(T2));����8>�2��=X��'�Y��Vup,�)Ethere���it�is.��LTwice!�This���is�b�S�ecause�w��re're�w�orking�with�mo�S�dular�sym�b�S�ols.��"#����'�1.1.5��X�The�ffplus�one�quotien���t��@��'�I��guess�at�some�p�S�oin��rt�I�should�men�tion�ho�w�to�cut�this�2�do�wn�to�1:��V�8>��>���ModularSymbols(37,2,+1);����8>�Full���Vector�space�of�degree�3�over�Rational�Field����8>�User���basis:����8>�(1���0�0)����8>�(0���1�0)����8>�(0���0�1)����8>�>���ModularSymbols(37,2,-1);����8>�Full���Vector�space�of�degree�2�over�Rational�Field����8>�User���basis:����8>�(1���0)����8>�(0���1)����8>�>���ModularSymbols(37,2);����8>�Full���Vector�space�of�degree�5�over�Rational�Field����8>�User���basis:����8>�(1���0�0�0�0)����8>�(0���1�0�0�0)����8>�(0���0�1�0�0)����8>�(0���0�0�1�0)����8>�(0���0�0�0�1)����'�Chec��rk�
it�out!��AThe�plus�part�gets�1�dimension�of�the�cusp�forms,�Q�and�the�����'Eisenstein��aseries;��#the���1�part�gets�1�dimension�of�the�cusp�forms�and�neces-����'sarily��no�Eisenstein�series!��"#����'�1.1.6��X��?߆�Tffcmtt12�Print�ff�and��FullDecomposition��@��'�W��Ve�Oznext�learn�the��Print��command�and�discuss�the�merits�of��Decomposition����'�v��rersus���FullDecomposition�.�
%�First,��I'll�do��Print��(whic�h�will�probably�b�S�e������8����	3��x�������=�������'�unnecessary��in�the�ocial�v��rersion�of�this�pac�k��X�age).������8>��>���M:=ModularSymbols(7,4);��
����8>�>���D:=Decomposition(M);����8>�>���D;����8>�[����O=�Vector���space�of�degree�4,�dimension�2�over�Rational�Field����O=�User���basis:����O=�(�>�1���0�T3/5�7)����O=�(�>�0���1���-4/5�0)����8>�]����8>�>���Print(D);����8>�Modular���symbols�factors:����C�S7k4A:�Tdim���=�2���cuspidal�����'�As���y��rou�can�see,���the��Print��command�ro�S�c�ks�:-)�The�answ�er�also�giv�es�this�co�S�ded�����'message����7k4A�.�Actually��V,��there�is�a�v��rery�strange�command��ModularFactor�,����'whic��rh��seems�to�do�ev�erything�for�y�ou�at�once:�7(�7k4A���is�of�course�the�unique����'cusp���form�dened�o��rv�er����Q��of�lev��rel�7�and�w�eigh�t�4;��the�Eisenstein�series�for����'�����0����(7)��and�w��reigh�t��4�are�(b�S�oth)�old).����8>��>���f:=ModularFactor("7k4A");��
����8>�>���qEigenform(f);����8>�q���-�q^2�-�2*q^3�-�7*q^4�+�16*q^5�+�2*q^6�-�7*q^7�����'�Neat,�l�h��ruh?�yThe�Mr�k�,�whic�h�Mrstands�for�\w�eigh�t��k�g�",�l�is�just�a�separator�b�S�et�w�een�7�����'and��4.�8�Also,�y��rou�can�use��Print��with�e.g.�forms�with�a�c��rharacter:����8>��>���M:=ModularSymbols(DirichletCharacter(7,[3]),4);����8>�>���D:=Decomposition(M);����8>�>���Print(D);����8>�Modular���symbols�factors:����8>�(nontrivial���character)����C�S7k4epsA:�Tdim���=�2���cuspidal����C�S7k4epsB:�Tdim���=�1�eisenstein����C�S7k4epsC:�Tdim���=�1�eisenstein�����'�The��c��rharacter�isn't�iden�tied�b�y�the�notation��7k4epsA�,�though.�����8��No��rw���FullDecomposition�:����8>��>���M:=ModularSymbols(7,4);����8>�>���D:=FullDecomposition(M);����8>�>���Print(D);����8>�Modular���symbols�factors:�������9����
9��x�������=�������C�S�7k4A:�Tdim���=�2���cuspidal��
����C�S7k4B:�Tdim���=�2�eisenstein�(old:�>�1A)�����'�As�z�y��rou�can�see,��x�FullDecomposition��includes�forms�that�are�old�as�w�ell�as�����'new��Kforms.��If�p�S�ossible,���use��Decomposition��instead�of��FullDecomposition����'�b�S�ecause��it�is�faster�and�uses�less�memory��V.��"ʫ���'�1.1.7��X�Dimensions�ffof�spaces�of�mo�s3dular�forms��@��'�There��qare�functions�for�computing�dimensions�of�spaces�of�mo�S�dular�forms,����'without�Πcomputing�the�spaces�themselv��res�using�mo�S�dular�sym�b�S�ols.���F��Vor�ex-����'ample,������8>��>���DimensionSk(7,4);��R//�trivial�character����8>�1����8>�>���DimensionSkG1(37,4);����8>�153����8>�>���DimensionSk(DirichletCharacter(7,[3]),4);����8>�1��"ʫ���'�1.1.8��X�Elliptic�ffcurv���es��@��'�Elliptic��curv��res�are�a�bit�sp�S�ecial:����8>��>���f:=ModularFactor("14A");����8>�>���E:=EllipticCurve(f);����8>�>���E;����8>�Elliptic���Curve�defined�by�y^2�=�x^3�+�5805*x�-�285714�over����8>�Rational���Field�����'�Neat,��h��ruh?�\The���mo�S�del�w�as�computed�b�y�in�tegrating�to�obtain�the�p�S�erio�d�����'lattice�8in��C�.���The�mo�S�del�for��E�,�is�not�the�minimal�mo�del,�!but�that�is�easy�to����'get:������8>��>���C:=MinimalModel(E);����8>�>���C;����8>�Elliptic���Curve�defined�by�y^2�+�x*y�+�y�=�x^3�+�4*x�-�6�over����8>�Rational���Field������ �10����@����;�x��
�?߆�Tffcmtt12�:��g�ffcmmi12�9�-�

cmcsc10�,���@cmti12�)��N�cmbx12�(��<x
�3
cmtt10�'߆�Tcmtt12�!",�
cmsy10���g�cmmi12�|{Ycmr8���N�ffcmbx12��-�
cmcsc10���N�G�cmbx12���N��Hcmbx12�X�Qcmr12�
!",�

cmsy10�
�b>

cmmi10�K�`y

cmr10�ٓ�Rcmr7�F��������