factor over complex numbers?



Stavros Macrakis wrote:
>
> The meaning of factor(ppp,qqq) is "factor ppp over the polynomial ring 
> where
> qqq=0".
>
> For example:
>
>    factor (  x^2 - 2*p*x +2 , p^2-2 ) =>  (x - p)^2
>
> So if you do factor(x^3+1,x^3+1) you will naturally get 0, since you've 
> told
> Maxima that x^3+1 = 0.
>
> If you want to introduce a new quantity, you need to use a different
> variable name, e.g.
>
>     factor(x^4+1,q^2+1) => (x^2 - q) * (x^2 + q)
>
>           -s
-----------------
thanks for the helpful explanation, which complements your recent discussion 
of factor
on the mailing list.
So Maxima's gfactor(...) is equivalent to
------------
mygfactor(expr) := subst(q = %i,  factor(expr,  q^2 + 1 ) )$
----------------------------
   mygfactor(expr1);   --->   (x-%i)^5*(x+%i)^5

ted