factor over complex numbers?



"Edwin Woollett" <woollett at charter.net> writes:

>>> Is there any option I can set to get factor(expr1) -> (-%i + x)^5  (%i +
>>> x)^5
>>> instead of getting (1 + x^2)^5 ?
>>>
>
>>factor(expr1,x^2+1);

I think that this should actually be:

factor(expr1, i^2+1);

then you get:

(x-i)^5*(x+i)^5 

and then you can do 

subst(i=%i, %);
 
to get

(x-%i)^5*(x+%i)^5 


>
>>Milan
>
> I get factor(expr1,x^2+1);  --> 0
>

I think the documentation of factor is a bit misleading at this
point.  `factor(expr1,x^2+1)' does not exactly factor expr1 over the
integers with a solution of `x^2 +1' adjoined; ir rather appeats to
factor expr1 over the integers with an new element *called `x'* wich
is a solution to `x^2+1' adjoined.  So if expr1 already contains a
variable `x' this variable is effectively set to be a solution of
`x^2+1'.  For example:

factor(x^2-20, a^2-5); ==> (x-2*a)*(x+2*a)
factor(x^2-20, x^2-5); ==> -3*5

BTW, is the last result a bug? 

Nikos