10 views

Skip to first unread message

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>

From:

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.

Reply all

Reply to author

Forward

0 new messages

Search

Clear search

Close search

Google apps

Main menu