[go: up one dir, main page]

skip to main content
article

Relax, but don't be too lazy

Published: 01 December 2002 Publication History

Abstract

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.

References

[1]
Bernardin, L. (1998). On bivariate Hensel lifting and its parallelization. In Gloor, O. ed., Proceedings of ISSAC '98, pp. 96-100. Germany, Rostock.
[2]
Bernstein, D. J. (1998). Composing power series over a finite ring in essentially linear time. J. S. C.,26, 339-341.
[3]
Brent, R. P., Kung, H. T. (1975). O((n log n)3/2) algorithms for composition and reversion of power series. In Traub, J. F. ed., Analytic Computational Complexity, Proceedings of a Symposium on Analytic Computational Complexity held by Carnegie-Mellon University.
[4]
Brent, R. P., Kung, H. T. (1977). Fast algorithms for composition and reversion of multivariate power series. In Proc. Conf. Th. Comp. Sc., Waterloo, Ontario, Canada, pp. 149-158. University of Waterloo.
[5]
Brent, R. P., Kung, H. T. (1978). Fast algorithms for manipulating formal power series. J. ACM, 25, 581-595.
[6]
Brent, R. P., Traub, J. F. (1980). On the complexity of composition and generalized composition of power series. SIAM J. Comput., 9, 54-66.
[7]
Canny, J., Kaltofen, E., Lakshman, Y. (1989). Solving systems of non-linear polynomial equations faster. In Proceedings of ISSAC '89, Portland, OR, pp. 121-128. New York, ACM Press.
[8]
Cantor, D. G., Kaltofen, E. (1991). On fast multiplication of polynomials over arbitrary algebras. Acta Infor., 28, 693-701.
[9]
Chudnovsky, D. V., Chudnovsky, G. V. (1990). Computer algebra in the service of mathematical physics and number theory (computers in mathematics, Stanford, CA, 1986). In volume 125 of Lecture Notes in Pure and Applied Mathematics, pp. 109-232. New York, Dekker.
[10]
Cook, S. A. (1966). On the Minimum Computation Time of Functions. Ph.D. Thesis, Harvard University.
[11]
Cooley, J. W., Tukey, J. W. (1965). An algorithm for the machine calculation of complex Fourier series. Math. Comput., 19, 297-301.
[12]
Denise, A., Dutour, I., Zimmermann, P. (1998). Cs: a MuPAD package for counting and randomly generating combinatorial structures. In Proceedings of FPSAC'98, pp. 195-204. Sofware Demonstration.
[13]
Denise, A., Zimmermann, P. (1999). Uniform random generation of decomposable structures using floating-point arithmetic. Theor. Comput. Sci., 218, 219-232.
[14]
Flajolet, P., Salvy, B., Zimmermann, P. (1990). Automatic average-case analysis of algorithms. T. C. S., 79, 37-109.
[15]
Flajolet, P., Sedgewick, R. (1996). An Introduction to the Analysis of Algorithms. Reading, MA, Addison-Wesley.
[16]
Flajolet, P., Soria, M. (1991). The cycle construction. SIAM J. Discrete Math., 4, 48-60.
[17]
Flajolet, P., Zimmerman, P., Van Cutsem, B. (1994). A calculus for the random generation of labelled combinatorial structures. Theor. Comput. Sci., 132, 1-35.
[18]
Heideman, M. T., Johnson, D. H., Burrus, C. S. (1984). Gauss and the history of the fft. IEEE Acoust. Speech Signal Process. Magazine, 1, 14-21.
[19]
Karatsuba, A., Ofman, J. (1962). Dokl. Akad. Nauk SSSR, 7, 293-294. English translation in Karatsuba and Ofman (1963).
[20]
Karatsuba, A., Ofman, J. (1963). Multiplication of multidigit numbers on automata. Sov. Phys. Dokl., 7, 595-596.
[21]
Knuth, D. E. (1997). The Art of Computer Programming, volume 2 of Seminumerical Algorithms, 3rd edn, Addison-Wesley.
[22]
Kung, H. T., Traub, J. F. (1978). All algebraic functions can be computed fast. J. ACM, 25, 245-260.
[23]
Lecerf, G., Schost, É. (2001). Fast multivariate power series multiplication in characteristic zero. Technical Report 2001-1, France, GAGE, École polytechnique, 91228 Palaiseau.
[24]
Lipshitz, L. (1989). D-finite power series. J. Algeb., 122, 353-373.
[25]
Mulders, T. (2000). On short multiplication and division. AAECC, 11, 69-88.
[26]
Norman, A., Fitch, J. (1997). Cabal: polynomial and power series algebra on a parallel computer. In Hitz, M., Kaltofen, E. eds, Proceedings of PASCO '97, pp. 196-203. Maui, Hawaii.
[27]
Norman, A. C. (1975). Computing with formal power series. ACM Trans. Math. Software, 1, 346-356.
[28]
Nussbaumer, H. J. (1981). Fast Fourier Transforms and Convolution Algorithms. Springer.
[29]
Odlyzko, A. M. (1982). Periodic oscillations of coefficients of power series that satisfy functional equations. Adv. Math., 44, 180-205.
[30]
Pólya, G. (1937). Kombinatorische Anzahlbestimmungen für Gruppen, Graphen und chemische Verbindungen. Acta Math., 68, 145-254.
[31]
Richardson, D., Salvy, B., Shackell, J., van der Hoeven, J. (1996). Expansions of exp-log functions. In Lakhsman, Y. N. ed., Proceedings of ISSAC '96, pp. 309-313. Zürich, Switzerland.
[32]
Salvy, B. (1991). Asymptotique automatique et fonctions génératrices. Ph.D. Thesis, École polytechnique, France.
[33]
Salvy, B., Zimmermann, P. (1994). Gfun: a Maple package for the manipulation of generating and holonomic functions in one variable. ACM Trans. Math. Software, 20, 163-177.
[34]
Schönhage, A., Strassen, V. (1971). Schnelle Multiplikation grosser Zahlen. Computing, 7, 281-292.
[35]
Sieveking, M. (1972). An algorithm for division of power series. Computing, 10, 153-156.
[36]
Soria, M. (1990). Méthodes d'analyse pour les constructions combinatoires et les algorithmes. Ph.D. Thesis, University of Paris-Sud, Orsay, France.
[37]
Stanley, R. P. (1980). Differentially finite power series. Europ. J. Comb., 1, 175-188. MR # 81m:05012.
[38]
Stanley, R. P. (1999). Enumerative Combinatorics, volume 2. Cambridge University Press.
[39]
Stroustrup, B. (1995). The C++ Programming Language, 2nd edn. Addison-Wesley.
[40]
Toom, A. L. (1963a). The complexity of a scheme of functional elements realizing the multiplication of integers. Sov. Math., 4, 714-716.
[41]
Toom, A. L. (1963b). ???? . Dokl. Akad. Nauk SSSR, 150, 496-498. English translation in Toom (1963a).
[42]
van der Hoeven, J. (1997a). Automatic Asymptotics. Ph.D. Thesis, École polytechnique, France.
[43]
van der Hoeven, J. (1997b). Lazy multiplication of formal power series. In Küchlin, W. W. ed., Proceedings of ISSAC '97, pp. 17-20. Maui, Hawaii.
[44]
von Zurgathen, J., Gerhard, J., (1999). Modern Computer Algebra. Cambridge University Press.
[45]
Zeilberger, D. (1990). A holonomic systems approach to special functions identities. J. Comput. Appl. Math.,32, 321-368.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of Symbolic Computation
Journal of Symbolic Computation  Volume 34, Issue 6
December 2002
130 pages

