DiscreteDelta[n1,n2,…]
gives the discrete delta function
, equal to 1 if all the ni are zero, and 0 otherwise.
DiscreteDelta
DiscreteDelta[n1,n2,…]
gives the discrete delta function
, equal to 1 if all the ni are zero, and 0 otherwise.
Details
- DiscreteDelta[0] gives 1; DiscreteDelta[n] gives 0 for other numeric n.
- DiscreteDelta has attribute Orderless.
- DiscreteDelta automatically threads over lists. »
Examples
open all close allBasic Examples (3)
Scope (26)
Numerical Evaluation (6)
DiscreteDelta[0.]DiscreteDelta[2.5, 3.5]DiscreteDelta[E, Catalan, (1/2)]DiscreteDelta[I]DiscreteDelta[2 - I, 2 - I]DiscreteDelta[2 - I, Pi - (1/4), 0.5I]DiscreteDelta always returns an exact result irrespective of the precision of the input:
DiscreteDelta[0.12345]Evaluate efficiently at high precision:
DiscreteDelta[2, 5, 10`100]//TimingDiscreteDelta[0``10000]//TimingCompute average-case statistical intervals using Around:
DiscreteDelta[ Around[2 / 3, 0.001]]Compute the elementwise values of an array using automatic threading:
DiscreteDelta[{{1, 0}, {5, 1}}]//FullSimplifyOr compute the matrix DiscreteDelta function using MatrixFunction:
MatrixFunction[DiscreteDelta, {{1, 0}, {5, 1}}]//FullSimplifySpecific Values (4)
DiscreteDelta[0]Multi‐argument form gives 1 when all inputs are zero:
DiscreteDelta[0, 0]DiscreteDelta[0, 0, 0]DiscreteDelta[0, 0, 0, 0]DiscreteDelta[Infinity]Assuming[x < 0 && y > 0, Refine[DiscreteDelta[x, x, y]]]PiecewiseExpand[DiscreteDelta[ x, y], -2 < x < 2]Visualization (3)
Plot the single-argument DiscreteDelta using integer-width bins:
DiscretePlot[DiscreteDelta[x], {x, -2, 2}, ExtentSize -> Full]Visualize DiscreteDelta over the reals. Except for a jump at
, it is indistinguishable from a zero function:
Plot[{DiscreteDelta[x], 0}, {x, -2, 2}, PlotStyle -> {StandardBlue, StandardRed}, AxesOrigin -> {-2, -1}, PlotLegends -> "Expressions", Epilog -> {StandardBlue, PointSize[Large], Point[{0, DiscreteDelta[0]}]}]Plot DiscreteDelta in three dimensions:
DiscretePlot3D[DiscreteDelta[x, y], {x, -2, 2}, {y, -2, 2}, ExtentSize -> Full, ColorFunction -> "TemperatureMap"]Function Properties (9)
DiscreteDelta is defined for all real and complex inputs:
FunctionDomain[DiscreteDelta[x1, x2, x3], {x1, x2, x3}]FunctionDomain[DiscreteDelta[x1, x2, x3], {x1, x2, x3}, Complexes]Function range of DiscreteDelta:
FunctionRange[DiscreteDelta[x1, x2, x3], {x1, x2, x3}, y]The function range for complex values is the same:
FunctionRange[DiscreteDelta[x1, x2, x3], {x1, x2, x3}, y, Complexes]DiscreteDelta is not an analytic function:
FunctionAnalytic[DiscreteDelta[x, y], {x, y}]Has both singularities and discontinuities:
FunctionSingularities[DiscreteDelta[x, y], {x, y}]FunctionDiscontinuities[DiscreteDelta[x, y], {x, y}]DiscreteDelta is neither nondecreasing nor nonincreasing:
FunctionMonotonicity[DiscreteDelta[x], x]DiscreteDelta is not injective:
FunctionInjective[DiscreteDelta[x, y], {x, y}]DiscreteDelta is not surjective:
FunctionSurjective[DiscreteDelta[x, y], {x, y}]DiscreteDelta is non-negative:
FunctionSign[DiscreteDelta[x], x]DiscreteDelta is neither convex nor concave:
FunctionConvexity[DiscreteDelta[x], x]TraditionalForm typesetting:
DiscreteDelta[n, m] // TraditionalFormDifferentiation and Integration (4)
First derivative with respect to x:
D[DiscreteDelta[x, y], x]Series expansion at a generic point:
Series[DiscreteDelta[x1, x2], {x1, x0, 2}]// FullSimplifyCompute the indefinite integral using Integrate:
Integrate[DiscreteDelta[x, y], x]FullSimplify[D[%, x]]Integrate[DiscreteDelta[x, y], {x, 0, 5}]Integrate[DiscreteDelta[x, y]DiscreteDelta[x, z], x]Applications (4)
Use in sums to pick out terms:
Sum[DiscreteDelta[k ^ 2 + j - 25]f[k, j], {k, 1, Infinity}, {j, 1, Infinity}]ArrayPlot[Table[DiscreteDelta[Mod[Fibonacci[2m, 3n], 5]], {n, 1, 120, 2}, {m, 60}]]Patch pointwise values of piecewise‐defined functions:
{ListLinePlot[Table[{x, UnitStep[x] + UnitStep[-x]}, {x, -5, 5}]], ListLinePlot[Table[{x, UnitStep[x] + UnitStep[-x] - DiscreteDelta[x]}, {x, -5, 5}]]}Define some finite duration signals:
x1[n_] := DiscreteDelta[n] - 2DiscreteDelta[n - 1] + DiscreteDelta[n - 2]
x2[n_] := Piecewise[{{1, 0 <= n <= 5}}]Plot the signals in the time domain:
DiscretePlot[{x1[n], x2[n]}, {n, 0, 5}]To find the convolution of these signals, first calculate the product of the transforms:
BilateralZTransform[x1[n], n, z]BilateralZTransform[x2[n], n, z]Then, perform inversion back to the time domain:
InverseBilateralZTransform[%, z, n]Plot the convolution in the time domain:
DiscretePlot[%, {n, 0, 8}]Alternatively, find the convolution using DiscreteConvolve:
DiscreteConvolve[x1[k], x2[k], k, n]//SimplifyProperties & Relations (3)
Reduce an equation containing DiscreteDelta:
Reduce[a - DiscreteDelta[a ^ 2 + 4, 2a - 2] == 2 && -10 < a < 10, a, Integers]The support of DiscreteDelta has measure zero:
Integrate[DiscreteDelta[x], {x, -1, 1}]DiscreteDelta can be represented as a DifferenceRoot:
DifferenceRootReduce[DiscreteDelta[k], k]Possible Issues (2)
DiscreteDelta can stay unevaluated with numeric arguments:
DiscreteDelta[Sqrt[2 - Sqrt[2 + Sqrt[2]]] / 2 - Sin[Pi / 16]]A larger setting for $MaxExtraPrecision can be needed:
N[%, 20]Block[{$MaxExtraPrecision = 1000},
DiscreteDelta[1 - Sqrt[2 - Sqrt[2 + Sqrt[2]]] / 2 + Sin[Pi / 16] + 10 ^ -100]]Equality testing of the arguments takes numerical precision into account:
DiscreteDelta[1, 1.00000000000001]Tech Notes
Related Guides
Related Links
History
Introduced in 1999 (4.0)
Text
Wolfram Research (1999), DiscreteDelta, Wolfram Language function, https://reference.wolfram.com/language/ref/DiscreteDelta.html.
CMS
Wolfram Language. 1999. "DiscreteDelta." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DiscreteDelta.html.
APA
Wolfram Language. (1999). DiscreteDelta. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DiscreteDelta.html
BibTeX
@misc{reference.wolfram_2026_discretedelta, author="Wolfram Research", title="{DiscreteDelta}", year="1999", howpublished="\url{https://reference.wolfram.com/language/ref/DiscreteDelta.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_discretedelta, organization={Wolfram Research}, title={DiscreteDelta}, year={1999}, url={https://reference.wolfram.com/language/ref/DiscreteDelta.html}, note=[Accessed: 13-June-2026]}