gfun[updates] - changes in version 5.0
Description
Version 5.0 is a major revision of gfun with simplified and extended interfaces of the functions that return differential equations and recurrences. It also includes a number of bug fixes and new functions that had been requested by users.
Equation and operator output
The commands producing differential equations or recurrences now consistently accept:
- homogeneous=true, to request a homogeneous relation.
- operator=name, to return the corresponding polynomial in a differential or shift operator instead of an equation with initial conditions.
The latter form is available for the closure and conversion operations as well as for the guessing commands. In particular, it is useful when the output is to be passed to another operator computation.
Improved guessing interface
All guessing functions now accept more options to control the guessing routines. Besides the preexisting maxordereqn, maxdegcoeffs, and the new options homogeneous and operator described above (when applicable), these are:
- modulo, to perform the computation only modulo a given prime number.
- checkterms, to control the number of nonzero terms held out from the input for validation.
- maxtotaldegree, used for functions that produce polynomials such as listtoalgeq, and to control the total degree of linear differential operators.
- mode (one of
guessingorapproximant), to control more clearly what is computed by these guessing routines.
The handling of the option optionsgf has changed. This option contains a list of types among ogf, egf, revogf, revegf, and a few others and used to default to [ogf]. The output used to be a list with two elements: the equation and the type of generating function for which it holds. Now, unless a list is explicitly given, the output consists only of the equation, which is for the ordinary generating function (i.e., the given power series). This is a change that is not compatible with the previous versions, but simplifies the most common uses of these guessing functions.
The common guessing code used by listto*, seriesto*, and Pade-Hermite computations has been reorganized. Three entry points make the distinction between two usual uses of Pade-Hermite approximation explicit:
- guessrelation finds a relation and checks it on terms not used for fitting.
- hermite_pade computes an approximant from all supplied terms.
- approximantbasis returns a basis of modular relations.
pade2 is retained for compatibility and has its historical default, mode=guessing.
New functions
guessode is a new function that had been requested for a long time. It looks for a not necessarily linear differential equation satisfied by an input power series.
New commands diffeqtolist, diffeqtoseries, rectolist, and rectoseries produce coefficients or truncated series directly from a differential equation or a recurrence. They complement the existing conversions from lists and series to equations. The longer route via rectoproc remains useful for repeated use with different orders.
Transformations and corrections
- the integration of the help pages in the Maple help system has been improved;
- poltorec accepts affine sequence indices; for example, it can compute a recurrence for
fibonacci(2*n+5). - The handling of singular cases and their initial conditions has been improved.
- Differential and recurrence contents are normalized more systematically.
- Internally, bad primes and exact poles encountered during modular computations are now skipped consistently, avoiding stalled modular computations;
- changes in the guessing strategy make guessing routines generally faster than before.
See Also
gfun[guessrelation], gfun[hermite_pade], gfun[approximantbasis], gfun[parameters], gfun[diffeqtolist]