lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Apr 6, 2019, at 2:45 AM, Dirk Laurie <> wrote:
>> This implementation works only if x is in the range from (-0.7) to (+0.7)
>> That's because of floating point arithmetic is approximate.
>> Exact arithmetic of fractions (with arbitrary long numerator and denominator) must be used instead.
> No, the reason is that the convergence radius of the Maclaurin series
> is only about 0.7. There are at least two ways around that:
> 1. Use a nonlinear transformation (epsilon algorithm, Levin's U etc)
> to sum the series.
> 2. Apply analytic continuation. E.g. use this method to calculate cin
> and enough derivatives at say pi/6, then calculate a Taylor series
> round pi/6, etc.
> I can't guarantee that either approach will work. Unfortunately I am
> travelling and am typing this in an idle half-hour, so I can't try it
> out now.

Good catch !

According to the author of this cin(x) puzzle, Valentin Albiolo,
radius of convergence is actually 0 !

In other words, you cannot keep building more Taylor coefficients,
and expect better accuracy ...

Here is link to official solution:

[VA] Short and Sweet Math Challenge #24, post #28