Publisher

Academic Press, Inc.

United States

Publication History

Published: 01 December 2002

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Faster Modular CompositionJournal of the ACM10.1145/363834971:2(1-79)Online publication date: 10-Apr-2024
  • (2022)Polynomial Multiplication over Finite Fields in Time Journal of the ACM10.1145/350558469:2(1-40)Online publication date: 10-Mar-2022
  • (2022)On the Complexity of Symbolic ComputationProceedings of the 2022 International Symposium on Symbolic and Algebraic Computation10.1145/3476446.3535493(3-12)Online publication date: 4-Jul-2022
  • (2021)A Zero Test for σ-algebraic Power SeriesProceedings of the 2021 International Symposium on Symbolic and Algebraic Computation10.1145/3452143.3465549(187-192)Online publication date: 18-Jul-2021
  • (2021)On the Complexity and Parallel Implementation of Hensel’s Lemma and Weierstrass PreparationComputer Algebra in Scientific Computing10.1007/978-3-030-85165-1_6(78-99)Online publication date: 13-Sep-2021
  • (2020)On a non-archimedean broyden methodProceedings of the 45th International Symposium on Symbolic and Algebraic Computation10.1145/3373207.3404045(114-121)Online publication date: 20-Jul-2020
  • (2020)Power Series Arithmetic with the BPAS LibraryComputer Algebra in Scientific Computing10.1007/978-3-030-60026-6_7(108-128)Online publication date: 14-Sep-2020
  • (2019)Effective Power Series ComputationsFoundations of Computational Mathematics10.1007/s10208-018-9391-219:3(623-651)Online publication date: 1-Jun-2019
  • (2019)From implicit to recursive equationsApplicable Algebra in Engineering, Communication and Computing10.1007/s00200-018-0370-230:3(243-262)Online publication date: 1-Jun-2019
  • (2019)Computing with D-algebraic power seriesApplicable Algebra in Engineering, Communication and Computing10.1007/s00200-018-0358-y30:1(17-49)Online publication date: 1-Jan-2019
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media