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)
Scope (12)
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)
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)
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)
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)
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