$SPAD/src/input elfuts.input

Timothy Daly December 3, 2016

Abstract

Contents

2

1 License

— license —

--Copyright The Numerical Algorithms Group Limited 1991.

———-

— * —

)set break resume
)spool elfuts.output
)set message test on
)set message auto off
)clear all
)set streams calculate 10

———-

Demo of Jacobian elliptic functions expanded as power series — * —

)expose ELFUTS
--S 1 of 40
macro RN == FRAC INT
--R
--R                                                                   Type: Void
--E 1
--S 2 of 40
macro QF == FRAC
--R
--R                                                                   Type: Void
--E 2
--S 3 of 40
xx:UTS(RN,'x,0):=x
--R
--R
--R   (3)  x
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),x,0)
--E 3
--S 4 of 40
sn(xx,1::RN)
--R
--R
--R            1  3    2  5    17  7    62   9      11

--R   (4)  x - - x  + -- x  - --- x  + ---- x  + O(x  )
--R            3      15      315      2835
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),x,0)
--E 4
--S 5 of 40
cn(xx,1::RN)
--R
--R
--R            1  2    5  4    61  6    277  8    50521   10      11
--R   (5)  1 - - x  + -- x  - --- x  + ---- x  - ------- x   + O(x  )
--R            2      24      720      8064      3628800
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),x,0)
--E 5
--S 6 of 40
dn(xx,1::RN)
--R
--R
--R            1  2    5  4    61  6    277  8    50521   10      11
--R   (6)  1 - - x  + -- x  - --- x  + ---- x  - ------- x   + O(x  )
--R            2      24      720      8064      3628800
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),x,0)
--E 6
--S 7 of 40
yy:UTS(FRAC UP(k,RN),'y,0):=y
--R
--R
--R   (7)  y
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 7
--S 8 of 40
snn:=sn(yy,k::QF UP(k,RN))
--R
--R
--R   (8)
--R            1  2   1  3     1   4    7  2    1   5
--R     y + (- - k  - -)y  + (--- k  + -- k  + ---)y
--R            6      6       120      60      120
--R   +
--R          1   6    3   4    3   2     1   7
--R     (- ---- k  - --- k  - --- k  - ----)y
--R        5040      112      112      5040
--R   +
--R         1    8    307   6    913   4    307   2      1    9      11
--R     (------ k  + ----- k  + ----- k  + ----- k  + ------)y  + O(y  )
--R      362880      90720      60480      90720      362880
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)

--E 8
--S 9 of 40
cnn:=cn(yy,k::QF UP(k,RN))
--R
--R
--R   (9)
--R         1  2    1  2    1  4       1  4    11  2    1   6
--R     1 - - y  + (- k  + --)y  + (- -- k  - --- k  - ---)y
--R         2       6      24         45      180      720
--R   +
--R       1   6    19  4    17   2     1    8
--R     (--- k  + --- k  + ---- k  + -----)y
--R      630      840      1680      40320
--R   +
--R          1    8    247   6    641   4     461   2      1     10      11
--R     (- ----- k  - ----- k  - ----- k  - ------ k  - -------)y   + O(y  )
--R        14175      56700      75600      453600      3628800
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 9
--S 10 of 40
dnn:=dn(yy,k::QF UP(k,RN))
--R
--R
--R   (10)
--R         1  2 2     1  4   1  2  4       1   6    11  4    1  2  6
--R     1 - - k y  + (-- k  + - k )y  + (- --- k  - --- k  - -- k )y
--R         2         24      6            720      180      45
--R   +
--R        1    8    17   6    19  4    1   2  8
--R     (----- k  + ---- k  + --- k  + --- k )y
--R      40320      1680      840      630
--R   +
--R           1     10     461   8    641   6    247   4     1    2  10      11
--R     (- ------- k   - ------ k  - ----- k  - ----- k  - ----- k )y   + O(y  )
--R        3628800       453600      75600      56700      14175
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 10
--S 11 of 40
snn**2+cnn**2
--R
--R
--R                11
--R   (11)  1 + O(y  )
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 11
--S 12 of 40

