WOLFRAM

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

represents a pure holonomic function .

Details

  • 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
    convolution
    , 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.

Examples

open allclose all

Basic Examples  (2)Summary of the most common use cases

Define f to be the sin function:

Out[1]=1

Plot its result:

Out[2]=2

Evaluate numerically to any precision:

Out[3]=3

Compare the result with the built-in Sin function:

Out[4]=4

Solve a differential equation:

Out[1]=1

Numerical values:

Out[2]=2

Scope  (23)Survey of the scope of standard use cases

Numerical Evaluation  (7)

Evaluate at machine precision:

Out[1]=1

Evaluate to high precision:

Out[1]=1

The precision of the output tracks the precision of the input:

Out[1]=1

DifferentialRoot takes complex number parameters and arguments:

Out[1]=1
Out[2]=2

DifferentialRoot takes inexact input parameters:

Out[1]=1
Out[2]=2

Evaluate DifferentialRoot efficiently at high precision:

Out[1]=1

DifferentialRoot threads elementwise over lists and matrices:

Out[1]=1
Out[2]=2

Function Properties  (5)

DifferentialRoot objects have all the standard features of a mathematical function:

Out[1]=1

Integrate the function:

Out[2]=2

Differentiate it:

Out[3]=3

Find its series expansion:

Out[4]=4

Plot it on the reals:

Out[5]=5

Plot it in the complex plane:

Out[6]=6

Simple exact values are generated automatically:

Out[1]=1

Use FunctionExpand to attempt to convert a DifferentialRoot object to a built-in mathematical function:

Out[1]=1
Out[2]=2

DifferentialRoot works on equations with rational coefficients:

Out[1]=1

Inhomogeneous holonomic equations are automatically transformed to higher-order homogeneous ones:

Out[1]=1

Differentiation  (4)

The derivative of DifferentialRoot is a DifferentialRoot function:

Out[1]=1
Out[2]=2

Differentiate a DifferentialRoot object with respect to a parameter:

Out[1]=1
Out[2]=2

Compute higher-order derivatives of a DifferentialRoot object:

Out[1]=1
Out[2]=2
Out[3]=3
Out[4]=4

Differentiate a DifferentialRoot object:

Out[1]=1

Specific values of :

Out[2]=2

Plot of :

Out[3]=3

Integration  (4)

The integral of a DifferentialRoot object is a DifferentialRoot object:

Out[1]=1
Out[2]=2

Compute higher-order integrals of a DifferentialRoot object:

Out[1]=1
Out[2]=2

Compute the definite integral of a DifferentialRoot object:

Out[1]=1
Out[2]=2

Integrate a DifferentialRoot object:

Out[1]=1

Specific values of :

Out[2]=2

Plot of :

Out[3]=3

Series Expansions  (3)

Calculate the series expansion of a DifferentialRoot object:

Out[1]=1

Find the ^(th) coefficient of the Taylor expansion of a DifferentialRoot object:

Out[1]=1

Calculate the first 9 coefficients:

Out[2]=2

Compare with the Sin function expansion coefficients:

Out[3]=3

Calculate the series expansion of a DifferentialRoot object with a parameter:

Out[1]=1

Generalizations & Extensions  (1)Generalized and extended use cases

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

Out[1]=1

Applications  (4)Sample problems that can be solved with this function

Generate a DifferentialRoot object from a special function:

Out[1]=1

Integrate it:

Out[2]=2

DifferentialRoot objects have all the standard features of a mathematical function:

Out[1]=1

Find the coefficients of the series expansion of a DifferentialRoot object:

Out[2]=2

Calculate the first 5 coefficients of the expansion explicitly:

Out[3]=3

Compute arbitrary-order derivatives of a DifferentialRoot object:

Out[4]=4
Out[5]=5

Integrate the DifferentialRoot object:

Out[6]=6

Extract the differential equation and initial conditions of the function that is the integral of f:

Out[7]=7

Plot the function f, its integral and derivative functions:

Out[8]=8

Use DifferentialRoot to homogenize a differential equation:

Out[1]=1

Extract the homogenized equation:

Out[2]=2

Generate a DifferentialRoot object that is a combination of two mathematical functions:

Out[1]=1

Extract the differential equation and initial conditions that this function obeys:

Out[2]=2

Properties & Relations  (5)Properties of the function, and connections to other functions

DifferentialRootReduce generates DifferentialRoot objects:

Out[1]=1

DSolve generates a DifferentialRoot object if the solution is not available in known functions:

Out[1]=1

GeneratingFunction may generate a DifferentialRoot object:

Out[1]=1

Integrate returns a DifferentialRoot object for general holonomic functions:

Out[1]=1

D returns a DifferentialRoot object for general holonomic functions:

Out[1]=1

Possible Issues  (3)Common pitfalls and unexpected behavior

DifferentialRoot takes only linear differential equations with polynomial coefficients:

Out[1]=1

DifferentialRoot will not evaluate if the initial values are given at a singular point:

Out[1]=1

The branch cut structure of a built-in function may differ from the automatically computed branch cut structure:

Out[1]=1

For some regions of the complex plane, the value of f differs from corresponding built-in function value:

Out[2]=2
Out[3]=3

For other regions, DifferentialRoot will give the same result:

Out[4]=4
Out[5]=5

Neat Examples  (1)Surprising or curious use cases

Solve a differential equation that is unsolved in known mathematical functions:

Out[1]=1

Calculate the numerical values of this solution:

Out[2]=2

Plot this solution:

Out[3]=3

Differentiate this solution:

Out[4]=4
Wolfram Research (2008), DifferentialRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/DifferentialRoot.html (updated 2020).
Wolfram Research (2008), DifferentialRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/DifferentialRoot.html (updated 2020).

Text

Wolfram Research (2008), DifferentialRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/DifferentialRoot.html (updated 2020).

Wolfram Research (2008), DifferentialRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/DifferentialRoot.html (updated 2020).

CMS

Wolfram Language. 2008. "DifferentialRoot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/DifferentialRoot.html.

Wolfram Language. 2008. "DifferentialRoot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/DifferentialRoot.html.

APA

Wolfram Language. (2008). DifferentialRoot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DifferentialRoot.html

Wolfram Language. (2008). DifferentialRoot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DifferentialRoot.html

BibTeX

@misc{reference.wolfram_2025_differentialroot, author="Wolfram Research", title="{DifferentialRoot}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/DifferentialRoot.html}", note=[Accessed: 09-July-2025 ]}

@misc{reference.wolfram_2025_differentialroot, author="Wolfram Research", title="{DifferentialRoot}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/DifferentialRoot.html}", note=[Accessed: 09-July-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_differentialroot, organization={Wolfram Research}, title={DifferentialRoot}, year={2020}, url={https://reference.wolfram.com/language/ref/DifferentialRoot.html}, note=[Accessed: 09-July-2025 ]}

@online{reference.wolfram_2025_differentialroot, organization={Wolfram Research}, title={DifferentialRoot}, year={2020}, url={https://reference.wolfram.com/language/ref/DifferentialRoot.html}, note=[Accessed: 09-July-2025 ]}