WOLFRAM

FunctionRange[f,x,y]

finds the range of the real function f of the variable x returning the result in terms of y.

FunctionRange[f,x,y,dom]

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

FunctionRange[funs,xvars,yvars,dom]

finds the range of the mapping funs of the variables xvars returning the result in terms of yvars.

FunctionRange[{funs,cons},xvars,yvars,dom]

finds the range of the mapping funs with the values of xvars restricted by constraints cons.

Details and Options

  • funs should be a list of functions of variables xvars.
  • funs and yvars must be lists of equal lengths.
  • 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
    Method Automaticwhat method should be used
    WorkingPrecision Automaticprecision to be used in computations
  • With WorkingPrecision->Automatic, FunctionRange may use numerical optimization to estimate the range.

Examples

open allclose all

Basic Examples  (2)Summary of the most common use cases

Find the range of a real function:

Out[1]=1

The range of a complex function:

Out[1]=1

Scope  (7)Survey of the scope of standard use cases

Real univariate functions:

Out[1]=1
Out[2]=2
Out[3]=3

Range estimated numerically:

Out[1]=1

Range over a domain restricted by conditions:

Out[1]=1

Complex univariate functions:

Out[1]=1
Out[2]=2

Real multivariate functions:

Out[1]=1
Out[2]=2
Out[3]=3

Real multivariate mappings:

Out[1]=1
Out[2]=2
Out[3]=3

Range over a domain restricted by conditions:

Out[4]=4

Complex multivariate functions and mappings:

Out[1]=1
Out[2]=2

Options  (2)Common values & functionality for each option

Method  (1)

By default, the results returned by FunctionRange may not be reduced:

Out[1]=1

Use Method to specify that the result should be given in a reduced form:

Out[2]=2

WorkingPrecision  (1)

By default, FunctionRange attempts to compute exact results:

Out[1]=1

With finite WorkingPrecision, slower symbolic methods are not used:

Out[2]=2

Applications  (13)Sample problems that can be solved with this function

Basic Applications  (7)

Find the range of a real function:

Out[1]=1

All real values within the range are attained:

Out[2]=2

Find the range of a discontinuous function:

Out[1]=1

The range consists of two intervals:

Out[2]=2

Find the range of TemplateBox[{x}, Fibonacci] over the interval :

Out[1]=1

Between and the plot is contained within the range:

Out[2]=2

Find the range of a complex function:

Out[2]=2

The function does not attain values and :

Out[3]=3

Compute the images of the unit disk through Möbius transformations and :

Out[1]=1
Out[2]=2

The images are a disk and a half-plane:

Out[3]=3

A function is surjective if FunctionRange gives True:

Out[1]=1

You can test surjectivity using FunctionSurjective:

Out[2]=2

A surjective function attains all values:

Out[3]=3

A function is surjective on a set of values if that set of values is contained in the function's range:

Out[2]=2

Use FindInstance to show that the interval is contained in the range of :

Out[3]=3

Confirm that is surjective onto using FunctionSurjective:

Out[4]=4

All values in are attained:

Out[5]=5

Use FindInstance to show that the interval is not contained in the range of :

Out[6]=6

The value is not attained:

Out[7]=7

Confirm that is not surjective onto using FunctionSurjective:

Out[8]=8

Solving Equations and Optimization  (3)

The equation has solutions in the real domain of if and only if belongs to the real range of :

Out[1]=1

belongs to the range of TemplateBox[{x}, LogGamma], and hence TemplateBox[{x}, LogGamma]=3 has solutions:

Out[2]=2
Out[3]=3
Out[4]=4

does not belong to the range of TemplateBox[{x}, LogGamma], and hence TemplateBox[{x}, LogGamma]=-1 has no solutions:

Out[5]=5
Out[6]=6
Out[7]=7

The equation has complex solutions if and only if belongs to the complex range of :

Out[2]=2

belongs to the range of , and hence has solutions:

Out[3]=3
Out[4]=4
Out[5]=5

does not belong to the range of , and hence has no solutions:

Out[6]=6
Out[7]=7
Out[8]=8

Compute the infimum and the supremum of values of a function:

Out[1]=1
Out[2]=2

You can also compute the infimum and the supremum of a function using MinValue and MaxValue:

Out[3]=3
Out[4]=4

Calculus  (3)

The range of a continuous function over a connected interval must be a connected interval:

Out[1]=1
Out[2]=2
Out[3]=3

The range of a discontinuous function over a connected interval may be disconnected:

Out[4]=4
Out[5]=5
Out[6]=6

The range of a discontinuous function over a connected interval may be connected too:

Out[7]=7
Out[8]=8
Out[9]=9

If a function has a limit, that limit must belong to the closure of the function's range:

Out[1]=1

The limit may not belong to the range itself:

Out[2]=2
Out[3]=3

Estimate the value of the integral of TemplateBox[{x}, SinIntegral] over the interval :

Out[1]=1

must be between the minimum and the maximum values in the range times the length of the interval:

Out[2]=2

Verify that the value of the integral computed using Integrate satisfies the inequalities:

Out[3]=3
Out[4]=4

is equal to the average value of the function in the interval times the length of the interval:

Out[5]=5

Properties & Relations  (1)Properties of the function, and connections to other functions

A function is surjective if its FunctionRange is True:

Out[1]=1

Use FunctionSurjective to test whether a functions is surjective:

Out[2]=2

Possible Issues  (1)Common pitfalls and unexpected behavior

Values at isolated points at which the function is real-valued may not be included in the result:

Out[1]=1
Out[2]=2

is non-real valued for , except for isolated values of :

Out[3]=3

Real values of for may lie outside the range given by FunctionRange:

Out[4]=4
Wolfram Research (2014), FunctionRange, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionRange.html.
Wolfram Research (2014), FunctionRange, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionRange.html.

Text

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

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

CMS

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

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

APA

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

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

BibTeX

@misc{reference.wolfram_2025_functionrange, author="Wolfram Research", title="{FunctionRange}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionRange.html}", note=[Accessed: 08-July-2025 ]}

@misc{reference.wolfram_2025_functionrange, author="Wolfram Research", title="{FunctionRange}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionRange.html}", note=[Accessed: 08-July-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_functionrange, organization={Wolfram Research}, title={FunctionRange}, year={2014}, url={https://reference.wolfram.com/language/ref/FunctionRange.html}, note=[Accessed: 08-July-2025 ]}

@online{reference.wolfram_2025_functionrange, organization={Wolfram Research}, title={FunctionRange}, year={2014}, url={https://reference.wolfram.com/language/ref/FunctionRange.html}, note=[Accessed: 08-July-2025 ]}