       Re: A question about algebraic numbers using Mathematica

• To: mathgroup at smc.vnet.net
• Subject: [mg62794] Re: [mg62762] A question about algebraic numbers using Mathematica
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Mon, 5 Dec 2005 13:40:57 -0500 (EST)
• References: <200512050837.DAA08323@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```On 5 Dec 2005, at 17:37, Kent Holing wrote:

> I want to find the inverse of 2 - r in Q[r] where r is a root of
> the equation
> x^4 - 2c x^3 + (c^2 - 2a^2) x^2 + 2a^2 c x - a^2 c^2 = 0 for a, b
> and c integers.
>
> Can this be done for general a, b and c? (I know how to do it for
> specific given numerical values of a, b and c.)
>
> Kent Holing
>

I think this can be done using Groebner basis. Suppose r satisfies
the above equation and let v be 2-r. Let us first find the algebraic
equation satisfied by v.

In:=
poly1 = First[GroebnerBasis[{r^4 - 2*c*r^3 + (c^2 - 2*a^2)*r^2 +
2*a^2*c*r - a^2*c^2, v - (2 - r)}, {a, b, c, v},
{r}]]

Out=
v^4 + 2*c*v^3 - 8*v^3 - 2*a^2*v^2 + c^2*v^2 - 12*c*v^2 + 24*v^2 +
8*a^2*v - 4*c^2*v - 2*a^2*c*v + 24*c*v - 32*v -
8*a^2 - a^2*c^2 + 4*c^2 + 4*a^2*c - 16*c + 16

From this we can easily see what the inverse of v is as a polynomial
in v with rational coefficients, and by substituting 2-r for v we can
also get a polynomial in r. We proceed as follows. First we find the
free term (not involving v) in poly1:

In:=
free = poly1 /. v -> 0

Out=
(-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16

Next we subtract the free term from poly1 and divide by v:

In:=
poly2 = Cancel[(poly1 - free)/v]

Out=
v^3 + 2*c*v^2 - 8*v^2 - 2*a^2*v + c^2*v - 12*c*v + 24*v + 8*a^2 -
4*c^2 - 2*a^2*c + 24*c - 32

Now substitute 2-r for v:

In:=
q = Expand[poly2 /. v -> 2 - r]

Out=
-r^3 + 2*c*r^2 - 2*r^2 + 2*a^2*r - c^2*r + 4*c*r - 4*r + 4*a^2 -
2*c^2 - 2*a^2*c + 8*c - 8

The inverse ought to be the polynomial poly3 given by:

In:=
poly3 = Expand[(q/free)*(r - 2)]

Out=
-(r^4/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16)) +
(2*c*r^3)/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16) +
(2*a^2*r^2)/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16) -
(c^2*r^2)/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16) -
(2*a^2*c*r)/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16) -
(8*a^2)/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16) +
(4*c^2)/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16) +
(4*a^2*c)/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16) -
(16*c)/((-c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16) + 16/((-
c^2)*a^2 + 4*c*a^2 - 8*a^2 + 4*c^2 - 16*c + 16)

Finally we check that this is indeed the inverse of r-2 modulo the
original polynomial p:

In:=
FullSimplify[PolynomialReduce[poly3, r^4 - 2*c*r^3 + (c^2 - 2*a^2)
*r^2 + 2*a^2*c*r - a^2*c^2, r]]

Out=
{{1/(a^2*((c - 4)*c + 8) - 4*(c - 2)^2)}, 1}

We get the remainder 1, as we should.

Andrzej Kozlowski

```

• Prev by Date: Re: Convert to hypergeometric function
• Next by Date: Re: A question about algebraic numbers using Mathematica
• Previous by thread: Re: Re: A question about algebraic numbers using Mathematica
• Next by thread: Re: A question about algebraic numbers using Mathematica