The HolonomicFunctions package by
allows to deal with multivariate holonomic
functions and sequences in an algorithmic fashion. For this
purpose the package can compute annihilating ideals and execute
closure properties (addition, multiplication, substitutions) for such
functions. An annihilating ideal represents the set of linear
differential equations, linear recurrences, q-difference equations,
and mixed linear equations that a given function satisfies. Summation
and integration of multivariate holonomic functions can be performed
via creative telescoping. As subtasks, the following functionalities
have been implemented in HolonomicFunctions: computations in Ore
algebras (noncommutative polynomial arithmetic with mixed
difference-differential operators), noncommutative Gröbner bases,
and solving of coupled linear systems of differential or difference
Registration and Legal Notices
The source code for this package is password protected. To get the password
send an email to
It will be given for free to all researchers and non-commercial users.
Copyright © 1999–2012 The RISC Combinatorics Group, Austria — all rights reserved.
Commercial use of the software is prohibited without prior written permission.
A Note on Encoded Files
This package contains one or more Mathematica input files which are encoded. Those files
cannot be read or modified directly as plain text, but can be loaded into
Mathematica just like any normal input file (i.e., with
There is no need (and also no way) to decode them by using additional software
or a special key.
If loading an encoded file causes a syntax error, open it with a
text editor and remove any blank lines at the beginning (for some
reason your Mac could have inserted them silently...).
The package is contained in the Mathematica input file
and is accompanied by a large collection of examples to demonstrate its usage:
ExamplesV7.nb (for Mathematica version 7, last updated on August 9, 2011)
ExamplesV6.nb (for Mathematica version 6, last updated on August 9, 2011)
ExamplesV5.2.nb (for Mathematica version 5.2, last updated on August 9, 2011)
Right now you are using Version 1.6 released on April 12, 2012.
This version is compatible with Mathematica versions from 5.2 to 8.0.
Please report any bugs and comments to
The theoretical background of the algorithms implemented in
HolonomicFunctions is described in
- Advanced Applications of the Holonomic Systems Approach (PhD Thesis).
RISC-Linz, Johannes Kepler University, September 2009.
- A Fast Approach to Creative Telescoping. Mathematics in Computer Science 4(2-3), pp. 259-266. 2010.
The PhD thesis also contains a chapter about how to use the package.
All the commands that are contained in HolonomicFunctions are
described in detail in the documentation
- HolonomicFunctions (User's Guide). Christoph Koutschan.
Technical report no. 10-01 in RISC Report Series, University of Linz, Austria.
The package HolonomicFunctions has been applied in many different contexts, some of
which are listed below.
- From version 1.5.1 on, HolonomicFunctions provides the closure property
twisting q-holonomic sequences by complex roots of unity via the
command DFiniteQSubstitute; more details, examples, and applications in
quantum topology (Kashaev invariant of twist and pretzel knots) are
presented in the corresponding paper (see the above link).
- In Advanced Computer
Algebra for Determinants the package HolonomicFunctions was used to
carry out Zeilberger's holonomic ansatz (and variations thereof) for
determinant evaluations to solve three conjectures by George Andrews,
Guoce Xin, and Christian Krattenthaler.
- The proofs of some
evaluations of Pfaffians have been carried out with HolonomicFunctions.
- The article Lattice Green's
Functions of the Higher-Dimensional Face-Centered Cubic Lattices
by Christoph Koutschan studies random walks in certain lattices; these studies
involved heavy computer calculations.
- The Proof of George Andrews' and
David Robbins' q-TSPP conjecture was a remarkable result by Christoph Koutschan,
Manuel Kauers, and Doron Zeilberger, that settled a 25-years-old conjecture. The
computations which established its computer proof were done by HolonomicFunctions.
- The article "The integrals in Gradshteyn and Ryzhik. Part 18: Some automatic proofs"
by Christoph Koutschan and Victor Moll uses HolonomicFunctions to deals with some
integrals from the book by Gradshteyn and Ryzhik. The notebook
GR18.nb (for Mathematica version 7) contains the computations
for these examples.
- HolonomicFunctions was used in
The 1958 Pekeris-Accad-WEIZAC Ground-Breaking Collaboration that computed Ground States of
Two-Electron Atoms (and its 2010 Redux) by Christoph Koutschan and Doron Zeilberger.
- Ira Gessel's conjecture about the enumeration of certain random walks has been proven
by the computer, using the package HolonomicFunctions. The corresponding article is
Proof of Ira Gessel's Lattice Path Conjecture (Manuel Kauers, Christoph Koutschan,
Doron Zeilberger), Proceedings of the National Academy of Sciences 106(28),
pp. 11502-11505, July 2009.