ksquared:=(k::UP(k,RN))**2
--R
--R
--R          2
--R   (12)  k
--R                              Type: UnivariatePolynomial(k,Fraction(Integer))
--E 12
--S 13 of 40
dnn**2+ksquared*snn**2
--R
--R
--R                11
--R   (13)  1 + O(y  )
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 13
--S 14 of 40
(differentiate snn)**2
--R
--R
--R   (14)
--R             2      2    1  4   5  2   1  4       2  6    4    2    2  6
--R     1 + (- k  - 1)y  + (- k  + - k  + -)y  + (- -- k  - k  - k  - --)y
--R                         3      3      3         45                45
--R   +
--R       1   8    94  6   104  4    94  2    1   8
--R     (--- k  + --- k  + --- k  + --- k  + ---)y
--R      315      315      105      315      315
--R   +
--R        2    10    109  8    6977  6    6977  4    109  2     2    10      11
--R   (- ----- k   - ---- k  - ----- k  - ----- k  - ---- k  - -----)y   + O(y  )
--R      14175       2025      14175      14175      2025      14175
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 14
--S 15 of 40
(1-snn**2)*(1-ksquared*snn**2)
--R
--R
--R   (15)
--R             2      2    1  4   5  2   1  4       2  6    4    2    2  6
--R     1 + (- k  - 1)y  + (- k  + - k  + -)y  + (- -- k  - k  - k  - --)y
--R                         3      3      3         45                45
--R   +
--R       1   8    94  6   104  4    94  2    1   8
--R     (--- k  + --- k  + --- k  + --- k  + ---)y
--R      315      315      105      315      315
--R   +
--R        2    10    109  8    6977  6    6977  4    109  2     2    10      11

--R   (- ----- k   - ---- k  - ----- k  - ----- k  - ---- k  - -----)y   + O(y  )
--R      14175       2025      14175      14175      2025      14175
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 15
--S 16 of 40
(differentiate cnn)**2
--R
--R
--R   (16)
--R      2      4  2   1  4    32  4   43  2    2  6
--R     y  + (- - k  - -)y  + (-- k  + -- k  + --)y
--R             3      3       45      45      45
--R   +
--R         64  6    94  4    31  2    1   8
--R     (- --- k  - --- k  - --- k  - ---)y
--R        315      105      105      315
--R   +
--R       512   8    6101  6   2242  4    761   2     2    10      11
--R     (----- k  + ----- k  + ---- k  + ----- k  + -----)y   + O(y  )
--R      14175      14175      4725      14175      14175
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 16
--S 17 of 40
(1-cnn**2)*(1-ksquared+ksquared*cnn**2)
--R
--R
--R   (17)
--R      2      4  2   1  4    32  4   43  2    2  6
--R     y  + (- - k  - -)y  + (-- k  + -- k  + --)y
--R             3      3       45      45      45
--R   +
--R         64  6    94  4    31  2    1   8
--R     (- --- k  - --- k  - --- k  - ---)y
--R        315      105      105      315
--R   +
--R       512   8    6101  6   2242  4    761   2     2    10      11
--R     (----- k  + ----- k  + ---- k  + ----- k  + -----)y   + O(y  )
--R      14175      14175      4725      14175      14175
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 17
--S 18 of 40
(differentiate dnn)**2
--R
--R
--R   (18)
--R      4 2      1  6   4  4  4     2  8   43  6   32  4  6
--R     k y  + (- - k  - - k )y  + (-- k  + -- k  + -- k )y

