Calculating a pade approximant?

I’m assuming this must be hiding in a library somewhere…

I found a pade appoximant evaluation in the Polynomials package, but it doesn’t look like there is any functionality for generating an approximant for an arbitrary function.

Any suggestions ?

This may not be exactly what you are looking for but maybe it’s in the ballpark: macd/BaryRational.jl: Barycentric rational approximation and interpolation in one dimension. (github.com)

it absolutely is in the ballpark. thank you !

Also, you should check out Remez.jl which can give minimax rational approximations.

that looks useful too. one thing i’m currently trying to figure out is if the algorithm i’m trying to implement requires a Pade approximation in particular or any rational approximation.

i suspect that the paper referred to Pade approximants simply becaus they are well known and well understood.

That was the other reason to ask, i was wondering if someone might also chime in with “you may think you want to use Pade, but you really want to use X instead”.

1 Like

Padé is pretty different from minimax rational approximants — the latter are approximating a function on an interval, whereas Padé is essentially an extrapolation method or series acceleration.

1 Like

Yeah, but a lot of people use pade when they only care about an interval even though it’s really sub-optimal.

I was reading the paper of interest last night, and it does seem that the method i’m investigating requires pade approximants. Even though, technically, it’s trying to approximate on an interval, the idea is that the approximation holds on as wide an interval as possible, for the obvious reason that it allows a larger step in the solution calculation.

There’s an example in the paper i have to work through, but I think i really do want to calculate the pade approximation.

it doesn’t look to terrible, so i’ll give it a try and see if it works out.

seems like it would be a useful addition to a library of some sort, maybe even symbolics. would be very slick to be able to put in the function algebraicly and have it calculate the m,n pade approximation for you via calculating the derivatives symbolically.

The following github references might be of interest too, with Julia code using SymPy:

1 Like