Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Suppose there is some function with the property

f[x,y] f[y,x^2] / f[x^3,y] == f[2x,y]

How can I simplify an arbitrary expression that contains the lhs of the above equation in a somewhat obscured way? Say as in

a f[x^3,y] b / (c f[y,x^2] d f[x,y] e)

I tried Simplify with TransformationFunctions but I only seem to be able to replace the three f when they're literally next to each other in the syntax tree. Any ideas on how to proceed?

share|improve this question
add comment

1 Answer

In this specific case, evaluating expressions like these will work:

EX1 = (f[x, y] f[y, x^2]/f[x^3, y] == f[2 x, y]);
EX2 = a f[x^3, y] b/(c f[y, x^2] d f[x, y] e);
EX2 /. Solve[EX1, f[x, y]]

{(a b)/(c d e f[2 x, y])}

As a purely formal exercise you could name your expressions by introducing some new variables and eliminate the unneeded parts:

Eliminate[{
  f[x, y] f[y, x^2]/f[x^3, y] == expr1,
  f[2 x, y] == expr1,
  a f[x^3, y] b/(c f[y, x^2] d f[x, y] e) == expr2}, {f[x, y], 
  f[y, x^2], f[x^3, y]}]

expr1 expr2 == (a b)/(c d e) && f[2 x, y] == expr1 && c != 0 && d != 0 && e != 0

which gives the needed connection between expr2 and expr1 with original lhs elimintaed.

Also you could evaluate:

Cases[Reduce[{
   f[x, y] f[y, x^2]/f[x^3, y] == expr1,
   f[2 x, y] == expr1,
   a f[x^3, y] b/(c f[y, x^2] d f[x, y] e) == expr2}, expr2]
 , expr2 == _]

{expr2 == (a b)/(c d e f[2 x, y])}

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.