gives the holonomic function , specified by the linear differential equation lde[h,x].


represents a pure holonomic function .


  • Mathematical function, suitable for both symbolic and numerical manipulation; also known as holonomic function and D-finite function.
  • The holonomic function defined by a DifferentialRoot function satisfies a holonomic differential equation with polynomial coefficients and initial values .
  • DifferentialRoot can be used like any other mathematical function.
  • FunctionExpand will attempt to convert DifferentialRoot functions in terms of special functions.
  • The functions representable by DifferentialRoot include a large number of special functions.
  • DifferentialRootReduce can convert most special functions to DifferentialRoot functions.
  • Holonomic functions are closed under many operations, including:
  • constant multiple, integer power
    sums and products
    composition with polynomial, rational, and algebraic functions
    derivatives and integrals
  • DifferentialRoot is automatically generated by functions such as Integrate, DSolve, and GeneratingFunction.
  • Functions such as Integrate, D, SeriesCoefficient, and DSolve work with DifferentialRoot inputs.
  • DifferentialRoot can be evaluated to arbitrary numerical precision.
  • DifferentialRoot automatically threads over lists.
  • DifferentialRoot[lde,pred] represents a solution restricted to avoid cuts in the complex plane defined by pred[z], where pred[z] can contain equations and inequalities.


open allclose all

Basic Examples  (2)

Define f to be the sin function:

Plot its result:

Solve a differential equation:

Numerical values:

Scope  (5)

Simple exact values are generated automatically:

DifferentialRoot threads element-wise over lists:

DifferentialRoot works on rational coefficients:

Inhomogeneous linear recurrences:

Solutions of a differential equation:

Generalizations & Extensions  (1)

Equations with holonomic constant terms are automatically lifted to polynomial coefficients:

Applications  (1)

Find the DifferentialRoot object of a special function:

Compute integrals:

Properties & Relations  (5)

Extract the differential equation from a DifferentialRoot object:

Extract branch cuts if any:

Use DifferentialRootReduce to generate DifferentialRoot objects:

Integrate a DifferentialRoot object:

Find coefficients of the expansion of a DifferentialRoot object:

Introduced in 2008