DifferenceDelta[f,i]
gives the discrete difference
.
DifferenceDelta[f,{i,n}]
gives the multiple difference
.
DifferenceDelta[f,{i,n,h}]
gives the multiple difference with step h.
DifferenceDelta[f,i,j,…]
computes the partial difference with respect to i, j, ….
DifferenceDelta
DifferenceDelta[f,i]
gives the discrete difference
.
DifferenceDelta[f,{i,n}]
gives the multiple difference
.
DifferenceDelta[f,{i,n,h}]
gives the multiple difference with step h.
DifferenceDelta[f,i,j,…]
computes the partial difference with respect to i, j, ….
Details and Options
- DifferenceDelta[f,i] can be input as if. The character is entered
diffd
or \[DifferenceDelta]. The variable i is entered as a subscript. - All quantities that do not explicitly depend on the variables given are taken to have zero partial difference.
- DifferenceDelta[f,i,j] can be input as i,jf. The character \[InvisibleComma], entered as
,
, can be used instead of the ordinary comma. - DifferenceDelta[f,{i,n,h}] can be input as { i,n,h }f.
- DifferenceDelta[f,…,Assumptions->assum] uses the assumptions assum in the course of computing discrete differences.
Examples
open all close allBasic Examples (4)
DifferenceDelta[f[i], i]DifferenceDelta[f[i], {i, 1, h}]The fifth difference with respect to i:
DifferenceDelta[Sin[a i + b], {i, 5}]The second difference with respect to i and step h:
DifferenceDelta[Cosh[a i + b], {i, 2, h}]Enter using
diffd
, and subscripts using
:
Subscript[, i]FactorialPower[i, n]DifferenceDelta is the inverse operator to Sum:
Subscript[, i]Subscript[∑, i]f[i]Subscript[∑, i]Subscript[, i]f[i]Scope (21)
Basic Use (5)
Compute the first and second difference:
DifferenceDelta[f[i], i]DifferenceDelta[f[i], {i, 2}]Compute the first and second difference with step h:
DifferenceDelta[f[i], {i, 1, h}]DifferenceDelta[f[i], {i, 2, h}]The first partial difference
:
DifferenceDelta[f[i, j], i, j]DifferenceDelta[f[i, j], {i, 2}, j]Partial differences with steps r and s:
DifferenceDelta[f[i, j], {i, 1, r}, {j, 1, s}]DifferenceDelta threads over lists:
DifferenceDelta[{f[i], g[i]}, i]Special Sequences (11)
DifferenceDelta[i ^ 3, i]Each difference will lower the degree by one:
Table[DifferenceDelta[i ^ 3, {i, n}], {n, 4}]FactorialPower is typically more convenient than Power for discrete operations:
DifferenceDelta[FactorialPower[i, 3], i]You can always convert to a Power representation through FunctionExpand:
FunctionExpand[FactorialPower[i, 3]]DifferenceDelta on FactorialPower has the same effect as D on Power:
DifferenceDelta[FactorialPower[i, n], {i, 3}]D[Power[i, n], {i, 3}]DifferenceDelta[(i + 1) / (i + 3), i]Differences of rational functions will stay as rational functions:
Table[DifferenceDelta[(i + 1) / (i + 3), {i, n}], {n, 2}]Negative powers of FactorialPower are rational functions:
FactorialPower[i, -3]//FunctionExpandTheir differences are particularly simple:
DifferenceDelta[FactorialPower[i, -3], i]Differences of PolyGamma are rational functions:
Table[DifferenceDelta[PolyGamma[n, i], i], {n, 0, 4}]PolyGamma in discrete calculus plays a role similar to Log in continuous calculus:
Sum[1 / i, i]Integrate[1 / x, x]HarmonicNumber and Zeta also produce rational function differences:
DifferenceDelta[HarmonicNumber [i, 2], i]DifferenceDelta[Zeta[2, i], i]DifferenceDelta[a ^ i, i]Differences of exponentials stay exponentials:
Table[DifferenceDelta[a ^ i, {i, n}], {n, 3}]DifferenceDelta[a ^ i, {i, n}]Binary powers
play the same role for DifferenceDelta that
does for D:
DifferenceDelta[2 ^ i, i]D[Exp[x], x]DifferenceDelta[(i ^ 2 + i + 1)2 ^ i, i]Polynomial exponentials stay polynomial exponentials:
Table[DifferenceDelta[(i ^ 2 + i + 1)2 ^ i, {i, n}], {n, 2}]//SimplifyDifferenceDelta[(i + 1) / (i + 3)2 ^ i, i]Rational exponentials stay rational exponentials:
Table[DifferenceDelta[(i + 1) / (i + 3)2 ^ i, {i, n}], {n, 2}]Differences of LerchPhi times exponential are rational exponentials:
DifferenceDelta[λ^iLerchPhi[λ, 2, i], i]Table[DifferenceDelta[λ^iLerchPhi[λ, n, i], i], {n, 2, 5}]Trigonometric and hyperbolic functions:
DifferenceDelta[Sin[a i + b], i]DifferenceDelta[Sinh[a i + b], i]Differences of trigonometric functions stay trigonometric:
Table[DifferenceDelta[Sin[a i + b], {i, n}], {n, 2}]DifferenceDelta[Sin[a i + b], {i, n}]DifferenceDelta[Pochhammer[i, n], i]DifferenceDelta[FactorialPower[i, n], i]DifferenceDelta[i!, i]DifferenceDelta[Binomial[i + n, n], i]DifferenceDelta[Gamma[i], i]DifferenceDelta[Beta[i, n], i]A general hypergeometric term is defined by having a rational DiscreteRatio:
DiscreteRatio[(FactorialPower[a, i]/FactorialPower[b, i]), i]The difference of hypergeometric will produce a rational function times a hypergeometric term:
DifferenceDelta[(FactorialPower[a, i]/FactorialPower[b, i]), i]The difference of a q-hypergeometric term is a q-rational multiple of the input:
DifferenceDelta[QFactorial[i, q], i]DifferenceDelta[QGamma[i, q], i]DifferenceDelta[QPochhammer[5, q, i], i]DifferenceDelta[QBinomial[i, m, q], i]DifferenceDelta[QBinomial[n, i, q], i]DifferenceDelta[Fibonacci[i + 5], {i, 2}]Holonomic sequences of order 2:
DifferenceDelta[LucasL[i + 5], {i, 3}]DifferenceDelta[ChebyshevT[i, x], {i, 3}]DifferenceDelta[BesselJ[i + 2, x], {i, 3}]The difference of GammaRegularized with respect to i is a hypergeometric term:
DifferenceDelta[GammaRegularized[i, z], i]Similarly for BetaRegularized:
DifferenceDelta[BetaRegularized[z, i, j], i]DifferenceDelta[BetaRegularized[z, i, j], j]The difference for MarcumQ is expressed in terms of BesselI:
DifferenceDelta[MarcumQ[i, a, z], i]Special Operators (5)
DifferenceDelta[Sum[f[i], i], i]Sum[DifferenceDelta[f[i], i], i]Differencing under the summation sign:
DifferenceDelta[Sum[f[i, j], i], j]Differencing with respect to summation limits:
DifferenceDelta[Sum[f[i], {i, j + a, j + b}], j]DifferenceDelta[Product[f[i, j], i], j]Differencing with respect to product limits:
DifferenceDelta[Product[f[i], {i, m, n}], m]DifferenceDelta[Product[f[i], {i, m, n}], n]DifferenceDelta[Integrate[f[i], i], i]DifferenceDelta[Integrate[f[i, j], i], j]Differencing integration limits:
DifferenceDelta[Integrate[f[i], {i, a, j}], j]DifferenceDelta[Limit[f[i], i -> j], j]Here the i variable is scoped and not free:
DifferenceDelta[Limit[f[i], i -> j], i]Applications (9)
Sums and Difference Equations (3)
Verify the answer for an indefinite sum:
Sum[i ^ 2 + i i!, i]DifferenceDelta[%, i]Construct an exact difference form:
DifferenceDelta[u[i] ^ 2 + E ^ v[i] + w ^ z[i], i]The indefinite sum may differ by a constant:
Sum[%, i]Use DifferenceDelta to define difference equations:
RSolve[DifferenceDelta[u[n], n] + (n + 1) u[n] == 0, u, n]RSolve[ n DifferenceDelta[u[n], {n, 2}] + (n - 2)DifferenceDelta[u[n], {n, 1}] - u[n] == 0, u, n ]Additional Operators (3)
Define a symbolic Mean operator for sequences through DifferenceDelta:
DiscreteMean[f_, i_] := Simplify[(-1) ^ (i + 1)DifferenceDelta[(-1) ^ i f, i] / 2, i∈Integers]DiscreteMean[f[i], i]Use it for any special sequences:
DiscreteMean[i, i]DiscreteMean[Sin[a i + b], i]Define a backward difference operator:
BackwardDifference[f_, i_] := -DifferenceDelta[f, {i, 1, -1}]BackwardDifference[f[i], i]Use it for any special sequences and operators:
BackwardDifference[Pochhammer[i, 3], i]BackwardDifference[FactorialPower[i, 3, -1], i]Define a symmetric difference operator:
SymmetricDiff[f_, i_] := DiscreteShift[DifferenceDelta[f, i], {i, 1, -1 / 2}]SymmetricDiff[f[i], i]Use for any special functions and operators:
SymmetricDiff[i ^ 3, i]SymmetricDiff[2 ^ i, i]SymmetricDiff[Sum[f[i], i], i]Factorial Series (2)
Define a factorial power series:
FactorialSeries[f_, {x_, x0_, n_, h_ : 1}] := Sum[(DifferenceDelta[f, {x, i, h}] /. x -> x0)FactorialPower[x - x0, i, h] / (h ^ i i!), {i, 0, n}]The factorial series is exact for polynomials when the order is larger than the degree:
FactorialSeries[x ^ 2 + x + 1, {x, 0, 3}]FullSimplify[%]The series is also a Newton series, which is computed by InterpolatingPolynomial:
InterpolatingPolynomial[Table[{x, x ^ 2 + x + 1}, {x, 0, 3}], x]Expand[%]Factorial power series approximate general functions:
FactorialSeries[Sin[x / 5], {x, 0, 2}]FullSimplify[%]The approximation gets better for higher degree:
Plot[Evaluate@Table[FactorialSeries[Sin[x / 5], {x, 0, n}], {n, 1, 5}], {x, -5Pi, 5Pi}, Ticks -> {{-5Pi, 0, 5Pi}, Automatic}]Factorial power series interpolate exactly at a sequence of points:
FactorialSeries[Sin[x / 5], {x, 0, 2}](% /. Table[{x -> i}, {i, 0, 2}]) - Table[Sin[x / 5], {x, 0, 2}]//SimplifyCompare to power series that interpolate a sequence of derivatives exactly at a single point:
Normal@Series[Sin[x / 5], {x, 1, 2}]Table[D[%, {x, i}], {i, 0, 2}] - Table[D[Sin[x / 5], {x, i}], {i, 0, 2}] /. x -> 1//SimplifyDefine the n
coefficient for a factorial power series:
FactorialSeriesCoefficient[f_, {x_, x0_, n_, h_ : 1}] := (DifferenceDelta[f, {x, n, h}] /. x -> x0) / (h ^ n n!)The coefficient for FactorialPower[x,2]:
FactorialSeriesCoefficient[3x ^ 2 + x + 1, {x, 0, 2}]FactorialSeriesCoefficient[Sin[x / 5], {x, 0, 2}]The coefficient for FactorialPower[x,n]:
FactorialSeriesCoefficient[Sin[x / 5], {x, 0, n}]FactorialSeriesCoefficient[Exp[x], {x, 0, n}]Probability and Statistics (1)
The PDF of a discrete probability distribution can be computed from the CDF of the distribution by using DifferenceDelta:
cdf = CDF[BernoulliDistribution[p], k]DifferenceDelta[%, k, Assumptions -> Element[k, Integers]]Verify that the result agrees with the PDF:
PDF[BernoulliDistribution[p], k + 1]//SimplifyProperties & Relations (7)
DifferenceDelta is a linear operator:
Subscript[, i](a f[i] + b g[i])Subscript[, i](f[i]g[i])f[i]Subscript[, i]g[i] + Subscript[, i]f[i]Subscript[, i]g[i]Simplify[%% - %]Subscript[, i](f[i]/g[i])(g[i]Subscript[, i]f[i] - f[i]Subscript[, i]g[i]/g[i]Subscript[, i]g[i])Simplify[%% - %]DifferenceDelta satisfies a Leibniz product rule:
LeibnizDifference[f_, g_, {i_, n_}] := Underoverscript[∑, k = 0, n]Binomial[n, k](Subscript[, {i, k}]f) (Subscript[, {i, n - k}]Subscript[, {i, k}]g)LeibnizDifference[f[i], g[i], {i, 2}]DifferenceDelta[f[i]g[i], {i, 2}]Simplify[%% - %]DifferenceDelta is the inverse operation of Sum:
Subscript[∑, i]Subscript[, i]f[i]Subscript[, i]Subscript[∑, i]f[i]DifferenceDelta can be expressed in terms of DiscreteShift:
DifferenceDeltaShift[f_, {i_, n_}] := Underoverscript[∑, k = 0, n]Binomial[n, k](-1)^n - kSubscript[, {i, k}]fDifferenceDeltaShift[f[i], {i, 2}]DifferenceDelta[f[i], {i, 2}]DiscreteShift can be expressed in terms of DifferenceDelta:
DiscreteShiftDelta[f_, {i_, n_}] := Underoverscript[∑, k = 0, n]Binomial[n, k]Subscript[, {i, k}]fDiscreteShiftDelta[f[i], {i, 2}]DiscreteShift[f[i], {i, 2}]Simplify[%% - %]DifferenceDelta is the discrete analog of D:
(1/h)Subscript[, {x, 1, h}]f[x]Limit[%, h -> 0, Analytic -> True](1/h^2)Subscript[, {x, 2, h}]f[x]Limit[%, h -> 0, Analytic -> True]Use Differences to compute differences of list elements:
Table[Evaluate@DifferenceDelta[f[i], i], {i, 3}]Differences[Table[f[i], {i, 4}]]Table[Evaluate@DifferenceDelta[f[i], {i, 2}], {i, 3}]Differences[Table[f[i], {i, 5}], 2]Express DifferenceDelta in terms of DiscreteRatio:
DifferenceDelta[y[n], n] == (DiscreteRatio[y[n], n] - 1) y[n]//SimplifyNeat Examples (1)
See Also
Sum DiscreteShift DiscreteRatio DifferenceQuotient RSolve FactorialPower D ReplaceAll Differences
Characters: \[DifferenceDelta]
Related Guides
History
Text
Wolfram Research (2008), DifferenceDelta, Wolfram Language function, https://reference.wolfram.com/language/ref/DifferenceDelta.html.
CMS
Wolfram Language. 2008. "DifferenceDelta." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DifferenceDelta.html.
APA
Wolfram Language. (2008). DifferenceDelta. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DifferenceDelta.html
BibTeX
@misc{reference.wolfram_2026_differencedelta, author="Wolfram Research", title="{DifferenceDelta}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/DifferenceDelta.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_differencedelta, organization={Wolfram Research}, title={DifferenceDelta}, year={2008}, url={https://reference.wolfram.com/language/ref/DifferenceDelta.html}, note=[Accessed: 12-June-2026]}