InverseFunctions

InverseFunctions
is an option for Solve and related functions that specifies whether inverse functions should be used.

DetailsDetails

  • Settings for InverseFunctions are:
  • Truealways use inverse functions
    Automaticuse inverse functions, printing a warning message (default)
    Falsenever use inverse functions
  • Inverse functions provide a way to get some, but not in general all, solutions to equations that involve functions which are more complicated than polynomials.
  • Solve[x+E^x==a, x, InverseFunctions->True] gives a single solution in terms of ProductLog. In fact, there is an infinite number of solutions to the equation, corresponding to different branches of ProductLog. Solve gives only one of these solutions.
  • When there are several simultaneous equations to be solved in terms of inverse functions, Solve may fail to find any solutions, even when one exists.
  • When inverse functions are allowed, Solve solves for first, then applies InverseFunction[f] to the result, equates it to expr, and continues trying to solve for the remainder of the variables.

ExamplesExamplesopen allclose all

Basic Examples (3)Basic Examples (3)

By default, Solve uses inverse functions but prints warning messages:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

For symbols with the NumericFunction attribute, symbolic inverses are not used:

In[3]:=
Click for copyable input
Out[3]=

With InverseFunctions->True, Solve does not print inverse function warning messages:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

Symbolic inverses are used for all symbols:

In[3]:=
Click for copyable input
Out[3]=

With InverseFunctions->False, Solve does not use inverse functions:

In[1]:=
Click for copyable input
Out[1]=

Here, a method based on Reduce is used, as it does not require using inverse functions:

In[2]:=
Click for copyable input
Out[2]=

Solving algebraic equations does not require using inverse functions:

In[3]:=
Click for copyable input
Out[3]=
New in 2
New to Mathematica? Find your learning path »
Have a question? Ask support »