5
$\begingroup$

I wanted to find Series[Product[Cos[t/n], {n, 1, Infinity}], {t, 0, 5}] but failed.

Then, I tried Product[Series[Cos[t/n],{t,0,5}],{n,1,Infinity}] and still failed.

Looks that Product can't calculate the infinite expression with O[x].

But, it can be calculated as follows:

$$ \cos \left(\frac{t}{n}\right)=1-\frac{t^2}{2 n^2}+\frac{t^4}{24 n^4}+O\left(t^6\right) $$

a0=1;
a2=Sum[-(t^2/(2 n^2)),{n,1,Infinity}];
a4=Sum[t^4/(24 n^4),{n,1,Infinity}]+Sum[-(t^2/(2 p^2))Sum[-(t^2/(2 n^2)),{n,p+1,Infinity+1}],{p,1,Infinity}];

So

$$\begin{align}\prod _{n=1}^{\infty } \cos \left(\frac{t}{n}\right)&=a_0+a_2 t^2+a_4 t^4 +O(t^6)\\&=1-\frac{\pi ^2}{12} t^2+\frac{11 \pi^4 }{4320}t^4+O(t^6) \end{align}$$

But how about the general case ?

How to simplify Series[Product[f[n, x], {n, 1, Infinity}], {x, 0, t}] ?

$\endgroup$
6
$\begingroup$

One idea is to convert the product to a sum by using Log, then convert to a series, and then convert back using Exp, although Mathematica will need lots of help. Here is your product:

prod = Product[Cos[t/n], {n, Infinity}];
prod //TeXForm

$\prod _n^{\infty } \cos \left(\frac{t}{n}\right)$

Take the log and then simplify using a rule:

log = Log[prod] /. Log[Verbatim[Product][f_, iter_]] :> Sum[Log[f], iter];
log //TeXForm

$\sum _n^{\infty } \log \left(\cos \left(\frac{t}{n}\right)\right)$

Now, manually apply Series to the summand:

lser = log /. Verbatim[Sum][f_, iter_] :> Sum[f+O[t]^10, iter];
lser //TeXForm

$\sum _n^{\infty } \left(-\frac{t^2}{2 n^2}-\frac{t^4}{12 n^4}-\frac{t^6}{45 n^6}-\frac{17 t^8}{2520 n^8}+O\left(t^{10}\right)\right)$

Now, manually distribute the Sum:

dist = lser /. Sum[Verbatim[SeriesData][a__, b_List, c__], iter_] :> SeriesData[a, Sum[b, iter], c];
dist //TeXForm

$-\frac{\pi ^2 t^2}{12}-\frac{\pi ^4 t^4}{1080}-\frac{\pi ^6 t^6}{42525}-\frac{17 \pi ^8 t^8}{23814000}+O\left(t^{10}\right)$

Finally, exponentiate the result:

Exp[dist] //TeXForm

$1-\frac{\pi ^2 t^2}{12}+\frac{11 \pi ^4 t^4}{4320}-\frac{233 \pi ^6 t^6}{5443200}+\frac{1429 \pi ^8 t^8}{3048192000}+O\left(t^{10}\right)$

Update

If you don't mind mucking about with protected System` symbols, you could package up the above procedure:

Unprotect[Series];

Series[Product[a_, b_], pt_] := Exp[
    MapAt[
        Sum[#, b]&,
        Series[Log[a], pt],
        3
    ]
]
Series[Inactive[Product][a_, b_], pt_] := Series[Unevaluated[Product[a, b]], pt]

Protect[Series];

Then, your example works as expected:

Series[Product[Cos[t/n], {n, Infinity}], {t, 0, 10}] //TeXForm

$1-\frac{\pi ^2 t^2}{12}+\frac{11 \pi ^4 t^4}{4320}-\frac{233 \pi ^6 t^6}{5443200}+\frac{1429 \pi ^8 t^8}{3048192000}-\frac{39881 \pi ^{10} t^{10}}{10863756288000}+O\left(t^{11}\right)$

| improve this answer | |
$\endgroup$
0
$\begingroup$

Mma does not know the value of Product[Cos[t/n], {n, 1, Infinity}] which is clear, since it returns this expression unevaluated. The series cannot be evaluated for this same reason.

However, if approximate values of the coefficients are OK with you, you may try this:

lst = Table[
  expr = (Series[Product[Cos[t/n], {n, 1, m}], {t, 0, 5}] // Normal //
       N // Chop); {m, expr[[2, 1]], expr[[3, 1]]}, {m, 
   Join[Range[9], Table[10^i, {i, 1, 4}]]}]

(*  {{1, -0.5, 0.0417}, {2, -0.625, 0.107}, {3, -0.681, 
  0.142}, {4, -0.712, 0.163}, {5, -0.732, 0.178}, {6, -0.746, 
  0.188}, {7, -0.756, 0.196}, {8, -0.764, 0.201}, {9, -0.77, 
  0.206}, {10, -0.775, 0.21}, {100, -0.817, 0.244}, {1000, -0.822, 
  0.248}, {10000, -0.822, 0.248}}  *)

which returns the list with the element {m,coeff2, coeff4}, where m is the length of the product, coeff2 is the factor in front of t^2 and coeff4 is that in front of t^4 in your expansion. One can make sure that the list of these coefficients converge to -0.822 and 0.248. This is visualized below:

    Show[{
  ListLinePlot[{Abs[lst /. {x_, y_, z_} -> {Log[10, x], y}], 
    lst /. {x_, y_, z_} -> {Log[10, x], z}}, PlotRange -> All, 
   PlotStyle -> {Blue, Red}, Frame -> True, GridLines -> Automatic, 
   FrameLabel -> {Style["\!\(\*SubscriptBox[\(Log\), \(10\)]\)m", 16, 
      Italic, Black], 
     Row[{Style["|coeff2|", 16, Italic, Blue], 
       Style["  and  ", 16, Italic, Black], 
       Style["coeff4", 16, Italic, Red]}]}],

  ListPlot[{Abs[lst /. {x_, y_, z_} -> {Log[10, x], y}], 
    lst /. {x_, y_, z_} -> {Log[10, x], z}} , PlotStyle -> {Blue, Red}]
  }]

enter image description here

Have fun!

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.