We have the bug report ID: 900860 "Simplifications involving abs".
I have done an implementation for the discussed cases. The new results
are:
(%i4) abs(x)/x^2;
(%o4) 1/abs(x)
(%i5) x^2/abs(x);
(%o5) abs(x)
(%i6) abs(x)^3;
(%o6) x^2*abs(x)
(%i7) abs(x)^3/x;
(%o7) x*abs(x)
It works for expressions and a lot of more examples too:
(%i8) (a+x)^2/abs(a+x);
(%o8) abs(x+a)
This type of simplification is not done for a complex argument:
(%i14) declare(z,complex)$
(%i15) abs(z)/z^2;
(%o15) abs(z)/z^2
(%i16) abs(z)^3;
(%o16) abs(z)^3
If it is of interest to have this type of simplification I can commit
the implementation.
The testsuite and the share_testsuite have no problems.
By the way: The simplification of expressions like abs(x)/x^2 is done in
the routine timesin. Four cases have to be implemented to get it
commutative, e.g. 1/x^2*abs(x) and abs(x)/x^2 both simplifies to
1/abs(x).
The simplification of abs(x)^n, for n an odd integer is implemented in
the routine simpexpt.
Dieter Kaiser