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

**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.

Welcome to Ask Sage! Thank you for your question.

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

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

@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$").

To use

`qexp_eta`

, add this line beforehand: