DifferentialRootReduce[expr,x]
attempts to reduce expr to a single DifferentialRoot object as a function of x.
DifferentialRootReduce[expr,{x,x0}]
takes the initial conditions to be specified at x=x0.
DifferentialRootReduce
DifferentialRootReduce[expr,x]
attempts to reduce expr to a single DifferentialRoot object as a function of x.
DifferentialRootReduce[expr,{x,x0}]
takes the initial conditions to be specified at x=x0.
Details and Options
- DifferentialRootReduce will attempt to represent any expression as a DifferentialRoot object.
- DifferentialRootReduce[expr,x] always gives exactly
when the DifferentialRoot object for expr is equivalent to the zero function. - DifferentialRootReduce automatically threads over lists, as well as equations and inequalities.
- DifferentialRootReduce[f] operates on a pure function or pure DifferentialRoot object.
- DifferentialRootReduce takes the following options:
-
Assumptions $Assumptions assumptions to make about parameters Method Automatic method to use
Examples
open all close allBasic Examples (1)
Reduce the Bessel function to a DifferentialRoot:
DifferentialRootReduce[BesselJ[1, x], x]Plot[%, {x, 0, 10}]Scope (9)
DifferentialRootReduce[x ^ 2 + 1, x]DifferentialRootReduce[(x + 1) / (x - 1), x]DifferentialRootReduce[Sqrt[x^2 + x - 1], x]Reduction of a trigonometric function expressed as a pure function:
DifferentialRootReduce[Sin[#] + Cos[#]&]Plot[DifferentialRoot[Function[{, }, {[] + Derivative[2][][] == 0, [0] == 1,
Derivative[1][][0] == 1}]][x], {x, -2π, 2π}]DifferentialRootReduce[Cos[x] + Log[x], x]DifferentialRootReduce[Cos[x]Log[x], x]DifferentialRootReduce[Cos[x]^2 - Exp[x] / (x + 1), x]DifferentialRootReduce threads automatically over lists:
DifferentialRootReduce[{Cos[x], Sin[x]}, x]Create a differential representation of
with an automatically located initial point:
root1 = DifferentialRootReduce[Sqrt[z], z]Extracting the initial condition, it was specified at
:
Cases[root1, [_ ? NumericQ] == _, -1, Heads -> True]This makes the representation valid in the right half-plane, due to the branch cut on the negative real axis:
Table[{z, root1}, {z, {1. + I, 1. - I, -1. - I, -1. + I}}]//TableFormInstruct DifferentialRootReduce to specify the initial condition at
:
root2 = DifferentialRootReduce[Sqrt[z], {z, I}]root2 is valid in the upper half-plane and agrees with root1 in the first quadrant where both are defined:
Table[{z, root2}, {z, {1. + I, 1. - I, -1. - I, -1. + I}}]//TableFormInstruct DifferentialRootReduce to specify the initial condition at
:
root3 = DifferentialRootReduce[Sqrt[z], {z, -I}]This gives a representation in the lower half-plane:
Table[{z, root3}, {z, {1. + I, 1. - I, -1. - I, -1. + I}}]//TableFormOptions (2)
Assumptions (1)
DifferentialRootReduce is sensitive to the branch cut structure of complex analytic functions:
expr = x^1 / 2 x^1 / 2;
DifferentialRootReduce[expr, x]Specifying the domain and branch regime yields a different DifferentialRoot representation:
DifferentialRootReduce[expr, x, Assumptions -> x < 0]Method (1)
DifferentialRootReduce can give non-homogeneous equations:
DifferentialRootReduce[Exp[x] + x, x]Use the option Method->"Homogeneous" to get an homogeneous equation:
DifferentialRootReduce[Exp[x] + x, x, Method -> "Homogeneous"]Applications (3)
Use DifferentialRootReduce to generate the differential equations with initial values for elementary functions:
DifferentialRootReduce[{Exp[x], Log[x], Sqrt[x], ArcTanh[x], Sinh[x]}, x]Use DifferentialRootReduce to generate the differential equations with initial values for special functions:
DifferentialRootReduce[{LegendreQ[n, x], SphericalBesselJ[n, x], Hypergeometric2F1[a, b, c, x], Erfi[x], AiryAiPrime[x]}, x]Use DifferentialRootReduce to generate the differential equations that obey combinations of different functions:
DifferentialRootReduce[{Exp[x] + 2Log[a x], (4Sin[x^12]/Sqrt[x]) }, x]Related Guides
History
Introduced in 2008 (7.0) | Updated in 2020 (12.2)
Text
Wolfram Research (2008), DifferentialRootReduce, Wolfram Language function, https://reference.wolfram.com/language/ref/DifferentialRootReduce.html (updated 2020).
CMS
Wolfram Language. 2008. "DifferentialRootReduce." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/DifferentialRootReduce.html.
APA
Wolfram Language. (2008). DifferentialRootReduce. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DifferentialRootReduce.html
BibTeX
@misc{reference.wolfram_2026_differentialrootreduce, author="Wolfram Research", title="{DifferentialRootReduce}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/DifferentialRootReduce.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_differentialrootreduce, organization={Wolfram Research}, title={DifferentialRootReduce}, year={2020}, url={https://reference.wolfram.com/language/ref/DifferentialRootReduce.html}, note=[Accessed: 13-June-2026]}