FunctionInjective
FunctionInjective[f,x]
tests whether has at most one solution x∈Reals for each y.
FunctionInjective[f,x,dom]
tests whether has at most one solution x∈dom.
FunctionInjective[{f1,f2,…},{x1,x2,…},dom]
tests whether has at most one solution x1,x2,…∈dom.
FunctionInjective[{funs,xcons,ycons},xvars,yvars,dom]
tests whether has at most one solution with xvars∈dom restricted by the constraints xcons for each yvars∈dom restricted by the constraints ycons.
Details and Options


- An injective function is also known as one-to-one.
- A function
is injective if for each
there is at most one
such that
.
- FunctionInjective[{funs,xcons,ycons},xvars,yvars,dom] returns True if the mapping
is injective, where
is the solution set of xcons and
is the solution set of ycons.
- 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.
- 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 allBasic Examples (4)Summary of the most common use cases
Scope (12)Survey of the scope of standard use cases
Some values are attained more than once:
Injectivity over a subset of the reals:
For , each value is attained at most once:
Injectivity over the inverse image of a subset of the reals:
Each value with
is attained at most once:
Injectivity over the complexes:
Each value is attained at most once:
Injectivity over a subset of complexes:
is not injective over the whole complex plane:
Some values are attained more than once:
Injectivity over the integers:
Injectivity of linear mappings:
A linear mapping is injective iff the rank of its matrix is equal to the dimension of its domain:
Injectivity of polynomial mappings :
Each value is attained at most once:
This mapping is not injective:
Some values are attained more than once:
Injectivity of polynomial mappings :
The mapping, equal to the real and imaginary parts of , is injective in the non-negative quadrant:
Injectivity of polynomial mappings :
The Jacobian determinant of an injective complex polynomial mapping must be constant:
The Jacobian conjecture states that the reverse implication is true:
Indeed, this polynomial mapping with a constant Jacobian is injective:
Injectivity of a real polynomial with symbolic parameters:
Injectivity of a real polynomial mapping with symbolic parameters:
Options (4)Common values & functionality for each option
Assumptions (1)
FunctionInjective is unable to decide injectivity of for arbitrary
:
With assumed to be an odd integer, FunctionInjective succeeds:
GenerateConditions (2)
By default, FunctionInjective may generate conditions on symbolic parameters:
With GenerateConditionsNone, FunctionInjective 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 (17)Sample problems that can be solved with this function
Basic Applications (8)
is not injective, because the value
is attained more than once:
Each value is attained at most once:
Check injectivity of in its real domain:
is injective in its real domain
:
Check injectivity of Clip[x] over unrestricted reals:
Values and
are attained more than once on, respectively, [-∞,-1] and [1, ∞]:
Clip[x] restricted to the interval [-1, 1] is injective:
A function is injective if any horizontal line intersects its graph at most once:
If a horizontal line intersects the graph more than once, the function is not injective:
Periodic functions are not injective:
Use FunctionPeriod to check whether a function is periodic:
A periodic function attains each value infinitely many times:
Functions whose derivative has a fixed positive or negative sign are injective:
Use FunctionSign to find the sign of a derivative:
The function is strictly increasing, and hence injective:
Integrals of functions that have a fixed positive or negative sign are injective:
Integrate a positive piecewise function for argument values in [0,2]:
The integral is injective for 0≤x≤2:
Injective functions do not need to be continuous or monotonic:
A continuous injective function does not need to be monotonic:
The function is continuous, but its domain is not a connected set:
Check injectivity of a mapping :
A part of the ParametricPlot has been covered twice:
For positive and
, the mapping is injective:
Each point of the ParametricPlot is covered once:
Here, the point {0,0} is clearly covered multiple times:
Solving Equations & Inequalities (4)
is injective if for any value of
, the equation
has at most one solution for
:
There is at most one solution of :
The equation has two solutions:
The restriction of to
is injective:
The equation has at most one solution with
:
Any injective function has an inverse function:
The domain of the inverse function is the range of :
A differentiable function with a nonzero derivative, defined on a connected set, is injective:
The derivative of is positive for
:
The inverse function of satisfies the equation
:
Check that the result is indeed the inverse function of for
:
Probability & Statistics (2)
The CDF of a distribution with a strictly positive PDF is injective:
SurvivalFunction and Quantile are injective as well:
Calculus (3)
Compute by change of variables:
If is an injective mapping, then
:
Find the range of to determine the integration bounds:
Compute the original integral directly:
Compute the surface area of a ball with radius using a rational parametrization:
Check that the parametrization is injective:
The surface area is equal to the integral of square root of Gram determinant of :
Integrate over the "eight surface" using a rational parametrization:
Check that the parametrization is injective outside a one-dimensional set:
Compare with the value computed using the implicit description of the "eight surface":
Properties & Relations (3)Properties of the function, and connections to other functions
is injective iff the equation
has at most one solution for each
:
Use Solve to find the solutions:
A real univariate continuous function on a connected set is injective iff it is monotonic:
Use FunctionMonotonicity to determine the monotonicity of a function:
A complex polynomial mapping is injective iff it has a polynomial inverse:
Use Solve to find the polynomial inverse:
Possible Issues (1)Common pitfalls and unexpected behavior
FunctionInjective determines the real domain of functions using FunctionDomain:
is injective in the real domain reported by FunctionDomain:
is real valued and not injective over the whole reals:
All subexpressions of need to be real valued for a point to belong to the real domain of
:
Text
Wolfram Research (2020), FunctionInjective, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionInjective.html.
CMS
Wolfram Language. 2020. "FunctionInjective." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FunctionInjective.html.
APA
Wolfram Language. (2020). FunctionInjective. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionInjective.html