Series

Taylor series arithmetic allows for the computation of truncated Taylor series of functions and is a form of higher order automatic differentiation. See e.g. TaylorSeries.jl and TaylorDiff.jl for implementations of Taylor series in Julia.

The Arb library has good support for computing with polynomials as Taylor expansions. The types ArbSeries and AcbSeries are intended to make this easy to use from Julia. They are given by an ArbPoly/AcbPoly together with the length of the expansion.

Example

julia> using Arblib
julia> x0 = Arb(1 // 3, prec = 64)[0.3333333333333333333 +/- 4.24e-20]
julia> x = ArbSeries((x0, 1), degree = 5)[0.3333333333333333333 +/- 4.24e-20] + 1.000000000000000000⋅x + 𝒪(x^6)
julia> sin(x)[0.3271946967961522441 +/- 8.51e-20] + [0.944956946314737664 +/- 4.30e-19]⋅x + [-0.1635973483980761221 +/- 6.09e-20]⋅x^2 + [-0.1574928243857896107 +/- 4.28e-20]⋅x^3 + [0.01363311236650634351 +/- 6.74e-21]⋅x^4 + [0.00787464121928948054 +/- 5.28e-21]⋅x^5 + 𝒪(x^6)
julia> sin(x)^2 + cos(x)^2[1.00000000000000000 +/- 4.33e-19] + [+/- 3.94e-19]⋅x + [+/- 5.34e-19]⋅x^2 + [+/- 2.53e-19]⋅x^3 + [+/- 2.48e-19]⋅x^4 + [+/- 5.91e-20]⋅x^5 + 𝒪(x^6)