Fwd: [sage-devel] [Bug] Possible Bug in FrobeniusMap for ntl finite fields of characteristic 2

13 views
Skip to first unread message

Dima Pasechnik

unread,
Jul 1, 2020, 4:43:50 AM7/1/20
to sage-nt

---------- Forwarded message ---------
From: Maxime Bombar <maxime...@inria.fr>
Date: Wed, 1 Jul 2020, 09:36
Subject: [sage-devel] [Bug] Possible Bug in FrobeniusMap for ntl finite fields of characteristic 2
To: <sage-...@googlegroups.com>


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 sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/3a3e2eda-230c-fd42-3401-c53d3f497f53%40inria.fr.
signature.asc
Reply all
Reply to author
Forward
0 new messages