Home

Awesome

TaylorSeries.jl

A Julia package for Taylor polynomial expansions in one or more independent variables.

CI Coverage Status

DOI DOI

Authors

Comments, suggestions and improvements are welcome and appreciated.

Examples

Taylor series in one variable

julia> using TaylorSeries

julia> t = Taylor1(Float64, 5)
 1.0 t + 𝒪(t⁶)

julia> exp(t)
 1.0 + 1.0 t + 0.5 t² + 0.16666666666666666 t³ + 0.041666666666666664 t⁴ + 0.008333333333333333 t⁵ + 𝒪(t⁶)

 julia> log(1 + t)
 1.0 t - 0.5 t² + 0.3333333333333333 t³ - 0.25 t⁴ + 0.2 t⁵ + 𝒪(t⁶)

Multivariate Taylor series

julia> x, y = set_variables("x y", order=2);

julia> exp(x + y)
1.0 + 1.0 x + 1.0 y + 0.5 x² + 1.0 x y + 0.5 y² + 𝒪(‖x‖³)

Differential and integral calculus on Taylor series:

julia> x, y = set_variables("x y", order=4);

julia> p = x^3 + 2x^2 * y - 7x + 2
 2.0 - 7.0 x + 1.0 x³ + 2.0 x² y + 𝒪(‖x‖⁵)

julia> ∇(p)
2-element Array{TaylorN{Float64},1}:
  - 7.0 + 3.0 x² + 4.0 x y + 𝒪(‖x‖⁵)
                    2.0 x² + 𝒪(‖x‖⁵)

julia> integrate(p, 1)
 2.0 x - 3.5 x² + 0.25 x⁴ + 0.6666666666666666 x³ y + 𝒪(‖x‖⁵)

julia> integrate(p, 2)
 2.0 y - 7.0 x y + 1.0 x³ y + 1.0 x² y² + 𝒪(‖x‖⁵)

For more details, please see the docs.

License

TaylorSeries is licensed under the MIT "Expat" license.

Installation

TaylorSeries can be installed simply with using Pkg; Pkg.add("TaylorSeries").

Contributing

There are many ways to contribute to this package:

References

Acknowledgments

This project began (using python) during a Masters' course in the postgraduate programs in Physics and in Mathematics at UNAM, during the second half of 2013. We thank the participants of the course for putting up with the half-baked material and contributing energy and ideas.

We acknowledge financial support from DGAPA-UNAM PAPIME grants PE-105911 and PE-107114, and DGAPA-PAPIIT grants IG-101113, IG-100616, IG-100819 and IG-101122. LB acknowledges support through a Cátedra Moshinsky (2013).