ex: (a+%i)/(a-%i)$
ex1: (%i*a-1)/(%i*a+1)$
Expressions ex and ex1 are equivalent, as can be seen by ratsimp(ex-ex1).
However, ratsimp(ex)=>ex and ratsimp(ex1)=>ex1. It would be nicer if
ratsimp(ex) were the same as ratsimp(ex1). Currently, the only way I
know to canonicalize ex1 to ex is gfactor.
The root cause is presumably that gcd(num(ex1),denom(ex1))=>1 (even
with gcd:algebraic). This is correct, since gcd's are only unique up
to units. But the gcd's are also 1 for the num/denom of (1-a)/(1-b)
and (a-1)/(b-1), which ratsimp successfully canonicalizes.
It would be nice if ratsimp(ex1) => ex.
-s