4. Sèrie arctangent hiperbòlica (2 punts)

Definim recursivament la successió següent:

\[\begin{split}t_0(x) & = x \\ t_n(x) & = t_{n-1}(x) \; x^2 \; \frac{2n-1}{2n+1}, \qquad n>0\end{split}\]

Sabem que la sèrie dels termes de la successió anterior convergeix a l’arctangent hiperbòlica:

\[\sum_{n=0}^\infty t_n(x) = \operatorname{arctanh} x, \qquad |x|<1\]

Dissenya la funció següent i desa-la al mòdul series_invtrigoh (fitxer series_invtrigoh.py).

series_invtrigoh.termes(x, epsilon)

Retorna la llista amb el mínim nombre de termes de la sèrie que compleixen que la sèrie s’acosta a \(\operatorname{arctanh} x\) amb una tolerància epsilon, és a dir, els termes de \(t_0(x)\) fins al \(t_k(x)\) on \(k\) és el nombre més petit que compleix

\[\left\lvert \sum_{n=0}^k t_n(x) - \operatorname{arctanh} x \right\rvert < \epsilon\]

Per exemple,


>>> eps = 1e-6
>>> x = 0.5
>>> r = termes(x, eps)

Llista r amb els elements arrodonits a 6 decimals.

>>> [round(t, 6) for  t in r]
[0.5, 0.041667, 0.00625, 0.001116, 0.000217, 4.4e-05, 9e-06, 2e-06]

Recorda que math.atanh() calcula l’arctangent hiperbòlica.

Trobaràs més tests al fitxer test-series_invtrigoh.txt.