FunctionAnalytic[f,x]
tests whether
is an analytic function for x∈Reals.
FunctionAnalytic[f,x,dom]
tests whether
is an analytic function for x∈dom.
FunctionAnalytic[{f1,f2,…},{x1,x2,…},dom]
tests whether
are analytic functions for x1,x2,…∈dom.
FunctionAnalytic[{funs,cons},xvars,dom]
tests whether
are analytic functions for xvars in an open set containing the solutions of the constraints cons over the domain dom.
FunctionAnalytic
FunctionAnalytic[f,x]
tests whether
is an analytic function for x∈Reals.
FunctionAnalytic[f,x,dom]
tests whether
is an analytic function for x∈dom.
FunctionAnalytic[{f1,f2,…},{x1,x2,…},dom]
tests whether
are analytic functions for x1,x2,…∈dom.
FunctionAnalytic[{funs,cons},xvars,dom]
tests whether
are analytic functions for xvars in an open set containing the solutions of the constraints cons over the domain dom.
Details and Options
- Complex analytic functions are also known as holomorphic functions.
- A function
is analytic in an open set
if for all y∈ℛ there is an
and a sequence
such that for all
,
. - A function
is analytic in an open set
if for all
there is an
and a sequence
such that for all
,
. - If funs contains parameters other than xvars, the result is typically a ConditionalExpression.
- Possible values for dom are Reals and Complexes. The default is Reals.
- If dom is Reals, then all variables, parameters, constants and function values are restricted to be real.
- cons can contain inequalities or logical combinations of these.
- The following options can be given:
-
Assumptions $Assumptions assumptions on parameters GenerateConditions True whether to generate conditions on parameters PerformanceGoal $PerformanceGoal whether to prioritize speed or quality - Possible settings for GenerateConditions include:
-
Automatic nongeneric conditions only True all conditions False no conditions None return unevaluated if conditions are needed - Possible settings for PerformanceGoal are "Speed" and "Quality".
Examples
open all close allBasic Examples (4)
Test analyticity of real functions:
FunctionAnalytic[Sin[x], x]FunctionAnalytic[Tan[x], x]Test analyticity of complex functions:
FunctionAnalytic[E ^ x + x, x, Complexes]FunctionAnalytic[Sqrt[x], x, Complexes]Test analyticity over restricted domains:
FunctionAnalytic[{Tan[x], -Pi / 2 < x < Pi / 2}, x]FunctionAnalytic[{Sqrt[x], Re[x] > 0}, x, Complexes]Test analyticity of multivariate functions:
FunctionAnalytic[Gamma[x ^ 2 + y ^ 2 + 1, E ^ (x y)], {x, y}]Scope (6)
FunctionAnalytic[Tanh[x], x]FunctionAnalytic[Floor[x], x]Plot[{Tanh[x], Floor[x]}, {x, -3, 3}]FunctionAnalytic[Exp[z], z, Complexes]FunctionAnalytic[Log[z], z, Complexes]GraphicsRow[ComplexPlot[#, {z, -2 - 2I, 2 + 2I}]& /@ {Exp[z], Log[z]}, ImageSize -> Medium]Functions with restricted domains:
FunctionAnalytic[{ArcSin[x], -1 < x < 1}, x]FunctionAnalytic[{Log[z], Im[z] ≠ 0}, z, Complexes]FunctionAnalytic[Erf[Sin[x + y] / (x ^ 2 + y ^ 2 + 1)], {x, y}]FunctionAnalytic[Erf[Sin[x + y] / (x ^ 2 + y ^ 2 - 1)], {x, y}]GraphicsRow[Plot3D[Erf[Sin[x + y] / (x ^ 2 + y ^ 2 + #)], {x, -2, 2}, {y, -2, 2}]& /@ {1, -1}, ImageSize -> Medium]Complex multivariate functions:
FunctionAnalytic[LaguerreL[E ^ (x + z), Sin[y z]], {x, y, z}, Complexes]FunctionAnalytic[Erf[Sin[x + y] / (x ^ 2 + y ^ 2 + 1)], {x, y}, Complexes]FunctionAnalytic[{Erf[Sin[x + y] / (x ^ 2 + y ^ 2 + 1)], x ^ 2 + y ^ 2 ≠ -1}, {x, y}, Complexes]Functions with symbolic parameters:
FunctionAnalytic[Gamma[x ^ 2 + a], x]FunctionAnalytic[Sin[x y] / (x ^ 2 + a x y + y ^ 2 + b), {x, y}]Options (4)
Assumptions (1)
FunctionAnalytic cannot find the answer for arbitrary values of the parameter
:
FunctionAnalytic[Sin[x + y] / (Exp[x y] + a), {x, y}]With the assumption that
, FunctionAnalytic succeeds:
FunctionAnalytic[Sin[x + y] / (Exp[x y] + a), {x, y}, Assumptions -> a > 0]GenerateConditions (2)
By default, FunctionAnalytic may generate conditions on symbolic parameters:
FunctionAnalytic[Log[x ^ 2 + a], x]With GenerateConditions->None, FunctionAnalytic fails instead of giving a conditional result:
FunctionAnalytic[Log[x ^ 2 + a], x, GenerateConditions -> None]This returns a conditionally valid result without stating the condition:
FunctionAnalytic[Log[x ^ 2 + a], x, GenerateConditions -> False]By default, all conditions are reported:
FunctionAnalytic[Cos[x y] / a, {x, y}]With GenerateConditions->Automatic, conditions that are generically true are not reported:
FunctionAnalytic[Cos[x y] / a, {x, y}, GenerateConditions -> Automatic]PerformanceGoal (1)
Use PerformanceGoal to avoid potentially expensive computations:
FunctionAnalytic[1 / (x ^ 4 + a x ^ 3 y + b x y ^ 3 + y ^ 4 + c), {x, y}, PerformanceGoal -> "Speed"]The default setting uses all available techniques to try to produce a result:
FunctionAnalytic[1 / (x ^ 4 + a x ^ 3 y + b x y ^ 3 + y ^ 4 + c), {x, y}]Applications (11)
Classes of Analytic Functions (6)
{FunctionAnalytic[x, x], FunctionAnalytic[x^2 + 1, x], FunctionAnalytic[x^3 - 2 x^2 - 5 x + 6, x]}Sin, Cos and Exp are analytic:
{FunctionAnalytic[Sin[x], x], FunctionAnalytic[Cos[x], x], FunctionAnalytic[Exp[x], x]}Grid[Partition[Table[Plot[f, {x, -5, 5}], {f, {x, x^2 + 1, x^3 - 2 x^2 - 5 x + 6, Sin[x], Cos[x], Exp[x]}}], 3]]These functions are analytic in the complex plane as well:
Table[FunctionAnalytic[f, x, Complexes], {f, {x, x^2 + 1, x^3 - 2 x^2 - 5 x + 6, Sin[x], Cos[x], Exp[x]}}]Visualize these functions over
:
Grid[Partition[Table[ComplexPlot3D[f, {x, 5}], {f, {x, x^2 + 1, x^3 - 2 x^2 - 5 x + 6, Sin[x], Cos[x], Exp[x]}}], 3]]Functions that are analytic in the plane are called entire functions and can be considered infinite-degree polynomials:
Exp[x] == Sum[(x^k/k!), {k, 0, ∞}]Cos[x] == Sum[((-1)^kx^2k/(2k)!), {k, 0, ∞}]Sin[x] == Sum[((-1)^kx^2k + 1/(2k + 1)!), {k, 0, ∞}]No discontinuous function is analytic:
TableForm[Table[{f, FunctionContinuous[f[x], x], FunctionAnalytic[f[x], x]}, {f, {UnitStep, RealSign, Floor, SquareWave, SawtoothWave}}], TableHeadings -> {None, {f, "Continuous?", "Analytic?"}}]Visualize some of the preceding functions:
Grid[{Table[Plot[f[x], {x, -3, 3}, PlotLabel -> f], {f, {UnitStep, Floor, SawtoothWave}}]}]Some continuous functions are not analytic, like the real absolute value function RealAbs:
{FunctionContinuous[RealAbs[x], x], FunctionAnalytic[RealAbs[x], x]}The problem with RealAbs is the "kink" at the origin:
FunctionAnalytic[{RealAbs[x], x ≠ 0}, x]Plot[RealAbs[x], {x, -1, 1}]The complex absolute value function Abs is analytic nowhere in the complex plane:
{FunctionContinuous[Abs[x], x, ℂ], FunctionAnalytic[Abs[x], x, ℂ]}It suffers from a different problem than RealAbs, namely it is nowhere differentiable:
{RealAbs'[x], Abs'[x]}The reciprocal of an analytic function
is analytic wherever
:
FunctionAnalytic[{(1/x), x ≠ 0}, x]Thus, rational functions may or may not be continuous over the reals:
FunctionAnalytic[(4/x^2 + 4), x]FunctionAnalytic[(1/x^2 - 4), x]Plot[{(4/x^2 + 4), (1/x^2 - 4)}, {x, -4, 4}, PlotTheme -> {"DashedLines", "Detailed"}]However, as every nonconstant polynomial has a root in the plane, rational functions are never analytic on
:
FunctionAnalytic[(4/x^2 + 4), x, Complexes]Instead, rational functions are the prototype of the larger class of meromorphic functions in the complex plane:
FunctionMeromorphic[(4/x^2 + 4), x]Visualizing the function in the complex plane shows the blowup at
:
ComplexPlot3D[(4/x^2 + 4), {x, 4}, ClippingStyle -> None]As Cot and Csc are rational functions of Sin and Cos, they are analytic when sine is nonzero:
{FunctionAnalytic[{Cot[x], (x/π)∉ℤ}, x], FunctionAnalytic[{Csc[x], (x/π)∉ℤ}, x]}Visualize the functions along with sine:
Plot[{Cot[x], Csc[x], Sin[x]}, {x, -3π, 3π}, PlotLegends -> "Expressions", PlotTheme -> "DashedLines"]Since sine's only zeros are on the real line, this means the Cot and Csc are analytic except on the multiples of
:
{FunctionAnalytic[{Cot[x], (x/π)∉ℤ}, x, ℂ], FunctionAnalytic[{Csc[x], (x/π)∉ℤ}, x, ℂ]}Similarly, Tan and Sec are continuous when cosine is nonzero:
{FunctionAnalytic[{Tan[x], (x/π) - (1/2)∉ℤ}, x, ℂ], FunctionAnalytic[{Sec[x], (x/π) - (1/2)∉ℤ}, x, ℂ]}Grid[Partition[Table[ComplexPlot3D[f[x], {x, 3π}, PlotRange -> {0, 2}, ImageSize -> Small, ClippingStyle -> None], {f, {Cot, Csc, Tan, Sec}}], 2]]This same principle applies to the hyperbolic trigonometric functions Coth and Csch:
{FunctionAnalytic[{Coth[x], x ≠ 0}, x], FunctionAnalytic[{Csch[x], x ≠ 0}, x]}{FunctionAnalytic[Tanh[x], x], FunctionAnalytic[Sech[x], x]}But as the zeros of Cosh and Sinh lie on the imaginary axis, more exclusions are needed for analyticity over
:
{FunctionAnalytic[{Coth[x], (x/I π)∉ℤ}, x, ℂ], FunctionAnalytic[{Csch[x], (x/I π)∉ℤ}, x, ℂ]}{FunctionAnalytic[{Tanh[x], (x/I π) - (1/2)∉ℤ}, x, ℂ], FunctionAnalytic[{Sech[x], (x/I π) - (1/2)∉ℤ}, x, ℂ]}Plots of the hyperbolic functions are just rotations by
along with a phase shift by the same amount:
Grid[Partition[Table[ComplexPlot3D[f[x], {x, 3π}, PlotRange -> {0, 2}, ImageSize -> Small, ClippingStyle -> None], {f, {Coth, Csch, Tanh, Sech}}], 2]]The compositions of analytic functions are analytic:
FunctionAnalytic[Sin[x ^ 2 + 3x + 2], x]FunctionAnalytic[Exp[Sin[x]], x]FunctionAnalytic[Cos[Sin[x]]^2 + Sin[x]Cos[x] + Exp[-x], x]Multivariate polynomials are analytic over the reals and complexes:
{FunctionAnalytic[x ^ 2 + 3x y - 7y ^ 2, {x, y}], FunctionAnalytic[x ^ 2 + 3x y - 7y ^ 2, {x, y}, ℂ]}So are multivariate polynomials in entire functions:
FunctionAnalytic[Cos[x] ^ 2 + Cos[x]Sin[ y] - Sin[y] ^ 3, {x, y}]Rational multivariate functions may or may not be analytic over the reals:
{FunctionAnalytic[(x^2 - y^2/x^2 + y^2 + 1), {x, y}], FunctionAnalytic[(x^2 - y^2 + 1/x^2 - y), {x, y}]}They are always nonanalytic over the complexes:
FunctionAnalytic[(x^2 - y^2/x^2 + y^2 + 1), {x, y}, ℂ]By composing with analytic univariate functions, many more analytic functions can be generated:
{FunctionAnalytic[ArcTan[x ^ 2 + 3x y - 7y ^ 2], {x, y}], FunctionAnalytic[Cos[(x^2 - y^2/x^2 + y^2 + 1)], {x, y}], FunctionAnalytic[Sin[(x^2 - y^2/Exp[x^2 - y])], {x, y}]}Visualize the analytic functions:
Grid[Partition[Table[Plot3D[f, {x, -5, 5}, {y, -5, 5}, PlotRange -> All, ImageSize -> 165], {f, {x^2 + 3 x y + 7 y^2, Cos[x]^2 + Cos[x] Sin[y] - Sin[y]^3, (x^2 - y^2/x^2 + y^2 + 1), ArcTan[x^2 + 3 x y - 7 y^2], Cos[(x^2 - y^2/x^2 + y^2 + 1)], Sin[(x^2 - y^2 + 1/Exp[x^2 - y])]}}], 3]]Calculus (5)
Analytic functions can be represented by power series:
Exp[z] == Sum[(z^k/k!), {k, 0, ∞}]In this case, the sum converges for all values of
:
SumConvergence[(z^k/k!), k]Consider the following function:
f[z_] := (z ^ 2 + 4z + 17/z ^ 2 - 25)It is analytic on the open disk of radius 5:
FunctionAnalytic[{f[z], Abs[z] < 5}, z, ℂ]Therefore it can be expressed as a power series about any point in the disk, say
:
coeff[n_] = SeriesCoefficient[f[z], {z, 2, n}]Sum[coeff[n](z - 2) ^ n, {n, 0, ∞}]However, this sum does not converge for all values of
:
SumConvergence[coeff[n](z - 2) ^ n, n]Substituting a value of
outside this range produces a divergent sum:
Sum[coeff[n](-4 - 2) ^ n, {n, 0, ∞}]Visualize the function along with the domains of analyticity and convergence:
ComplexPlot[f[z], {z, 6}, PlotLegends -> Automatic, Epilog -> {Circle[{0, 0}, 5], Dashed, Circle[{2, 0}, 3]}]The integral of an analytic function around a close contour is zero:
Integrate[Exp[z], {z, 1, E^(I π/3), E^(2 I π/3), -1, E^-(2 I π/3), E^-(I π/3), 1}]The following integral is nonzero, so Log cannot be analytic:
Integrate[Log[z], {z, 1, E^(I π/3), E^(2 I π/3), -1, E^-(2 I π/3), E^-(I π/3), 1}]//SimplifyFunctionAnalytic[Log[z], z, ℂ]Visualize the functions and the contour:
Grid[{Table[ComplexPlot[f[z], {z, 1.2}, PlotLegends -> Automatic, Epilog -> {Arrowheads[Medium], Arrow[ReIm /@ Exp[2π I / 6 Range[0, 6]]]}, ImageSize -> Small], {f, {Exp, Log}}]}]If
and
are analytic in a region
in the complex plane,
only has simple zeros and
is nonzero. A sum over the zeros of
can be computed as
. Consider
:
f[z_] := ((z^3 + 10 z^2 + 23 z + 14) E^(1/z + 8)/z - 6)This function is analytic in a disk of radius 4:
FunctionAnalytic[{f[z], Abs[z] ≤ 4}, z, ℂ]Let
. It is analytic and nonzero in the disk of radius 4:
ϕ[z_] := (z + 7/z^2 + 25);FunctionAnalytic[{ϕ[z], Abs[z] ≤ 4}, z, ℂ]Solve[ϕ[z] == 0 && Abs[z] ≤ 4, z]The function
has two simple roots within the disk, at
and
:
Reduce[f[z] == 0, z]Thus, the sum is easy to compute:
Sum[ϕ[z], {z, {-1, -2}}]The integral gives the same answer:
(1/2π I)Subsuperscript[∫, 0, 2π]ϕ[4E^I ω](f'[4E^I ω]/f[4E^I ω])(4 I E^ I ω )ⅆωDifferential equations with analytic coefficients have solutions that are analytic at most points, which makes series solutions a viable method of approach. Consider the following differential equation:
de = {y''[x] + 2y'[x] ^ 2 + 7 Sin[x] ^ 2 y[x] == Cos[2x], y[0] == 1, y'[0] == 5};There is no closed-form solution to this equation:
DSolveValue[de, y[x], x]However, all coefficients are analytic:
Table[FunctionAnalytic[coeff, x], {coeff, {1, 2, 7Sin[x]^2, Cos[2x]}}]Thus, a series solution can be found using AsymptoticDSolveValue:
AsymptoticDSolveValue[de, y[x], {x, 0, 5}]h[x_] := Piecewise[{{x*Sin[1/x], x != 0}, {0, x == 0}}]FunctionContinuous[h[x], x]However, its first derivative is not continuous:
FunctionContinuous[h'[x], x]FunctionAnalytic[h[x], x]While
goes smoothly to zero, its derivative oscillates wildly at the origin:
{MinLimit[h'[x], x -> 0], MaxLimit[h'[x], x -> 0]}Visualize
and its first derivative:
Plot[{h[x], h'[x]}, {x, -1, 1}, PlotRange -> {-4, 4}, PlotTheme -> "DashedLines"]Properties & Relations (7)
An analytic function is differentiable arbitrarily many times:
f = Sin[Exp[x]];FunctionAnalytic[f, x]Use D to compute derivatives:
NestList[D[#, x]&, f, 5]//ColumnAn analytic function can be expressed as a Taylor series at each point of its domain:
f = x Cos[2 ^ Sin[x ^ 2] + 2x];FunctionAnalytic[f, x]Use Series to compute initial terms of Taylor series:
s = Series[f, {x, 0, 3}]The resulting polynomial approximates
near
:
Plot@@{{f, Normal[s]}, {x, -2, 2}}Zeros of an analytic function cannot have an accumulation point in the domain:
f = Piecewise[{{x Sin[1 / x], x ≠ 0}}]Zeros of
have an accumulation point at
:
Plot[f, {x, -1, 1}]
is continuous, but not analytic:
FunctionContinuous[f, x]FunctionAnalytic[f, x]
is analytic if
is excluded from the domain:
FunctionAnalytic[{f, x ≠ 0}, x]An analytic function can have only finitely many zeros in a closed and bounded region:
f = Sin[3x ^ 3] - 2x + 1;FunctionAnalytic[f, x, Complexes]Use Solve to find the roots of
in the unit disk:
Solve[f == 0 && Abs[x] ≤ 1, x]ComplexPlot[f, {x, -1 - I, 1 + I}, RegionFunction -> (Abs[#] ≤ 1&), Epilog -> {PointSize[Medium], Blue, Point[{Re[x], Im[x]}] /. %}]Use FunctionContinuous to check whether a function is continuous:
FunctionContinuous[Abs[x], x]Continuous functions may not be analytic:
FunctionAnalytic[Abs[x], x]Analytic functions are continuous:
f = 2 ^ Sin[x ^ 2 + 7] - x;FunctionAnalytic[f, x]FunctionContinuous[f, x]Use FunctionMeromorphic to check whether a function is meromorphic:
FunctionMeromorphic[Tan[x], x]Meromorphic functions may not be complex analytic:
FunctionAnalytic[Tan[x], x, Complexes]A quotient of complex analytic functions is meromorphic:
f = 2 ^ Sin[x ^ 2 + 7] - x;
g = Cos[x ^ 3 + 7x - 4] - 3 ^ x;FunctionAnalytic[#, x, Complexes]& /@ {f, g}FunctionMeromorphic[#, x]& /@ {f / g, g / f}Sum of residues of an analytic function is zero:
FunctionAnalytic[Sin[Cosh[x ^ 3 - E ^ x]], x]Use ResidueSum to verify this property:
ResidueSum[Sin[Cosh[x ^ 3 - E ^ x]], x]Possible Issues (3)
A function needs to be defined everywhere to be analytic:
FunctionAnalytic[Sin[x] / x, x]FunctionAnalytic[{Sin[x] / x, x ≠ 0}, x]FunctionAnalytic[Sinc[x], x]A function needs to be real valued to be analytic over the real domain:
FunctionAnalytic[E ^ (I x), x]FunctionAnalytic[E ^ (I x), x, Complexes]All subexpressions of
need to be real valued for a point to belong to the real domain of
:
FunctionAnalytic[Cos[Sqrt[x]], x]Negative reals are not in the real domain of
because
is not real valued:
FunctionDomain[Cos[Sqrt[x]], x]Plot[Cos[Sqrt[x]], {x, -10, 10}]See Also
FunctionContinuous FunctionMeromorphic FunctionSingularities FunctionDiscontinuities Series
Function Repository: FunctionDifferentiability PossiblyDifferentiableQ
Related Guides
History
Text
Wolfram Research (2020), FunctionAnalytic, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionAnalytic.html.
CMS
Wolfram Language. 2020. "FunctionAnalytic." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FunctionAnalytic.html.
APA
Wolfram Language. (2020). FunctionAnalytic. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionAnalytic.html
BibTeX
@misc{reference.wolfram_2026_functionanalytic, author="Wolfram Research", title="{FunctionAnalytic}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionAnalytic.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_functionanalytic, organization={Wolfram Research}, title={FunctionAnalytic}, year={2020}, url={https://reference.wolfram.com/language/ref/FunctionAnalytic.html}, note=[Accessed: 12-June-2026]}