# FunctionSurjective

FunctionSurjective[f,x]

tests whether has at least one solution 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 \$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 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 , 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 , 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 to :

Each non-negative value is attained: is surjective:

Each value is attained at least once: 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 :