finding out if expr has the form F(y/x^a)



(1)  Assuming differentiability, I think you can get the value of 'a' using  solve(ratsimp(g*y*diff(e,y) + x * diff(e,x) + (1-g)* e), g).  Here g 
      might be a gensym.  Remember that solve might return 'all.' This will be a special case, more or less. When e involves symbolic functions 
     (for example  e = h(x * y) * y/x), I think all this will work better using pdiff. 

(2) Test that 'a' is free of x & y. Maybe 'a' needs to be ratsimp'ed---not sure.

(3) After this, a bit of ratsubst should polish off the calculation. Maybe there needs to be another freeof check--not sure.
     Some simplifications (say sqrt(x^2) --> |x|) might interfere with all this, I don't know--(too many) option variables control such things...



--Barton


--------------------------------------------------------------------------------


What if f is very complicated.  It seems impossible except to write a huge case statement or you could do a lookup in a table, maybe. But in that case the table would be very large and the procedure for handling each case would be different and so I ask how much time is worth spending on this?