How to calculate


The coefficients of Elliptic modular function.
The following program calculates j(tau) from z=-1 to 900.

   10   ' j(tau) : j_tau.ub
   20   ' print=print+"\tmp\j_tau.txt"
   30   word -36:point 2
   40   L%=902:dim A(L%),B(L%),C(L%),P(L%),Q(24)
   50   ' E4(q)
   60   A(0)=1
   70   for I%=1 to L%:S=0
   80     for J%=1 to I%:if I%@J%>0 then 100
   90       S=S+J%^3
  100     next J%:S=S*240:A(I%)=S
  110   next I%
  120   ' E4(q)^3
  130   for I%=0 to L%:C(I%)=0:next I%
  140   '
  150   for I%=0 to L%
  160     for J%=0 to L%-I%
  170       for K%=0 to L%-J%-I%
  180         C(I%+J%+K%)=C(I%+J%+K%)+A(I%)*A(J%)*A(K%)
  190       next K%
  200     next J%
  210   next I%
  220   '
  230   for I%=0 to L%:A(I%)=C(I%):next I%
  240   '
  250   ' delta(q)
  260   for I%=0 to 24:Q(I%)=!(24)\!(I%)\!(24-I%)*(-1)^I%:next I%
  270   '
  280   for I%=0 to L%:B(I%)=0:next I%
  290   C(0)=0:C(1)=1:for I%=2 to L%:C(I%)=0:next I%
  300   '
  310   for K%=1 to L%
  320     for I%=0 to L%:P(I%)=0:next I%
  330     for I%=0 to 24:if I%*K%>L% then cancel for:goto 370
  340       P(I%*K%)=Q(I%)
  350     next I%
  360     '
  370     for I%=0 to L%:if C(I%)=0 then 410
  380       for J%=0 to L%-I%:if P(J%)=0 then 400
  390         B(I%+J%)=B(I%+J%)+C(I%)*P(J%)
  400       next J%
  410     next I%
  420     '
  430     if K%=L% then cancel for:goto 470
  440     for I%=0 to L%:C(I%)=B(I%):B(I%)=0:next I%
  450   next K%
  460   '
  470   for I%=0 to L%:C(I%)=0:next I%
  480   '
  490   Cm%=1:print -1;Cm%
  500   C(0)=A(1)-Cm%*B(2):print 0;C(0)
  510   for I%=1 to L%-2
  520     C(I%)=A(I%+1)-Cm%*B(I%+2)
  530     for J%=0 to I%-1
  540       C(I%)=C(I%)-C(J%)*B(I%+1-J%)
  550     next J%
  560     print I%;":";C(I%);"(";alen(C(I%));")"
  570   next I%

index


E-mail : kc2h-msm@asahi-net.or.jp
Hisanori Mishima