1 | initial version |

There is a method to pass from an element of `GF(2^n)`

to a polynomial with coefficients in `GF(2)`

:

```
sage: n = 5
sage: F.<t> = GF(2^n)
sage: f = F.random_element()
sage: f
t^4 + t^3 + t + 1
sage: p = f.polynomial()
sage: p
t^4 + t^3 + t + 1
```

`f`

and `p`

look the same, but they are not: the first belong to `GF(2^n)`

, the second is a genuine polynomial with coeffs in `GF(2)`

:

```
sage: f.parent()
Finite Field in t of size 2^5
sage: p.parent()
Univariate Polynomial Ring in t over Finite Field of size 2 (using GF2X)
```

Now, you can ask for the coeffs of `p`

(in the variable `t`

):

```
sage: p.coefficients(sparse=False)
[1, 1, 0, 1, 1]
```

Or (even better):

```
sage: p.dict()
{0: 1, 1: 1, 3: 1, 4: 1}
```

2 | No.2 Revision |

There is a method to pass from an element of `GF(2^n)`

to a polynomial with coefficients in `GF(2)`

:

```
sage: n = 5
sage: F.<t> = GF(2^n)
sage: f = F.random_element()
sage: f
t^4 + t^3 + t + 1
sage: p = f.polynomial()
sage: p
t^4 + t^3 + t + 1
```

`f`

and `p`

look the same, but they are not: the first belong to `GF(2^n)`

, the second is a genuine polynomial with coeffs in `GF(2)`

:

```
sage: f.parent()
Finite Field in t of size 2^5
sage: p.parent()
Univariate Polynomial Ring in t over Finite Field of size 2 (using GF2X)
```

Now, you can ask for the coeffs of `p`

(in the variable `t`

):

```
sage: p.coefficients(sparse=False)
[1, 1, 0, 1, 1]
```

Or (even better):

```
sage: p.dict()
{0: 1, 1: 1, 3: 1, 4: 1}
```

**Warning**: be careful that without the `sparse`

option, `coefficients`

will only give the nonzero coefficients:

```
sage: p.coefficients(sparse=False)
[1, 1, 0, 1, 1]
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.