Skip to content

DifferentialRoot ​

A holonomic (D-finite) function object — a linear ODE with polynomial(x) coefficients plus enough derivatives at one point, exactly as DifferentialRootReduce emits it. Applied to a real number, it sums the ODE's Taylor series about the stored expansion point numerically; applied to anything it can't sum (a symbolic point, or one outside the radius of convergence), it stays inert. Provided by @enumeratio/analytic.

Wolfram LanguageDifferentialRoot
DifferentialRoot(fn)(x0)the function's value at x0x_0, by summing the Taylor series the ODE (and the stored initial derivatives) determine.
Typed signatures
TypePackageApplies
(any) -> anyanalyticalways

Domain: Special functions

Details
  • Ordinarily built by DifferentialRootReduce rather than by hand — the example below constructs one directly (the defining ODE of exe^x) to show the evaluation contract on its own.
  • Numeric only, unlike DifferenceRoot's exact rational arithmetic — this is the one place this package computes a numeric-only answer by design (see difference-root.ts's header).
  • Attached to the native Apply operator the same way DifferenceRoot is (never redeclares it), so only a call whose head is DifferentialRoot(...) is intercepted.
  • Declines when the expansion point is not an ordinary point of the ODE (the leading coefficient vanishes there), or the series hasn't visibly settled within a generous term budget — most often because the target is outside the radius of convergence.

Examples

Basic #

y′=yy' = y, y(0)=1y(0){=}1: y(2)=e2y(2) = e^2

live ↗
InDifferentialRoot((y,x)↦{y′(x)−y(x)=0y(0)=1)⊲2\mathrm{DifferentialRoot}((y, x)↦\begin{cases}y^{\prime}(x)-y(x)=0\\y(0)=1\end{cases})\lhd2Out7.389 056 098 930 6497.389\,056\,098\,930\,649
About
Examples1
CrosswalkWolfram Language

See also: DifferentialRootReduce, DifferenceRoot