Dear list,

IMHO, Sage may use an implementation of Padé approximants (similar t its 
implementation of Taylor series), if only for numerical use reasons. 
Currently, this can be done:

   - by wrapping the Maxima functions taylor and pade (Maxima's pade needs 
   a Maxima taylor development object, which does not cleanly translate to 
   Sage);
   - by using the PowerSeriesRing.pade method.

Some trials have shown that the latter method, as advertised in its 
documentation, is indeed unsuitable even for moderately large degrees of 
the numerator and denominator: the expression thus obtained are extremely 
unwieldy large and are slow to evaluate numerically.
In contrast, the algorithm used by Maxima, gives easily usable results 
(even if they can be enhanced by expansion and possibly factorization 
and/or simplification). But using it worsens our dependence on Maxima.
Hence, a couple of questions:

*Algorithms:*

Do you have pointers to better algorithms for Padé approximants computation 
(especially for the multivariate case ? (These might also be helpful in the 
implementation of PowerSeriesRing.pade ...)

*User interface:*

We can follow our current taylor() convention, which is a bit of a 
straightjacket in the multivariate case,imposing the same degree for all 
the developments wrt the different variables.
We can also allow so specify different degrees for the development wrt the 
different variables (this can make sense for very asymetric functions).

Suggestions ?

*Multivariate case:*

An elementary implementation (see (Huard and Guillaume, 2000) 
<https://www.sciencedirect.com/science/article/pii/S037704270000337X> for 
example) is to iteratively create a Padé approximant for the successive 
variables. i. e. if p(f, x) denotes the Pade approximant wrt the variable 
x, you end up computing (p(p(p(f,x),y),z) (the implementation is trivial). 
The paper I quoted hints that there are better solutions, but is a bit 
above my pay grade (my initial formation is in dentistry and surgery...).

Do you have suggestions on this point ?

More generally, any comments are welcome !

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/469ec8fe-06a7-40d3-975c-7c71f787a411%40googlegroups.com.

Reply via email to