Ask Your Question
1

Computing coefficients of certain function (Euler function $\phi(q)$) that is related to Eta-quotients

asked 2021-12-25 16:20:22 +0200

Saber gravatar image

updated 2021-12-26 10:23:52 +0200

Edit: I find an online Sage engine here (https ://sagecell .sagemath .org/). Also, someone asked this question (https ://ask .sagemath. org/question/40671/sage-function-with-functionality-of-series-command-from-maple/) a long time ago. If I can run a code for that question in this online Sage engine, then I can handle my problem. But when I write this code (that is suggested in the answer to that question)

    PSR.<q> = PowerSeriesRing( QQ, default_prec=20 )
    f = qexp_eta( PSR, 20 )
    f(q^{24})

it gives me some errors as output:

    ---------------------------------------------------------------------------
    NameError                                 Traceback (most recent call last)
    <ipython-input-1-2a3833019b43> in <module>
          1 PSR = PowerSeriesRing( QQ, default_prec=Integer(20) , names=('q',)); (q,) = PSR._first_ngens(1)
    ----> 2 f = qexp_eta( PSR, Integer(20) )
          3 f(q**{Integer(24)})

    NameError: name 'qexp_eta' is not defined

What is the problem with the code in the answer to that question? How can I write a code in that online Sage engine for the $q$-expansion of $\dfrac{\eta(z)}{\eta(4z)\eta(2z)}$? Or, for simplicity how, how can I write a code in that online Sage engine for the $q$-expansion of $\dfrac{\eta(z)}{\eta(2z)}$?




I know that my question is very simple, but I can not handle it myself. Also, I do not know whether it is a suitable question for this site or not, because I want to calculate with Magma. I read the other questions about "eta_products", for example this question (https ://ask .sagemath .org/question/10413/coefficients-of-infinite-polynomial-products/), or this question (https ://ask .sagemath. org/question/40671/sage-function-with-functionality-of-series-command-from-maple/) (I can't send linky texts because "my karma is insufficient to publish links", and if someone tries to edit my question, and fix the links at the end of my post, then these texts become linky automatically; also I don't know why the linky texts are referring to my question), but at the moment I do not have a system of my own on which I am allowed to install and run Sage. (The purpose of my question, is exactly the same as the question entitled "Sage function with functionality of series command from Maple.", but I am trying to do it in Magma)



I want to calculate the $n^{\text{th}}$-Fourier coefficient of some functions that are closed to $\eta$-quotients, in fact some functions that are very similar to Euler function $\phi(q)=\prod_{i=1}^{\infty}(1-q^{i})$, but not necessarily the same. (Notice that $\phi(q^l)=\prod_{i=1}^{\infty}(1-q^{il})$)

For instance, given positive integers $k, K, l, L$, with $K \mid k$ and $L \mid l$. I want to calculate the $n^{\text{th}}$-Fourier coefficient of $\dfrac{\phi(q^K)\phi(q^L)}{\phi(q^k)\phi(q^l)}$ or $\dfrac{\phi(q)\phi(q^K)\phi(q)\phi(q^L)}{\phi(q^k)\phi(q^l)}$ or some other types of $\dfrac{\prod_{j=1}^{T}\phi(q^{L_j})^{A_j}}{\prod_{j=1}^{t}\phi(q^{l_j})^{a_j}}$ for suitable positive integers, and some other quotients that are based on some other functions that have some similarity with Euler function.



My question: Now forget Euler function, and whatever I've said.

If I know how can I calculate the $n^{\text{th}}$-Fourier coefficient of $$\dfrac{\prod_{i=1}^{\infty}\Bigg((1-q^{iK})(1-q^{iL})\Bigg)}{\prod_{i=1}^{\infty}\Bigg((1-q^{ik})(1-q^{il})\Bigg)},$$ then I can calculate the $n^{\text{th}}$-Fourier coefficient of the others. (The product $\dfrac{\prod_{i=1}^{\infty}\Bigg((1-q^{iK})(1-q^{iL})\Bigg)}{\prod_{i=1}^{\infty}\Bigg((1-q^{ik})(1-q^{il})\Bigg)}$ does not depend on $i$, and $i$ is just a counter.)




My attempts in Magma (My codes were not colorful, but now they are colorful; I don't know what's happened):

  • I can calculate the coefficients of a polynomial:

    Coefficient(5*x^4+4*x^3+3*x^2+2*x+1, 2);
    
  • also, I can do some other things like:

    PQ<x> := PowerSeriesRing(RationalField()); 
    f := (1-x) / (1-x^2); Coefficients(f);
    
  • also, I can define this (but this isn't going to work):

    f := func< N, q | &*[1 - q^(i) : i in [1..N]] >;
    


  • This code almost works:

    PQ<x> := PowerSeriesRing(RationalField()); 
    N :=100; f := func< x | &*[(1 - x^(i)) : i in [1..N]] >; 
    F :=(f(x^2)*f(x^3))/(f(x)*f(x)); Coefficients(F);
    
  • but based upon the previous code, it is hard to find the $n^{\text{th}}$-coefficient, and this one is a little bit better:

    PQ<x> := PowerSeriesRing(RationalField()); 
    N :=30; f := func< x | &*[(1 - x^(i)) : i in [1..N]] >; 
    (f(x^2)*f(x^3))/(f(x)*f(x));
    

But this code is not interesting either, because for example to calculate the $20^{\text{th}}$ coefficient, we need to consider $N$ large enough ($20 \leq N$), and then do the multiplication, and then search for the term $x^n$, and its coefficient.

edit retag flag offensive close merge delete

Comments

1

Welcome to Ask Sage! Thank you for your question.

slelievre gravatar imageslelievre ( 2021-12-25 21:07:41 +0200 )edit
1

To insert links, add spaces in them, eg https ://example .com, and someone can fix them.

slelievre gravatar imageslelievre ( 2021-12-25 21:08:18 +0200 )edit

@slelievre Thanks for your kindness and your patience, and also for the nice trick to insert links.

Saber gravatar imageSaber ( 2021-12-25 21:42:18 +0200 )edit

@Max Alekseyev Sorry, I forgot to write the counter in the powers, Thank you. I edited it, and to be more clear I replace the counter with "$i$" (instead of "$m$").

Saber gravatar imageSaber ( 2021-12-25 21:49:12 +0200 )edit
2

To use qexp_eta, add this line beforehand:

from sage.modular.etaproducts import qexp_eta
slelievre gravatar imageslelievre ( 2021-12-27 01:35:34 +0200 )edit

1 Answer

Sort by » oldest newest most voted
2

answered 2021-12-30 11:36:46 +0200

FrédéricC gravatar image

Use something like this:

sage: N = 20
sage: q = QQ[['q']].gen().O(N)
sage: f = prod((1-q**(2*i))/(1-q**(3*i)) for i in range(1, N+1))
sage: f
1 - q^2 + q^3 - q^4 - q^5 + 2*q^6 - q^7 - 2*q^8 + 3*q^9 - q^10 - 3*q^11 + 5*q^12 - 2*q^13 - 4*q^14 + 7*q^15 - 3*q^16 - 6*q^17 + 11*q^18 - 4*q^19 - 9*q^20 + O(q^21)
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2021-12-25 16:20:22 +0200

Seen: 277 times

Last updated: Dec 30 '21