({{, (RefLink[FunctionExpand, paclet:ref/FunctionExpand])[expr]
tries to expand out special and certain other functions in expr, when possible reducing compound arguments to simpler ones. }, {, (RefLink[FunctionExpand, paclet:ref/FunctionExpand])[expr,assum]
expands using assumptions. }})

OpenersNotesSection(Spacer1)Details and Options

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) uses a large collection of rules.

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) applies to certain trigonometric functions as well as special functions.

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) attempts to expand (RefLink[DifferentialRoot, paclet:ref/DifferentialRoot]) and (RefLink[DifferenceRoot, paclet:ref/DifferenceRoot]) objects in terms of special and other functions.

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) is automatically called by (RefLink[FullSimplify, paclet:ref/FullSimplify]).

Assumptions in (RefLink[FunctionExpand, paclet:ref/FunctionExpand]) can be specified as in (RefLink[Simplify, paclet:ref/Simplify]).

(RefLink[FunctionExpand, paclet:ref/FunctionExpand])[expr,x∈(RefLink[Reals, paclet:ref/Reals])] performs expansion assuming that x is real.

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) has the option (RefLink[Assumptions, paclet:ref/Assumptions]), specifying default assumptions to be appended to assum.

The default setting for the (RefLink[Assumptions, paclet:ref/Assumptions]) option is (RefLink[$Assumptions, paclet:ref/$Assumptions]).

You can specify default assumptions for (RefLink[FunctionExpand, paclet:ref/FunctionExpand]) using (RefLink[Assuming, paclet:ref/Assuming]).

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) automatically threads over lists in expr, as well as equations, inequalities and logic functions.

OpenersPrimaryExamplesSection(Spacer1)Examples  (19)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Expand constants:

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]]

OpenersExampleSection1(Spacer1)Scope  (9)

Expansions of constants:

FunctionExpand[{Degree,GoldenRatio}]

FunctionExpand[Log[((1+I(Sqrt[3]))/2)]]

Zeta'[-2]//FunctionExpand

PolyGamma[-3,1]//FunctionExpand

Expansions of elementary functions and their compositions:

{(Sqrt[-(x^2)]),Log[(Sqrt[1-(x^2)])]}//FunctionExpand

Sin[2 ArcTan[x]]//FunctionExpand

Exp[2 ArcTanh[x]]//FunctionExpand

Expansions of orthogonal polynomials and related functions:

{ChebyshevT[n,x],ChebyshevU[n,x]}//FunctionExpand

LegendreQ[(3/2),(1/2),x]//FunctionExpand

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) reduces compound arguments to simpler ones:

FunctionExpand[ AiryAi[(((-1))^(4/3))x]]

FunctionExpand[Sin[(Sqrt[x^2])]/(Sqrt[x^2])]

BesselJ[ν,-x]//FunctionExpand

Expansions of elliptic functions:

JacobiSN[u,m]JacobiND[u,m]==JacobiSD[u,m]//FunctionExpand

FunctionExpand[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]//FunctionExpand

Expansions 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]//FunctionExpand

PolyGamma[3,z-2]-PolyGamma[3,z]//FunctionExpand

Zeta[1-z]/Zeta[z]//FunctionExpand

Gamma[z+3]-Gamma[z]z//FunctionExpand

OpenersExampleSection2(Spacer1)Options  (3)

OpenersExampleSubsection0(Spacer1)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]]

Assume n to be an integer:

FunctionExpand[Fibonacci[n+3],n∈Integers]

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) applies transformations valid for generic index ν:

FunctionExpand[BesselK[ν,-x]]

Use (RefLink[Assumptions, paclet:ref/Assumptions]) to get a specific transformation:

FunctionExpand[BesselK[ν,-x],Assumptions->ν∈Integers]

OpenersExampleSection3(Spacer1)Applications  (1)

Rewrite a solution returned by (RefLink[DSolve, paclet:ref/DSolve]):

DSolve[z w'''[z]+2 w''[z]+z w'[z]==0,w[z],z]

FunctionExpand[w[z]/.%]

OpenersExampleSection4(Spacer1)Properties & Relations  (2)

The output is generically equivalent to the input:

e=Sin[Pi/128];

f=FunctionExpand[e]

e==f//N

(RefLink[FunctionExpand, paclet:ref/FunctionExpand]) is used as a transformation function in (RefLink[FullSimplify, paclet:ref/FullSimplify]):

PolyLog[2,1-z]+PolyLog[2,z]-Zeta[2]//FullSimplify

PolyLog[2,1-z]+PolyLog[2,z]-Zeta[2]//FunctionExpand

(RefLink[FullSimplify, paclet:ref/FullSimplify]) will produce the simplest form found:

PolyLog[2,1-z]+PolyLog[2,z]//FullSimplify

PolyLog[2,1-z]+PolyLog[2,z]//FunctionExpand

OpenersExampleSection5(Spacer1)Possible Issues  (2)

(RefLink[FunctionExpand, paclet:ref/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 (RefLink[FunctionExpand, paclet:ref/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}]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[TrigExpand, paclet:ref/TrigExpand])  ▪  (RefLink[TrigToExp, paclet:ref/TrigToExp])  ▪  (RefLink[ComplexExpand, paclet:ref/ComplexExpand])  ▪  (RefLink[FullSimplify, paclet:ref/FullSimplify])  ▪  (RefLink[TargetFunctions, paclet:ref/TargetFunctions])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Working with Special Functions, paclet:tutorial/WorkingWithSpecialFunctions])}, {▪(RefLinkPlain[Putting Expressions into Different Forms, paclet:tutorial/PuttingExpressionsIntoDifferentForms])}, {▪(RefLinkPlain[Using Assumptions, paclet:tutorial/UsingAssumptions])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Formula Manipulation, paclet:guide/FormulaManipulation])}, {▪(RefLinkPlain[Number Recognition, paclet:guide/NumberRecognition])}, {▪(RefLinkPlain[Differential Operators, paclet:guide/DifferentialOperators])}, {▪(RefLinkPlain[Trigonometric Functions, paclet:guide/TrigonometricFunctions])}, {▪(RefLinkPlain[Assumptions and Domains, paclet:guide/AssumptionsAndDomains])}, {▪(RefLinkPlain[Algebraic Transformations, paclet:guide/AlgebraicTransformations])}})}})

({{(Spacer1), ({{(Spacer1)Related Links}, {(Spacer1)▪(RefLinkPlain[(Spacer1)Implementation notes: Algebra and Calculus, paclet:tutorial/SomeNotesOnInternalImplementation#1832])}, {(WebLink[DocumentationFooterIconsRelatedLinks-NKS.png(Spacer1)NKS|Online, http://www.wolframscience.com/nksonline/index/search.cgi?SearchIndex=FunctionExpand]) ((WebLink[A New Kind of Science, http://www.wolframscience.com/nksonline/]))}})}})