QFunctions(R, L)ΒΆ
qfunct.spad line 147 [edit on github]
R: Ring
Implement qPochhammer and friends.
- eisensteinE2: () -> L
eisensteinE2()returns the normalized Eisenstein series $E2= 1 - 24 sum_{n=1}^infty sigma_1(n)q^{n}$ where $sigma_1(n)$ is the sum of the divisors of $n$ and $q=exp(2 piitau)$.
- eisensteinE2: PositiveInteger -> L
eisensteinE2(k)returns the normalized Eisenstein series $E_{2k}(tau) = 1 - 4k/B_{2k} sum_{n=1}^infty sigma_{2k-1}(n)q^{n}$ where $sigma_m(n)$ is the sum of them-th powers of the divisors of $n$ and $B_{k}$ is thek-th Bernoulli number and $q=exp(2 piitau)$.
- eisensteinE4: () -> L
eisensteinE4()returns the normalized Eisenstein series $E4= 1 + 240 sum_{n=1}^infty sigma_3(n)q^{2n}$ where $sigma_3(n)$ is the sum of third powers of the divisors of $n$ and $q=exp(2 piitau)$.
- eisensteinE6: () -> L
eisensteinE4() returns the normalized Eisenstein series $E6= 1 - 504 sum_{n=1}^infty sigma_5(n)q^{2n}$ where $sigma_3(n)$ is the sum of fifth powers of the divisors of $n$ and $q=exp(2 piitau)$.
- eulerFunction2: PositiveInteger -> L
Do not use this function! It is just another implementation of eulerFunction.
- eulerFunction: PositiveInteger -> L
For
s>0, eulerFunction(s) = qPochhammer(1,s,s). https://en.wikipedia.org/wiki/Euler_function We use the Pentagonal number theorem to speed up its computation. https://en.wikipedia.org/wiki/Pentagonal_number_theorem eulerFunction(s) = 1 + sum_{n>0} (-1)^n(q^(s*n*(3*n+1)/2) +q^(s*n*(3*n-1)/2))
- eulerFunctionPower3: PositiveInteger -> L
eulerFunctionPower3(x)returns eulerFunction(x)^3, but uses the formula $sum_{n=0}^infty (-1)^n(2n+1)q^{frac{1}{2}(n^2+n)}$ to compute the result more efficiently. See cite{HirschhornHunt_SimpleProofOfTheRamanujanConjecture_1981}. http://eudml.org/doc/152366
- eulerStream: (PositiveInteger, Integer, Integer, Stream Record(k: Integer, c: R)) -> Stream Record(k: Integer, c: R)
eulerStream is an auxiliary function for the computation of eulerFunction and only exported for debugging purposes.
- generalizedEulerProduct: (PositiveInteger, List Integer) -> L
generalizedEulerProduct(n, ts)computes the product of qPochhammer(1,t,n) for eachtints)
- jacobiFunction: (Integer -> R, PositiveInteger, NonNegativeInteger) -> L
For
d>0, 0<=g<d, jacobiFunction(f,d,g) returns $sum_{n=-infty}^infty (-1)^nf(n)q^{gn+dn(n-1) / 2}$ Iff(n) =z^nfor some elementzfromR(assuming thatzis invertible), then the returned series is equal to the Jacobi triple product $prod_{n=1}^infty (1-zq^{delta (n-1)+g}) (1-z^{-1}q^{deltan-g}) (1-q^{deltan})$ For one(n)==1, we have the identity: jacobiFunction(one,d,g) = generalizedEulerProduct(d, [g,d-g]) * eulerFunctiond.
- jacobiFunction: (PositiveInteger, NonNegativeInteger) -> L
jacobiFunction(d, g)returns jacobiFunction(n+->1,d,g).
- kleinJInvariant: () -> L
kleinJInvariant()returns Klein'sj-invariant as a Laurent series in q=2ipi. It is given by 1728*E4^3/(E4^3-E6^2) whereE4andE6are the respective normalized Eisenstein series.
- partitionSeries: PositiveInteger -> L
partitionSeries(s)returns the partition generating series, i.e. the coefficient of $q^(s*n)$ is the number of partitions of $n$ (where $q$ is the variable from $L$). It holds: partitionSeries(s)*eulerFunction(s)=1.
- qPochhammer: () -> L
qPochhammer()= qPochhammer(1, 1, 1)
- qPochhammer: (R, Integer, Integer, NonNegativeInteger) -> L
qPochhammer(c, r, s, n)returns the Laurent series $(ccdotq^r,q^s)_n$ given by 1, ifn=0; and\[prod_{k=0}^{n-1} (1-ccdotq^scdot (q^r)^k),\]otherwise, where q=monomial(1,1)$L.
- qPochhammer: (R, Integer, PositiveInteger) -> L
qPochhammer(c, r, s)returns the Laurent series given by $(cq^r,q^s)_infty = prod_{k=0}^{infty} (1-cq^rcdot (q^s)^k)$ where q=monomial(1,1)$L.
- qPochhammer: (R, NonNegativeInteger) -> L
qPochhammer(c, n)= qPochhammer(c, 0, 1,n)
- qPochhammer: R -> L
qPochhammer(c)= qPochhammer(c, 0, 1)
- theta2ConstantIncomplete: () -> L
The theta function is defined as $theta_2(0,tau) = 2
q^{1/4} sum_{n=0}^inftyq^{n(n+1)}$ where $q=exp(piitau)$. theta2ConstantIncomplete() returns this series without the $q^{1/4}$ factor. See: https://fungrim.org/entry/495a98/ https://en.wikipedia.org/wiki/Theta_function#Auxiliary_functions
- theta2ConstantQIncomplete: () -> L
The theta function is defined as $theta_2(0,tau) = 2
q^{1/8} sum_{n=0}^inftyq^{n(n+1)/2}$ where $q=exp(2 piitau)$. theta2ConstantQIncomplete() returns this series without the $q^{1/8}$ factor. See: https://fungrim.org/entry/495a98/ Note that theta2ConstantIncomplete() is equal to replacingqbyq^2in theta2ConstantQIncomplete().
- theta3Constant: () -> L
The theta function is defined as $theta_3(0,tau) = 1 + 2 sum_{
n=1}^inftyq^{n^2}$ where $q=exp(piitau)$. theta3Constant() returns this series. https://fungrim.org/entry/2f97f5/ https://en.wikipedia.org/wiki/Theta_function#Auxiliary_functions
- theta4Constant: () -> L
The theta function is defined as $theta_4(0,tau) = 1+ 2 sum_{
n=1}^infty (-1)^nq^{n^2}$ where $q=exp(piitau)$. theta4Constant() returns this series. See: https://fungrim.org/entry/d923de/ https://en.wikipedia.org/wiki/Theta_function#Auxiliary_functions