**HolonomicFunctions**: A Mathematica package for dealing with multivariate holonomic functions, including closure properties, summation, and integration¶

This package is part of the RISCErgoSum bundle. See Download and Installation.

## Short Description¶

The `HolonomicFunctions`

package 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
equations.

## Accompanying Files¶

- ExamplesV11.nb
for Mathematica version 11

- ExamplesV10.nb
for Mathematica version 10

- ExamplesV9.nb
for Mathematica version 9

- ExamplesV8.nb
for Mathematica version 8

- ExamplesV7.nb
for Mathematica version 7

- ExamplesV6.nb
for Mathematica version 6

- ExamplesV5.2.nb
for Mathematica version 5.2

Right now you are using Version 1.7.3 released on March 17, 2017. This version is compatible with Mathematica versions from 5.2 to 11.0. Please report any bugs and comments to Christoph Koutschan.

## Literature¶

The theoretical background of the algorithms implemented in HolonomicFunctions and how to use the package, is described in

The PhD thesis also contains a chapter about how to use the package. All the commands that are contained in HolonomicFunctions are in detail described in the documentation

C. Koutschan,

HolonomicFunctions (User’s Guide), Technical report no. 10-01 in RISC Report Series, University of Linz, Austria. January 2010. [pdf]

## Some Applications¶

The package HolonomicFunctions has been applied in many different contexts, some of which are listed below.

In Inverse inequality estimates with symbolic computation the HolonomicFunctions package was used to evaluate holonomic determinants that arose in numerical analysis.

By means of the holonomic gradient method, the HolonomicFunctions package contributed to the analysis of wireless communication networks, as described in the papers MIMO zero-forcing performance evaluation using the holonomic gradient method and Exact ZF analysis and computer-algebra-aided evaluation in rank-1 LoS Rician fading.

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.

In physics, the HolonomicFunctions package has contributed to the evaluation of relativistic Coulomb integrals and to the study of fundamental laser modes in paraxial optics.

In numerical analysis, finite element methods are used to construct approximate solutions to partial differential equations. In some instances, HolonomicFunctions was able to derive the differential-difference relations between the basis functions, that are necessary for an efficient implementation for Maxwell’s equations; this work finally led to a registered patent.

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. This work has been awarded the David P. Robbins Prize 2016 of the American Mathematical Society.

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.

The HolonomicFunctions package is registered in swMATH, where a more extensive list of papers using and citing the package can be found.