power series method pade(m,n) off by 1?
If p = 1+ x + O(x^2) is a power series, then then the method p.pade(0,1) should give p.pade(0,1) = 1/(1-x) but instead it gives an error
ValueError: the precision of the series is not large enough
The documentation says that p should be given up through O(x^(m+n+1)).
Isn't this wrong? Shouldn't it be up through O(x^(m+n)) ?
The Padé approximant P_m(x)/Q_n(x) contains m+n+1 unknown coefficients, so m+n+1 terms should be included in the power series: x^0 ... x^(m+n).
I'm working with a power series that I generate numerically, term by term. I'm using the pade method to estimate the region of analyticity in order to make a conformal transformation that will accelerate the convergence. I want to use pade(n-1,n) when I have 2n terms in the power series. But the pade(m,n) throws the above error. It does not seem possible to get a Padé approximation with the same number of coefficients as in the power series.
thanks for taking a look at this. Daniel Friedan
Daniel Friedan
Please look at the code and tell us where it is wrong. Open-source, we are.
I propose a fix here : https://trac.sagemath.org/ticket/30965
Thanks for the quick fix. It looks to me that the calculation of pade(m,n) was fine. It was just the error check that was off by 1. So the fix seems good to me.
I've never dared look at the code of sagemath. I came to python late in life. When I write calculations in sagemath, I spend half my time googling basic python questions.
I was a bit surprised to see that pade(m,n) is simply a wrapper around rational_reconstruct(). I had the impression that rational_reconstruct() only worked modulo a prime.
Daniel