FunctionExpand[expr]
tries to expand out special and certain other functions in expr, when possible reducing compound arguments to simpler ones.
FunctionExpand[expr,assum]
expands using assumptions.
FunctionExpand
FunctionExpand[expr]
tries to expand out special and certain other functions in expr, when possible reducing compound arguments to simpler ones.
FunctionExpand[expr,assum]
expands using assumptions.
Details and Options
- FunctionExpand uses a large collection of rules.
- FunctionExpand applies to certain trigonometric functions as well as special functions.
- FunctionExpand attempts to expand DifferentialRoot and DifferenceRoot objects in terms of special and other functions.
- FunctionExpand is automatically called by FullSimplify.
- Assumptions in FunctionExpand can be specified as in Simplify.
- FunctionExpand[expr,x∈Reals] performs expansion assuming that x is real.
- FunctionExpand has the option Assumptions, specifying default assumptions to be appended to assum.
- The default setting for the Assumptions option is $Assumptions.
- You can specify default assumptions for FunctionExpand using Assuming.
- FunctionExpand automatically threads over lists in expr, as well as equations, inequalities and logic functions.
Examples
open all close allBasic Examples (2)
FunctionExpand[Sin[24Degree]]FunctionExpand[4ArcTan[(1/5)] - ArcTan[(1/239)]]Find expansion in terms of simpler functions:
FunctionExpand[ChebyshevT[n, x]]FunctionExpand[HypergeometricPFQ[{(1/2)}, {1, 1}, z]]Scope (9)
FunctionExpand[{Degree, GoldenRatio}]FunctionExpand[Log[(1 + ISqrt[3]/2)]]Zeta'[-2]//FunctionExpandPolyGamma[-3, 1]//FunctionExpandExpansions of elementary functions and their compositions:
{Sqrt[-x^2], Log[Sqrt[1 - x^2]]}//FunctionExpandSin[2 ArcTan[x]]//FunctionExpandExp[2 ArcTanh[x]]//FunctionExpandExpansions of orthogonal polynomials and related functions:
{ChebyshevT[n, x], ChebyshevU[n, x]}//FunctionExpandLegendreQ[(3/2), (1/2), x]//FunctionExpandFunctionExpand reduces compound arguments to simpler ones:
FunctionExpand[ AiryAi[(-1)^4 / 3x]]FunctionExpand[Sin[Sqrt[x ^ 2]] / Sqrt[x ^ 2]]BesselJ[ν, -x]//FunctionExpandExpansions of elliptic functions:
JacobiSN[u, m]JacobiND[u, m] == JacobiSD[u, m]//FunctionExpandFunctionExpand[EllipticNomeQ[m]]Expansions of number theoretic functions:
FunctionExpand[CatalanNumber[n]]FunctionExpand[Fibonacci[n + 3], n∈Integers]Expansions of unevaluated derivatives:
Derivative[1, 0][BesselJ][1, x]//FunctionExpandExpansions of hypergeometric family functions:
FunctionExpand[HypergeometricU[-(1/2), -(3/2), x]]FunctionExpand[HypergeometricPFQ[{-(1/2), (1/2), (1/2)}, {1, 1}, x]]FunctionExpand[MeijerG[{{0, a}, {}}, {{}, {}}, x]]Expansion of special functions:
PolyLog[2, 1 - z] + PolyLog[2, z]//FunctionExpandPolyGamma[3, z - 2] - PolyGamma[3, z]//FunctionExpandZeta[1 - z] / Zeta[z]//FunctionExpandGamma[z + 3] - Gamma[z]z//FunctionExpandOptions (3)
Assumptions (3)
Some expansions are valid under additional assumptions:
FunctionExpand[ProductLog[x Log[x]], x > 1 / E]Here n is assumed to be a generic complex number:
FunctionExpand[Fibonacci[n + 3]]FunctionExpand[Fibonacci[n + 3], n∈Integers]FunctionExpand applies transformations valid for generic index ν:
FunctionExpand[BesselK[ν, -x]]Use Assumptions to get a specific transformation:
FunctionExpand[BesselK[ν, -x], Assumptions -> ν∈Integers]Applications (1)
Rewrite a solution returned by DSolve:
DSolve[z w'''[z] + 2 w''[z] + z w'[z] == 0, w[z], z]FunctionExpand[w[z] /. %]Properties & Relations (2)
The output is generically equivalent to the input:
e = Sin[Pi / 128];f = FunctionExpand[e]e == f//NFunctionExpand is used as a transformation function in FullSimplify:
PolyLog[2, 1 - z] + PolyLog[2, z] - Zeta[2]//FullSimplifyPolyLog[2, 1 - z] + PolyLog[2, z] - Zeta[2]//FunctionExpandFullSimplify will produce the simplest form found:
PolyLog[2, 1 - z] + PolyLog[2, z]//FullSimplifyPolyLog[2, 1 - z] + PolyLog[2, z]//FunctionExpandPossible Issues (2)
FunctionExpand may not always expand expressions involving inexact numbers:
FunctionExpand[(n + 1) Gamma[n + 1.0]]FunctionExpand[(n + 1) Gamma[n + 1]]Some transformations used by FunctionExpand are only generically valid:
FunctionExpand[GegenbauerC[n, -5, x]]Table[GegenbauerC[n, -5, x], {n, 6}]Table[GegenbauerC[n + 1 / 2, -5, x], {n, 6}]Related Links
History
Introduced in 1996 (3.0) | Updated in 1999 (4.0) ▪ 2000 (4.1) ▪ 2002 (4.2) ▪ 2003 (5.0) ▪ 2007 (6.0) ▪ 2008 (7.0)
Text
Wolfram Research (1996), FunctionExpand, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionExpand.html (updated 2008).
CMS
Wolfram Language. 1996. "FunctionExpand." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2008. https://reference.wolfram.com/language/ref/FunctionExpand.html.
APA
Wolfram Language. (1996). FunctionExpand. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionExpand.html
BibTeX
@misc{reference.wolfram_2026_functionexpand, author="Wolfram Research", title="{FunctionExpand}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionExpand.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_functionexpand, organization={Wolfram Research}, title={FunctionExpand}, year={2008}, url={https://reference.wolfram.com/language/ref/FunctionExpand.html}, note=[Accessed: 13-June-2026]}