FunctionDomain

FunctionDomain[f,x]

finds the largest domain of definition of the real function f of the variable x.

FunctionDomain[f,x,dom]

considers f to be a function with arguments and values in the domain dom.

FunctionDomain[funs,vars,dom]

finds the largest domain of definition of the mapping funs of the variables vars.

FunctionDomain[{funs,cons},vars,dom]

finds the domain of funs with the values of vars restricted by constraints cons.

Details and Options

  • funs should be a list of functions of variables vars.
  • 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 equations, inequalities, or logical combinations of these.
  • The following options can be given:
  • GeneratedParametersChow to name parameters that are generated
    MethodAutomaticwhat method should be used
    WorkingPrecisionAutomaticprecision to be used in computations

Examples

open allclose all

Basic Examples  (2)

Find the largest domain of definition of a real function:

The largest domain of definition of a complex function:

Scope  (4)

Real univariate functions:

Domain restricted by constraints:

Complex univariate functions:

Real multivariate functions:

Complex multivariate functions:

Options  (2)

GeneratedParameters  (1)

FunctionDomain may introduce new parameters to represent the domain:

Use GeneratedParameters to control how the parameters are generated:

Method  (1)

By default, domains of real univariate functions are given in a reduced form:

Domains of other functions are not reduced:

Use Method to specify whether the domain should be given in a reduced form:

Applications  (13)

Basic Applications  (6)

Compute the real domain of :

The imaginary part of the function is zero on the real domain:

Compute the real domain of :

The complement of the domain is the open disk of radius 3, centered at :

Outside the real domain, a function may be complex, singular or undefined:

Outside the real domain, the function is complex valued:

Negative integers are not in the domain of TemplateBox[{{x, -, 1}}, AlternatingFactorial]:

The function has pole singularities at negative integers:

TemplateBox[{3, 2, x}, EllipticTheta] is undefined outside its real domain:

Compute the complex domain of :

has pole singularities at points that do not belong to the domain:

Compute the complex domain of :

has an essential singularity at zero:

Compute the complex domain of TemplateBox[{1, 2, x}, EllipticTheta]:

TemplateBox[{1, 2, x}, EllipticTheta] is undefined outside the domain:

Solving Equations and Optimization  (2)

Solve over the reals:

The solutions must belong to the real domain of :

The plot of shows that there is one solution:

Solve automatically uses the domain information and finds the solution:

Find the global minimum of TemplateBox[{6, {-, 1}, x}, LegendreP3]:

The minimum must belong to the real domain of :

Find the roots of in the interior of the real domain:

Select the root at which the value of is minimal:

Check that the value of at is less than the values of at the domain endpoints:

Visualize the result:

Minimize automatically uses the domain information and finds the minimum:

Calculus  (5)

If the limit of a function over points from its real domain exists, it must be a real number or a real infinity:

Use Limit to verify that the limits of TemplateBox[{x}, Gamma] at along real directions are real infinities:

If the integral over a subset of the real domain exists, it is a real number or a real infinity:

Use Integrate to compute the integral of :

Verify that the integral is indeed a real number:

If the derivative of a function at a point in its real domain exists, it is real valued:

Compute the derivative:

The derivative is indeed real valued over the domain of :

Check real analyticity of TemplateBox[{x, y}, BesselK]:

A function has to be defined and real valued in order to be real analytic:

Over its real domain, TemplateBox[{x, y}, BesselK] is real analytic:

Check complex analyticity of TemplateBox[{x, 4, 4, 1}, Hypergeometric2F1]:

A function has to be defined to be complex analytic:

Over its domain, TemplateBox[{x, 4, 4, 1}, Hypergeometric2F1] is complex analytic:

Possible Issues  (2)

All subexpressions of need to be real-valued for a point to belong to the real domain of :

Negative reals are not in the real domain of because is not real valued:

is real valued for all real :

The real domain information for mathematical functions is accurate up to lower-dimensional sets:

There is no full-dimensional subset of the space on which HankelH1 is real valued:

Here is a 1-dimensional subset of the space on which HankelH1 is real valued:

FunctionDomain is unable to detect that is real valued:

Wolfram Research (2014), FunctionDomain, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionDomain.html.

Text

Wolfram Research (2014), FunctionDomain, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionDomain.html.

CMS

Wolfram Language. 2014. "FunctionDomain." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FunctionDomain.html.

APA

Wolfram Language. (2014). FunctionDomain. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionDomain.html

BibTeX

@misc{reference.wolfram_2021_functiondomain, author="Wolfram Research", title="{FunctionDomain}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionDomain.html}", note=[Accessed: 29-May-2022 ]}

BibLaTeX

@online{reference.wolfram_2021_functiondomain, organization={Wolfram Research}, title={FunctionDomain}, year={2014}, url={https://reference.wolfram.com/language/ref/FunctionDomain.html}, note=[Accessed: 29-May-2022 ]}