Normal
Details
- Possible heads h and hi in Normal[expr,h] and Normal[expr,{h1,h2,…}] are converted as follows:
-
Association list of rules Column ordinary list ConditionalExpression expression in the first argument CylindricalDecompositionFunction Boolean combination of equations and inequalities Dataset lists and associations Dispatch list of rules FittedModel best fit function GraphicsComplex ordinary lists of graphics primitives and directives Grid list of lists Quantity (purely numeric units) numbers RootSum explicit sums of Root objects Row ordinary list Series or SeriesData expression with higher-order terms truncated SparseArray ordinary array StructuredArray ordinary array QuantityArray, SymmetrizedArray ordinary array TemporalData ordinary array of time-value pairs TimeSeriesModel underlying time series process
Examples
open all close allBasic Examples (3)
Create a normal dense list from a sparse array:
SparseArray[{4 -> a, 9 -> b}]Normal[%]Create a normal expression from a series expansion:
Series[Exp[x], {x, 0, 5}]Normal[%]Convert an association to a list of rules:
Normal[<|a -> b, c -> d|>]Normal acts on the first level only:
Normal[<|a -> <|b -> c|>, d -> <|e -> f|>|>]Scope (7)
Convert RootSum objects to Root objects:
int = Integrate[1 / (x ^ 5 + 11 x + 1), {x, 1, 3}]nint = Normal[int]Typically the RootSum objects will give more accurate numerical values:
N[int]N[nint]Convert from a GraphicsComplex object to graphics primitives:
gc = GraphicsComplex[{{1.2, 3.5}, {5.6, 7.2}}, {Point[1], Line[{1, 2}]}];g = Normal[gc]Both forms produce the same image:
{Graphics[gc], Graphics[g]}Normal will affect expressions nested inside other expressions:
t = Table[SparseArray[{i_, i_} -> j / i, {j, j}], {j, 3}]Normal[t]Normal converts different types of expressions by default:
list = {SparseArray[{4 -> a, 9 -> b}], Series[Exp[x], {x, 0, 5}], <|a -> b, c -> d|>}Normal[list]Convert only the sparse array:
Normal[list, SparseArray]Normalize the series and the association but not the sparse array:
Normal[list, {Series, Association}]Convert CylindricalDecompositionFunction to equations and inequalities:
CylindricalDecomposition[x ^ 2 + y ^ 2 ≤ 1, {x, y}, "Function"]Normal[%]Convert LightDarkSwitched to a literal color directive:
Normal[LightDarkSwitched[Blue, Green]]//InputFormConvert ThemeColor to a literal color directive:
Normal[ThemeColor["Accent1"]]//InputFormApplications (1)
Compare the actual error to the theoretical asymptotic error for a difference quotient:
dq[f_][x_][h_] := (f[x + h] - 2f[x] + f[x - h]) / h ^ 2ps = Series[dq[f][x][h], {h, 0, 3}]Asymptotic truncation error for small
:
err[f_][x_][h_] = Abs[f''[x] - Normal[ps]]Compare actual and asymptotic errors as a function of
for
at
:
Block[{f = Sin, x = 1.},
Show[LogLogPlot[Evaluate[err[f][x][h]], {h, 10 ^ -8, 1}],
ListLogLogPlot[Table[{h, Abs[dq[f][x][h] - f''[x]]}, {h, 10. ^ Range[-8, 0]}]]]]With higher precision, the asymptotic error holds for smaller
:
Block[{f = Sin, x = N[1, 32], $MaxPrecision = 32, $MinPrecision = 32},
Show[LogLogPlot[Evaluate[err[f][x][h]], {h, 10 ^ -16, 1}],
ListLogLogPlot[Table[{h, Abs[dq[f][x][h] - f''[x]]}, {h, 10 ^ Range[-16, 0]}]]]]Properties & Relations (1)
For f that work with SparseArray objects s, often Normal[f[s]]===f[Normal[s]]:
s = SparseArray[{{i_, i_} -> 1 / i, {i_, j_} /; Abs[i - j] == 1 -> i / j}, {3, 3}]Sin[Normal[s]]% === Normal[Sin[s]]Normal[N[s]] === N[Normal[s]]f = (#.# + 2 #)&Normal[f[s]] === f[Normal[s]]History
Introduced in 1988 (1.0) | Updated in 1991 (2.0) ▪ 1996 (3.0) ▪ 2003 (5.0) ▪ 2007 (6.0) ▪ 2008 (7.0) ▪ 2010 (8.0) ▪ 2012 (9.0) ▪ 2014 (10.0) ▪ 2015 (10.3)
Text
Wolfram Research (1988), Normal, Wolfram Language function, https://reference.wolfram.com/language/ref/Normal.html (updated 2015).
CMS
Wolfram Language. 1988. "Normal." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/Normal.html.
APA
Wolfram Language. (1988). Normal. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Normal.html
BibTeX
@misc{reference.wolfram_2026_normal, author="Wolfram Research", title="{Normal}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/Normal.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_normal, organization={Wolfram Research}, title={Normal}, year={2015}, url={https://reference.wolfram.com/language/ref/Normal.html}, note=[Accessed: 13-June-2026]}