Open rburing opened 5 months ago
To give an update on this, at https://gitlab.inria.fr/ricardo-thomas.buring/d-finite-fun I am working on generic implementations of Newton iteration and divide-and-conquer for first-order systems (to obtain a basis of solutions), that I plan to contribute to FLINT. When the first-order system comes from a higher-order scalar equation, some matrices have a special form that allows some optimizations. I am currently working on making it possible to continue expanding a series further without re-doing a lot of the work that was already done (which will be exposed in some function starting with _
), so this can be used for dynamically deciding when to stop expanding (useful for evaluation / analytic continuation), and/or for switching strategies (e.g. if you want to add just one term or a few terms). Since this (as well as other possible optimizations) might affect the API I have not made the PR to FLINT yet.
cc @lairez
Based on discussions with @mezzarobba and @fredrik-johansson:
[ ] A module for generic Ore polynomials:
gr_ore_poly
d/dz
and inz*d/dz
, withgr_poly
s as coefficients[ ] Implementation of numerical algorithms:
acb_holonomic
oracb_ode
[ ] Generic implementations of D-finite function expansion/evaluation can go in
gr_poly