# Inverse of a multivalued function

I try to get the inverse of a simple function like x^2,x≥0. Still, when I use InverseFunction Mathematica gives me back -(y^0.5) which is indeed an inverse, but for x≤0:

InverseFunction[#^2 &]


InverseFunction::ifun: Inverse functions are being used. Values may be lost for multivalued inverses.

-Sqrt[#1] &

I know I could just fix the problem putting a minus before InverseFunction. But is there a way to choose which of the inverse function I can get back, when I deal with a non-injective function like x^2? In other words, which is the option so that InverseFunction gives me back (y^0.5) instead fo -(y^0.5)? Thank you

You can use ConditionalExpression to control which branch InverseFunction uses:
InverseFunction @ Function[x, ConditionalExpression[x^2, x<0]]

• Can we find all possible inverse of a function? For example, how can we find all inverse functions of (2^(x-1)-1)/x? – GarouDan May 19 '18 at 20:08