On Mon, May 11, 2009 at 12:19 PM, Conrado PLG <
conra...@gmail.com> wrote:
>
> Hello,
>
> I'm trying to build a "tower" of field extensions but an error occurs.
> This is the code:
>
> p = 0xb640000000008c6352000000288d94aa50000534d459922940402af3364b031b
> R = GF(p)
> _.<X> = PolynomialRing(R)
> R2.<X> = R.extension(X^2+1, 'X')
> _.<Y> = PolynomialRing(R2)
> xi = -X + 1
> R6.<Y> = R2.extension(Y^3-xi, 'Y')
> _.<Z> = PolynomialRing(R6)
> R12.<Z> = R6.extension(Z^2-(Y), 'Z')
>
> An "NotImplementedError" is raised on the "_.<Z> = PolynomialRing(R6)"
> line. Is there any other way to accomplish this, or it's just a Sage
> limitation? From the traceback, I see it tries to factor the modulus
> of R6 but it fails.
Here's a total hack to get around the problem:
sage: p = 0xb640000000008c6352000000288d94aa50000534d459922940402af3364b031b
sage: R = GF(p)
sage: _.<X> = PolynomialRing(R)
sage: R2.<X> = R.extension(X^2+1, 'X')
sage: _.<Y> = PolynomialRing(R2)
sage: xi = -X + 1
sage: R6.<Y> = R2.extension(Y^3-xi, 'Y')
sage: R6.is_field = lambda : True
sage: _.<Z> = PolynomialRing(R6)
sage: R12.<Z> = R6.extension(Z^2-(Y), 'Z')
sage: R12
Univariate Quotient Polynomial Ring in Z over Univariate Quotient
Polynomial Ring in Y over Univariate Quotient Polynomial Ring in X
over Finite Field of size
82434016654300524875808230406429140937527925673742161687619861377398365422363
with modulus X^2 + 1 with modulus Y^3 + X +
82434016654300524875808230406429140937527925673742161687619861377398365422362
with modulus Z^2 +
82434016654300524875808230406429140937527925673742161687619861377398365422362*Y
--
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org