Enumerative combinatorics
Solving systems of nonlinear polynomial equations faster
ISSAC '89 Proceedings of the ACM-SIGSAM 1989 international symposium on Symbolic and algebraic computation
SIAM Journal on Discrete Mathematics
A holonomic systems approach to special functions identities
Journal of Computational and Applied Mathematics
Automatic average-case analysis of algorithms
Theoretical Computer Science - Theme issue on the algebraic and computing treatment of noncommutative power series
On fast multiplication of polynomials over arbitrary algebras
Acta Informatica
GFUN: a Maple package for the manipulation of generating and holonomic functions in one variable
ACM Transactions on Mathematical Software (TOMS)
A calculus for the random generation of labelled combinatorial structures
Theoretical Computer Science
An introduction to the analysis of algorithms
An introduction to the analysis of algorithms
Asymptotic expansions of exp-log functions
ISSAC '96 Proceedings of the 1996 international symposium on Symbolic and algebraic computation
Lazy multiplication of formal power series
ISSAC '97 Proceedings of the 1997 international symposium on Symbolic and algebraic computation
CABAL: polynomial and power series algebra on a parallel computer
PASCO '97 Proceedings of the second international symposium on Parallel symbolic computation
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
On bivariate Hensel and its parallelization
ISSAC '98 Proceedings of the 1998 international symposium on Symbolic and algebraic computation
Composing power series over a finite ring in essentially linear time
Journal of Symbolic Computation
Uniform random generation of decomposable structures using floating-point arithmetic
Theoretical Computer Science - Special issue on Caen '97
Modern computer algebra
All Algebraic Functions Can Be Computed Fast
Journal of the ACM (JACM)
Fast Algorithms for Manipulating Formal Power Series
Journal of the ACM (JACM)
Computing with Formal Power Series
ACM Transactions on Mathematical Software (TOMS)
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Tellegen's principle into practice
ISSAC '03 Proceedings of the 2003 international symposium on Symbolic and algebraic computation
Relaxed mltiplication using the middle product
ISSAC '03 Proceedings of the 2003 international symposium on Symbolic and algebraic computation
Computing power series solutions of a nonlinear PDE system
ISSAC '03 Proceedings of the 2003 international symposium on Symbolic and algebraic computation
The truncated fourier transform and applications
ISSAC '04 Proceedings of the 2004 international symposium on Symbolic and algebraic computation
Boltzmann Samplers for the Random Generation of Combinatorial Structures
Combinatorics, Probability and Computing
Multivariate power series multiplication
Proceedings of the 2005 international symposium on Symbolic and algebraic computation
Computations with effective real numbers
Theoretical Computer Science - Real numbers and computers
Effective real numbers in Mmxlib
Proceedings of the 2006 international symposium on Symbolic and algebraic computation
On the coefficients that arise from Laplace's method
Journal of Computational and Applied Mathematics
Around the numeric-symbolic computation of differential Galois groups
Journal of Symbolic Computation
New algorithms for relaxed multiplication
Journal of Symbolic Computation
Analytic combinatorics: a calculus of discrete structures
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Fast computation of power series solutions of systems of differential equations
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Power series composition and change of basis
Proceedings of the twenty-first international symposium on Symbolic and algebraic computation
Formal desingularization of surfaces: The Jung method revisited
Journal of Symbolic Computation
Coverage-biased Random Exploration of Models
Electronic Notes in Theoretical Computer Science (ENTCS)
Journal of Symbolic Computation
A simple and fast algorithm for computing exponentials of power series
Information Processing Letters
Code Generation for Polynomial Multiplication
CASC '09 Proceedings of the 11th International Workshop on Computer Algebra in Scientific Computing
Lazy and Forgetful Polynomial Arithmetic and Applications
CASC '09 Proceedings of the 11th International Workshop on Computer Algebra in Scientific Computing
Journal of Symbolic Computation
Newton's method and FFT trading
Journal of Symbolic Computation
Controlled non-uniform random generation of decomposable structures
Theoretical Computer Science
Journal of Symbolic Computation
Root lifting techniques and applications to list decoding
ACM Communications in Computer Algebra
Algorithms for combinatorial structures: Well-founded systems and Newton iterations
Journal of Combinatorial Theory Series A
On the bit-complexity of sparse polynomial and series multiplication
Journal of Symbolic Computation
Relaxed p-adic Hensel lifting for algebraic systems
Proceedings of the 37th International Symposium on Symbolic and Algebraic Computation
Power series solutions of singular (q)-differential equations
Proceedings of the 37th International Symposium on Symbolic and Algebraic Computation
On the complexity of multivariate blockwise polynomial multiplication
Proceedings of the 37th International Symposium on Symbolic and Algebraic Computation
Structured FFT and TFT: symmetric and lattice polynomials
Proceedings of the 38th international symposium on International symposium on symbolic and algebraic computation
Non-redundant random generation algorithms for weighted context-free grammars
Theoretical Computer Science
Guessing singular dependencies
Journal of Symbolic Computation
Hi-index | 0.00 |
Assume that we wish to expand the product h = fg of two formal power series f and g. Classically, there are two types of algorithms to do this: zealous algorithms first expand f and g up to order n, multiply the results and truncate at order n. Lazy algorithms on the contrary compute the coefficients of f, g and h gradually and they perform no more computations than strictly necessary at each stage. In particular, at the moment we compute the coefficient hi of zi in h, only f0,..., fi and g0,..., gi are known.Lazy algorithms have the advantage that the coefficients of f and g may actually depend on "previous" coefficients of h, as long as they are computed before they are needed in the multiplication, i.e. the coefficients fi and gi may depend on h0,..., hi-1. For this reason, lazy algorithms are extremely useful when solving functional equations in rings of formal power series. However, lazy algorithms have the disadvantage that the classical asymptotically fast multiplication algorithms on polynomials--such as the divide and conquer algorithm and fast Fourier multiplication--cannot be used.In a previous paper, we therefore introduced relaxed algorithms, which share the property concerning the resolution of functional equations with lazy algorithms, but perform slightly more computations than lazy algorithms during the computation of a given coefficient of h. These extra computations anticipate the computations of the next coefficients of h and dramatically improve the asymptotic time complexities of such algorithms.In this paper, we survey several classical and new zealous algorithms for manipulating formal power series, including algorithms for multiplication, division, resolution of differential equations, composition and reversion. Next, we give various relaxed algorithms for these operations. All algorithms are specified in great detail and we prove theoretical time and space complexity bounds. Most algorithms have been experimentally implemented in C++ and we provide benchmarks. We conclude by some suggestions for future developments and a discussion of the fitness of the lazy and relaxed approaches for specific applications.This paper is intended both for those who are interested in the most recent algorithms for the manipulation of formal power series and for those who want to actually implement a power series library into a computer algebra system.