MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

can't Solve[1 - x == x^r, x]?

I want to solve the equation

1 - x == x^r (1)

for x[r] and for r[x], particularly in the region 0<=r<=1 and 0<=x<=1/2 where both are real. Solving for r works well:

> In[1]:= Solve[1 - x == x^r, r]
> During evaluation of In[1]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>
> Out[1]= {{r -> Log[1 - x]/Log[x]}}

However solving for x does not:

> In[2]:= Solve[1 - x == x^r, x]
> During evaluation of In[2]:= Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way. >>
> Out[2]= Solve[1 - x == x^r, x]

I've tried Reduce and InverseFunction, but they just left the expression unevaluated. For plotting purposes, I used

> Nx[r_] := x /. FindRoot[1 - x == x^r, {x, .13}]

> Plot[{.5 r^.5, .5 r, Nx[r]}, {r, 0, 1}]

The plot is fairly close to .5 r^.5 over this interval, if that helps. Is there really no way for Mathematica to express this function other than as a numerical expression like this? Not even a big, messy formula involving PolyLog and hypergeometric functions?

Scott Centoni

  • Prev by Date: Re: Improt vs Get
  • Next by Date: Re: End of Sound
  • Previous by thread: Re: Improt vs Get
  • Next by thread: Re: can't Solve[1 - x == x^r, x]?