On May 25, 12:26 pm, "D. Monarres" <[email protected]> wrote:
> Then I construct F_{5^2}
>
> sage: F25.<a>   = F5.extension( PR[0], 'a')
>
> and everything works great. The problem arises when  I want to extend
> this field. When I try to construct my polynomial over F25 I get an
> error that F25 does not allow for iteration.

You are hitting a generic implementation here. The same code would get
called for other base rings as well. If you want a finite field, you
can use the "modulus=" keyword with GF. See "GF?" for more
information.

> Do you think that
> PolynomialQuotientRing_field can be extended to support iteration as
> long as it is finite?

It could, but it might be the wrong place to do it. The fact that the
result was going to be finite was already known when F5.extension got
called, so the obvious place to effect a changed behaviour would be by
specializing the "extension" method on finite fields. If the modulus
is irreducible (and even the generic code seems to check for that), it
could specialize to the required GF(...,modulus=,,,) call.

One might want to check that all the generic methods available on the
result of F5.extension are also available on the result of GF,
otherwise the change would break code that depends on the current
behaviour (if any).

The reason why F5.extension doesn't produce a "finite field" is
probably because there is another way of doing that and the original
authors didn't bother specializing F5.extension to it (the very
existence of F5.extension might postdate the GF(...modulus=...) call
and only appear on finite fields due to inheritance).

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to