FunctionSurjective

FunctionSurjective[f,x]

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

FunctionSurjective[f,x,dom]

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
    GenerateConditionsTruewhether to generate conditions on parameters
    PerformanceGoal$PerformanceGoalwhether to prioritize speed or quality
  • Possible settings for GenerateConditions include:
  • Automaticnon-generic 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)

Test surjectivity of a univariate function over the reals:

Test surjectivity over the complexes:

Test surjectivity of a polynomial mapping over the reals:

Test surjectivity of a polynomial with symbolic coefficients:

Scope  (12)

Surjectivity over the reals:

Each value is attained at least once:

Surjectivity over a subset of the reals:

For positive , some values are not attained:

Surjectivity onto a subset of the reals:

Each positive value is for some positive :

Surjectivity over the complexes:

The value zero is not attained:

Surjectivity onto a subset of complexes:

Surjectivity over the integers:

Surjectivity of linear mappings:

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

Surjectivity of polynomial mappings :

Each value is attained at least once:

This mapping is not surjective:

Some values are not attained:

Surjectivity of polynomial mappings :

Surjectivity of polynomial mappings :

Surjectivity of a real polynomial with symbolic parameters:

Surjectivity of a real polynomial mapping with symbolic parameters:

Options  (4)

Assumptions  (1)

FunctionSurjective gives a conditional answer here:

This checks the surjectivity for the remaining real values of :

GenerateConditions  (2)

By default, FunctionSurjective may generate conditions on symbolic parameters:

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

This returns a conditionally valid result without stating the condition:

By default, all conditions are reported:

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

PerformanceGoal  (1)

Use PerformanceGoal to avoid potentially expensive computations:

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

Applications  (11)

Basic Applications  (7)

Check surjectivity of :

is surjective because it attains each value at least once:

Check surjectivity of :

is not surjective because the value is not attained:

is not surjective because it does not attain negative values:

The value is not attained:

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

Each non-negative value is attained:

is surjective:

Each value is attained at least once:

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

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

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

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

is bounded:

Bounded functions are not surjective:

If is continuous on and , then is surjective onto :

Use FunctionContinuous to check that is continuous in :

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

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

Solving Equations and Inequalities  (1)

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

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

Use Resolve to check the condition expressed using quantifiers:

Probability & Statistics  (3)

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

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

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

Properties & Relations  (3)

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

Use Solve to find the solutions:

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

Use Limit to compute the limits:

A function is surjective if its FunctionRange is True:

Possible Issues  (1)

FunctionSurjective determines the real domain of functions using FunctionDomain:

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

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

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

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.

BibTeX

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

BibLaTeX

@online{reference.wolfram_2021_functionsurjective, organization={Wolfram Research}, title={FunctionSurjective}, year={2020}, url={https://reference.wolfram.com/language/ref/FunctionSurjective.html}, note=[Accessed: 28-November-2021 ]}

CMS

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