--R               3      3          45      45      45
--R   +
--R         1   10    31  8    94  6    64  4  8
--R     (- --- k   - --- k  - --- k  - --- k )y
--R        315       105      105      315
--R   +
--R        2    12    761   10   2242  8    6101  6    512   4  10      11
--R     (----- k   + ----- k   + ---- k  + ----- k  + ----- k )y   + O(y  )
--R      14175       14175       4725      14175      14175
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 18
--S 19 of 40
(1-dnn**2)*(dnn**2-1+ksquared)
--R
--R
--R   (19)
--R      4 2      1  6   4  4  4     2  8   43  6   32  4  6
--R     k y  + (- - k  - - k )y  + (-- k  + -- k  + -- k )y
--R               3      3          45      45      45
--R   +
--R         1   10    31  8    94  6    64  4  8
--R     (- --- k   - --- k  - --- k  - --- k )y
--R        315       105      105      315
--R   +
--R        2    12    761   10   2242  8    6101  6    512   4  10      11
--R     (----- k   + ----- k   + ---- k  + ----- k  + ----- k )y   + O(y  )
--R      14175       14175       4725      14175      14175
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 19
--S 20 of 40
kkk:=integrate(1/((1-yy**2)*(1-ksquared*yy**2))**(1/2))
--R
--R
--R   (20)
--R          1  2   1  3     3  4    1  2    3  5
--R     y + (- k  + -)y  + (-- k  + -- k  + --)y
--R          6      6       40      20      40
--R   +
--R       5   6    3   4    3   2    5   7
--R     (--- k  + --- k  + --- k  + ---)y
--R      112      112      112      112
--R   +
--R       35   8    5   6    1  4    5   2    35   9      11
--R     (---- k  + --- k  + -- k  + --- k  + ----)y  + O(y  )
--R      1152      288      64      288      1152
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 20

--S 21 of 40
revert kkk
--R
--R
--R   (21)
--R            1  2   1  3     1   4    7  2    1   5
--R     y + (- - k  - -)y  + (--- k  + -- k  + ---)y
--R            6      6       120      60      120
--R   +
--R          1   6    3   4    3   2     1   7
--R     (- ---- k  - --- k  - --- k  - ----)y
--R        5040      112      112      5040
--R   +
--R         1    8    307   6    913   4    307   2      1    9      11
--R     (------ k  + ----- k  + ----- k  + ----- k  + ------)y  + O(y  )
--R      362880      90720      60480      90720      362880
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 21
--S 22 of 40
snn
--R
--R
--R   (22)
--R            1  2   1  3     1   4    7  2    1   5
--R     y + (- - k  - -)y  + (--- k  + -- k  + ---)y
--R            6      6       120      60      120
--R   +
--R          1   6    3   4    3   2     1   7
--R     (- ---- k  - --- k  - --- k  - ----)y
--R        5040      112      112      5040
--R   +
--R         1    8    307   6    913   4    307   2      1    9
--R     (------ k  + ----- k  + ----- k  + ----- k  + ------)y
--R      362880      90720      60480      90720      362880
--R   +
--R               1     10     11069   8     82913   6     82913   4     11069   2
--R         - -------- k   - -------- k  - -------- k  - -------- k  - -------- k
--R           39916800       39916800      19958400      19958400      39916800
--R       +
--R               1
--R         - --------
--R           39916800
--R    *
--R        11
--R       y
--R   +
--R        12
--R     O(y  )
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)

--E 22

———-

Theta-functions expanded as power series — * —

