leimkuhl@uiucdcsp.UUCP (02/21/85)
The problem was to solve
y = x*z^x
for x in terms of y and z.
Solution:
x * z^x = x * z * z^(x-1)
= z * x * z^(x-1)
= z * d(z^x)/dz
Thus we would like a solution to the problem
y/z = d(z^x)/dz
Int( s=1,z; yds/s ) = z^x - 1^x = z^x - 1
or,
ylog(z) = z^x - 1
Solving for x, we have
x = log( y*log(z) + 1 ) / log(z)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Did you find the flaw in that derivation? Be honest!
It is true that the above solution for x solves
y = z * d(z^x)/dz,
but that does not make it a solution of y = x * z^x.
The reason is that x is a function of z (and y, too, but we
can assume y is constant). Thus the first step in the above
derivation is wrong:
y = x * z^x
d(z^x)/dz
=>> y = z * --------- (here d/dz denotes partial wrt z)
dx/dz
If we rewrite, letting z = t, y = a, x=f(t), we get a more easily
understandable problem (we are so conditioned to regard x as a variable!)
f(t) * t^f(t) = a (*)
Which yields, with the above technique,
af'/t = d(t^f(t))/dt
Which is not so easily dealt with.
If we take logarithms of both sides of (*), divide through by f,
and collect terms, we get
log(f/a)/f = -log(t)
But this is the only thing that occurs. Almost certainly you
will have to solve such a nonlinear implicit equation as (*) by
numerical approximation (or series). I haven't thought about what
a good numerical method might be for this problem.
-Ben Leimkuhler