Re: PolynomialGCD
- To: mathgroup at smc.vnet.net
- Subject: [mg60291] Re: [mg60276] PolynomialGCD
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sat, 10 Sep 2005 06:46:40 -0400 (EDT)
- References: <200509090807.EAA16029@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 9 Sep 2005, at 17:07, jonspalmer at gmail.com wrote:
> Is there anyway to get PolynomialGCD to work with Complex numbers? For
> example get:
>
> PolynomialGCD[(x+y) I, (x+y) 2 I]
>
> to return:
>
> (x+y) I
>
>
> ?
>
> Many thanks
> Jon Palmer
>
>
It looks to me you have found prehistoric bug. But first let me point
out that in general PolynomialGCD cannot be expected to work over
real or complex numbers. PolynomialGCD is mathematically defined but
it does not make sense to try to compute it by means of the Euclidean
algorithm because a crucial step in the algorithms demands
determining if a real or complex expression is 0 and this cannot be
done exactly. On the other hand there is no problem with using the
Euclidean algorithm over any algebraic extension of the rationals,
and you can do it with PolynomialGCD by means of the option Extension-
>{a sequence of algebraic numbers}.
However, this has nothing to do with the problem here. In fact just
replace I by 1+I and everything works fine:
PolynomialGCD[(x + 1)*(I + 1), (x + 1)*2*(I + 1)]
(1 + I)*x + (1 + I)
here PolynomialGCD simply treats I as a variable, which is exactly
what the documentation tells you it will do:
PolynomialGCD[poly1, poly2, ? ] will by default treat algebraic
numbers that appear in the polyi as independent variables.
So we have to conclude that
PolynomialGCD[(x+y) I, (x+y) 2 I]
x+y
is a bug and one that must have been with us since time immemorial.
In the immortal words of a former contributor this list it is a "bug
the long liver" ;-)
Andrzej
- References:
- PolynomialGCD
- From: jonspalmer@gmail.com
- PolynomialGCD