---------- Forwarded message --------- From: Maxime Bombar <[email protected]> Date: Wed, 1 Jul 2020, 09:36 Subject: [sage-devel] [Bug] Possible Bug in FrobeniusMap for ntl finite fields of characteristic 2 To: <[email protected]>
Hi, I think there is a bug with the Frobenius Maps of finite fields of characteristic 2 implemented using NTL : Here is what happened with finite fields implemented using the Givaro library (finite fields of characteristic 2 and degree <= 15). This is what we expect. ``` sage: k = GF(2^15) sage: k.frobenius_endomorphism() == k.frobenius_endomorphism() True sage: type(k) <class 'sage.rings.finite_rings.finite_field_givaro.FiniteField_givaro_with_category'> ``` Here is what happened for finite field of odd characteristic (implemented using the PARI library) : ``` sage: k = GF(3^16) sage: k.frobenius_endomorphism() == k.frobenius_endomorphism() True sage: type(k) <class 'sage.rings.finite_rings.finite_field_pari_ffelt.FiniteField_pari_ffelt_with_category'> ``` However, it raises an exception for finite field implemented using NTL (I can give a full traceback, but this is easy to reproduce) : ``` sage: k = GF(2^16) sage: type(k) <class 'sage.rings.finite_rings.finite_field_ntl_gf2e.FiniteField_ntl_gf2e_with_category'> sage: k.frobenius_endomorphism() == k.frobenius_endomorphism() TypeError: None fails to convert into the map's domain Finite Field in z16 of size 2^16, but a `pushforward` method is not properly implemented ``` The same behaviour happens if we force the implementation of a finite field with NTL : ``` sage: k = GF(2^15, impl="ntl") sage: type(k) <class 'sage.rings.finite_rings.finite_field_ntl_gf2e.FiniteField_ntl_gf2e_with_category'> sage: k.frobenius_endomorphism() == k.frobenius_endomorphism() TypeError: None fails to convert into the map's domain Finite Field in z15 of size 2^15, but a `pushforward` method is not properly implemented ``` I checked this on each version of sagemath since 8.6 using CoCalc on the sage website. I'm trying to help here, and if I find something I will be pleased to propose a fix, so if someone familiar with the codebase is willing to give me a hint, I would be glad. Many thanks, -- Maxime Bombar -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/3a3e2eda-230c-fd42-3401-c53d3f497f53%40inria.fr . -- You received this message because you are subscribed to the Google Groups "sage-nt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-nt/CAAWYfq3EnvABicetHedkz40gB4bB3r%3Dv7T1ZMMNkqMLpygc4XA%40mail.gmail.com.
-----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQSfdT94uKBZBdPsXDhKYo604UfheAUCXvxK/QAKCRBKYo604Ufh eDxNAQDrCE6SzIyEJDMDyiItp6YQb+RXyh6ZtZXmwV+N6+P//QEAjxMuj1NgA7XY n7K6xokp5tijcw62tGe+jIh7KDwQOQY= =bZFo -----END PGP SIGNATURE-----