q0=*/[1-q**2*n for n in 1..]
q1=*/[1+q**2*n for n in 1..]
q2=*/[1+q**(2*n-1) for n in 1..]
q3=*/[1-q**(2*n-1) for n in 1..]
\begin{chunk}{*}
--S 23 of 40
eprod x==exp evenlambert log x
--R
--R                                                                   Type: Void
--E 23
--S 24 of 40
qq:UTS(RN,'q,0):=q
--R
--R
--R   (24)  q
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 24
--S 25 of 40
q0:=eprod(1-qq)
--R
--R   Compiling function eprod with type UnivariateTaylorSeries(Fraction(
--R      Integer),q,0) -> UnivariateTaylorSeries(Fraction(Integer),q,0)
--R
--R              2    4    10      11
--R   (25)  1 - q  - q  + q   + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 25
--S 26 of 40
q1:=eprod(1+qq)
--R
--R
--R              2    4     6     8     10      11
--R   (26)  1 + q  + q  + 2q  + 2q  + 3q   + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 26
--S 27 of 40
oprod x == exp oddlambert log x
--R
--R                                                                   Type: Void

--E 27
--S 28 of 40
q2:=oprod(1+qq)
--R
--R   Compiling function oprod with type UnivariateTaylorSeries(Fraction(
--R      Integer),q,0) -> UnivariateTaylorSeries(Fraction(Integer),q,0)
--R
--R                  3    4    5    6    7     8     9     10      11
--R   (28)  1 + q + q  + q  + q  + q  + q  + 2q  + 2q  + 2q   + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 28
--S 29 of 40
q3:=oprod(1-qq)
--R
--R
--R                  3    4    5    6    7     8     9     10      11
--R   (29)  1 - q - q  + q  - q  + q  - q  + 2q  - 2q  + 2q   + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 29
--S 30 of 40
q1*q2*q3
--R
--R
--R                11
--R   (30)  1 + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 30
--S 31 of 40
q2**8-q3**8
--R
--R
--R                   3       5        7        9      11
--R   (31)  16q + 128q  + 576q  + 2048q  + 6304q  + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 31
--S 32 of 40
16*qq*q1**8
--R
--R
--R                   3       5        7        9      11
--R   (32)  16q + 128q  + 576q  + 2048q  + 6304q  + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 32
--(q1**2/q2**2)**2

--(q3**2/q2**2)**2
--S 33 of 40
q0**3
--R
--R
--R               2     6      11
--R   (33)  1 - 3q  + 5q  + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 33
--S 34 of 40
q1**2*q0
--R
--R
--R              2    6      11
--R   (34)  1 + q  + q  + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 34
--S 35 of 40
q2**2*q0
--R
--R
--R                    4     9      11
--R   (35)  1 + 2q + 2q  + 2q  + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 35
--S 36 of 40
q3**2*q0
--R
--R
--R                    4     9      11
--R   (36)  1 - 2q + 2q  - 2q  + O(q  )
--R                          Type: UnivariateTaylorSeries(Fraction(Integer),q,0)
--E 36
--S 37 of 40
qqq:UTS(FRAC UP(a,RN),'q,0):=q
--R
--R
--R   (37)  q
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(a,Fraction(Integer))),q,0)
--E 37
--S 38 of 40
a:=a::FRAC UP(a,RN)
--R
--R

--R   (38)  a
--R                    Type: Fraction(UnivariatePolynomial(a,Fraction(Integer)))
--E 38

———-

Jacobi’s triple product — * —

--S 39 of 40
eprod(1-qqq)*oprod(1-a*qqq)*oprod(1-qqq/a)
--R
--R   Compiling function eprod with type UnivariateTaylorSeries(Fraction(
--R      UnivariatePolynomial(a,Fraction(Integer))),q,0) ->
--R      UnivariateTaylorSeries(Fraction(UnivariatePolynomial(a,Fraction(
--R      Integer))),q,0)
--R   Compiling function oprod with type UnivariateTaylorSeries(Fraction(
--R      UnivariatePolynomial(a,Fraction(Integer))),q,0) ->
--R      UnivariateTaylorSeries(Fraction(UnivariatePolynomial(a,Fraction(
--R      Integer))),q,0)
--R
--R                2          4             6
--R             - a  - 1     a  + 1  4   - a  - 1  9      11
--R   (39)  1 + -------- q + ------ q  + -------- q  + O(q  )
--R                 a           2            3
--R                            a            a
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(a,Fraction(Integer))),q,0)
--E 39
--S 40 of 40
sq:=ksquared*snn**2
--R
--R
--R   (40)
--R      2 2      1  4   1  2  4     2  6   13  4    2  2  6
--R     k y  + (- - k  - - k )y  + (-- k  + -- k  + -- k )y
--R               3      3          45      45      45
--R   +
--R         1   8    2  6    2  4    1   2  8
--R     (- --- k  - -- k  - -- k  - --- k )y
--R        315      21      21      315
--R   +
--R        2    10    251   8    292  6    251   4     2    2  10      11
--R     (----- k   + ----- k  + ---- k  + ----- k  + ----- k )y   + O(y  )
--R      14175       14175      4725      14175      14175
--RType: UnivariateTaylorSeries(Fraction(UnivariatePolynomial(k,Fraction(Integer))),y,0)
--E 40
)spool
)lisp (bye)

———- 14

References^{[1] nothing}

15