Re: Inverse of arbitrary functions

*To*: mathgroup at smc.vnet.net*Subject*: [mg74582] Re: [mg74497] Inverse of arbitrary functions*From*: "Chris Chiasson" <chris at chiasson.name>*Date*: Tue, 27 Mar 2007 04:00:20 -0500 (EST)*References*: <200703240006.TAA16019@smc.vnet.net>

It is worth pointing out that /; and -> are not symbols. They are more like infix operators, such as +, -, /, etc... The main difference is that /; and -> only join two other pieces of syntax, while + can be used to join two or more pieces of syntax. After transformation to an expression, the result of 1+a+b is Plus[1,a,b], whcih you can check by using FullForm. The result of 1/;a is Condition[1,a]. On 3/23/07, Dave Rudolf <dave.rudolf at usask.ca> wrote: > Hey all, > > Is there some way to get Mathematica to find the symbolic inverse of a > user-defined function? I know that I can use InverseFunction to find the > inverse of simple functions, like so: > > InverseFunction[Log] -> Exp > > However, I would like to do something like > > f[ x_ ] = x + sin[ x + cos[ x ] ] > > InverseFunction[ f ] > > I did run across a similar newsgroup post that said to use the Solve > function, like so: > > inverse[f_, x_] /; PolynomialQ[f, x] && Not[FreeQ[f, x]] := > Module[{y}, Solve[f == y, x][[1, 1, 2]] /. y -> x] > > However, it doesn't seem to work as is, and I don't understand the > syntax of some of the stuff. Like, what's with the -> symbol? And \; for > that matter? > > Anyway, let me know if there is some other way to pull this off. > > Thanks. > > Dave > > -- http://chris.chiasson.name/

**References**:**Inverse of arbitrary functions***From:*Dave Rudolf <dave.rudolf@usask.ca>