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
