
Formal power series (FPS) of the form [ ] are important in calculus and complex analysis. In some Computer Algebra Systems (CASs) it is possible to define an FPS by direct or recursive definition of its coefficients. Since some operations cannot be directly supported within the FPS domain, some systems generally convert FPS to finite truncated power series (TPS) for operations such as addition, multiplication, division, inversion and formal substitution. This results in a substantial loss of information. Since a goal of Computer Algebra isin contrast to numerical programmingto work with formal objects and preserve such symbolic information, CAS should be able to use FPS when possible. There is a onetoone correspondence between FPS with positive radius of convergence and corresponding analytic functions. It should be possible to automate conversion between these forms. Among CASs only Macsyma provides a procedure [powerseries] to calculate FPS from analytic expressions in certain special cases, but this is rather limited. Here we give an algorithmic approach for computing an FPS for a function from a very rich family of functions including all of the most prominent ones that can be found in mathematical dictionaries except those where the general coefficient depends on the Bernoulli, Euler, or Eulerian numbers. The algorithm has been implemented by the author and A. Rennoch in the CAS Mathematica, and by D. Gruntz in Maple. Moreover, the same algorithm can sometimes be reversed to calculate a function that corresponds to a given FPS, in those cases when a certain type of ordinary differential equation can be solved.

