WOLFRAM

tests whether has at least one solution x in TemplateBox[{}, Reals] for each yReals.

tests whether has at least one solution xdom for each ydom.

FunctionSurjective[{f1,f2,},{x1,x2,},dom]

tests whether has at least one solution x1,x2,dom for each y1,y2,dom.

FunctionSurjective[{funs,xcons,ycons},xvars,yvars,dom]

tests whether has at least one solution with xvarsdom restricted by the constraints xcons for each yvarsdom restricted by the constraints ycons.

Details and Options

  • A surjective function is also known as onto or an onto mapping.
  • A function is surjective if for every there is at least one such that .
  • If funs contains parameters other than xvars, the result is typically a ConditionalExpression.
  • Possible values for dom are Reals and Complexes. If dom is Reals, then all variables, parameters, constants and function values are restricted to be real.
  • The domain of funs is restricted by the condition given by FunctionDomain.
  • xcons and ycons can contain equations, inequalities or logical combinations of these.
  • FunctionSurjective[{funs,xcons,ycons},xvars,yvars,dom] returns True if the mapping is surjective, where is the solution set of xcons and is the solution set of ycons.
  • The following options can be given:
  • Assumptions $Assumptionsassumptions on parameters
    GenerateConditions Truewhether to generate conditions on parameters
    PerformanceGoal $PerformanceGoalwhether to prioritize speed or quality
  • Possible settings for GenerateConditions include:
  • Automaticnongeneric conditions only
    Trueall conditions
    Falseno conditions
    Nonereturn unevaluated if conditions are needed
  • Possible settings for PerformanceGoal are "Speed" and "Quality".

Examples

open allclose all

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

Test surjectivity of a univariate function over the reals:

Out[1]=1

Test surjectivity over the complexes:

Out[1]=1

Test surjectivity of a polynomial mapping over the reals:

Out[1]=1

Test surjectivity of a polynomial with symbolic coefficients:

Out[1]=1

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

Surjectivity over the reals:

Out[1]=1

Each value is attained at least once:

Out[2]=2

Surjectivity over a subset of the reals:

Out[1]=1

For positive , some values are not attained:

Out[2]=2

Surjectivity onto a subset of the reals:

Out[1]=1

Each positive value is for some positive :

Out[2]=2

Surjectivity over the complexes:

Out[1]=1

The value zero is not attained:

Out[2]=2

Surjectivity onto a subset of complexes:

Out[1]=1

Surjectivity over the integers:

Out[1]=1

Surjectivity of linear mappings:

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

A linear mapping is surjective iff the rank of its matrix is equal to the dimension of its codomain:

Out[5]=5

Surjectivity of polynomial mappings :

Out[1]=1

Each value is attained at least once:

Out[2]=2

This mapping is not surjective:

Out[3]=3

Some values are not attained:

Out[4]=4

Surjectivity of polynomial mappings :

Out[1]=1

Surjectivity of polynomial mappings :

Out[1]=1

Surjectivity of a real polynomial with symbolic parameters:

Out[1]=1

Surjectivity of a real polynomial mapping with symbolic parameters:

Out[1]=1

Options  (4)Common values & functionality for each option

Assumptions  (1)

FunctionSurjective gives a conditional answer here:

Out[1]=1

This checks the surjectivity for the remaining real values of :

Out[2]=2

GenerateConditions  (2)

By default, FunctionSurjective may generate conditions on symbolic parameters:

Out[1]=1

With GenerateConditionsNone, FunctionSurjective fails instead of giving a conditional result:

Out[2]=2

This returns a conditionally valid result without stating the condition:

Out[3]=3

By default, all conditions are reported:

Out[1]=1

With GenerateConditionsAutomatic, conditions that are generically true are not reported:

Out[2]=2

PerformanceGoal  (1)

Use PerformanceGoal to avoid potentially expensive computations:

Out[1]=1

The default setting uses all available techniques to try to produce a result:

Out[2]=2

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

Basic Applications  (7)

Check surjectivity of :

Out[1]=1

is surjective because it attains each value at least once:

Out[2]=2

Check surjectivity of :

Out[3]=3

is not surjective because the value is not attained:

Out[4]=4

is not surjective because it does not attain negative values:

Out[1]=1

The value is not attained:

Out[2]=2

is surjective as a function from TemplateBox[{}, NonNegativeReals] to TemplateBox[{}, NonNegativeReals]:

Out[3]=3

Each non-negative value is attained:

Out[4]=4

is surjective:

Out[1]=1

Each value is attained at least once:

Out[2]=2

TemplateBox[{x}, CosIntegral] is not surjective:

Out[3]=3

Some values, e.g. , are not attained:

Out[4]=4

A function is surjective if any horizontal line intersects its graph at least once:

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

If a horizontal line does not intersect the graph, the function is not surjective:

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

is bounded:

Out[1]=1

Bounded functions are not surjective:

Out[2]=2

If is continuous on and , then is surjective onto :

Out[2]=2

Use FunctionContinuous to check that is continuous in :

Out[3]=3

By the intermediate value theorem, restricted to is surjective onto :

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

An affine mapping is surjective if the rank of is equal to the number of rows of :

Out[2]=2
Out[3]=3
Out[5]=5
Out[6]=6

Solving Equations and Inequalities  (1)

A function is surjective if the equation has at least one solution for any :

Out[2]=2

For each real , there is at least one real solution for :

Out[3]=3

Use Resolve to check the condition expressed using quantifiers:

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

Probability & Statistics  (3)

A CDF for a continuous distribution is surjective onto the interval of probabilities (0,1) over its domain:

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

A SurvivalFunction for a continuous distribution is surjective onto the interval of probabilities (0,1) over its domain:

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

The quantile function Quantile for a distribution is surjective onto the domain of the distribution:

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

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

is surjective iff the equation has at least one solution for each :

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

Use Solve to find the solutions:

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

A real continuous function on an interval is surjective iff the limits at endpoints are and :

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

Use Limit to compute the limits:

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

A function is surjective if its FunctionRange is True:

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

Possible Issues  (1)Common pitfalls and unexpected behavior

FunctionSurjective determines the real domain of functions using FunctionDomain:

Out[1]=1

is not surjective onto in the real domain reported by FunctionDomain:

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

is real valued over the whole reals and is surjective onto :

Out[4]=4

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

Out[5]=5
Wolfram Research (2020), FunctionSurjective, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionSurjective.html.
Wolfram Research (2020), FunctionSurjective, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionSurjective.html.

Text

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

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

CMS

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

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

APA

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

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

BibTeX

@misc{reference.wolfram_2024_functionsurjective, author="Wolfram Research", title="{FunctionSurjective}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionSurjective.html}", note=[Accessed: 09-January-2025 ]}

@misc{reference.wolfram_2024_functionsurjective, author="Wolfram Research", title="{FunctionSurjective}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionSurjective.html}", note=[Accessed: 09-January-2025 ]}

BibLaTeX

@online{reference.wolfram_2024_functionsurjective, organization={Wolfram Research}, title={FunctionSurjective}, year={2020}, url={https://reference.wolfram.com/language/ref/FunctionSurjective.html}, note=[Accessed: 09-January-2025 ]}

@online{reference.wolfram_2024_functionsurjective, organization={Wolfram Research}, title={FunctionSurjective}, year={2020}, url={https://reference.wolfram.com/language/ref/FunctionSurjective.html}, note=[Accessed: 09-January-2025 ]}