Robin Kurtz
Robin Kurtz

Reputation: 115

How to get the vector representation of a polynomial in GF(2)[x]?

I tried to multiply two polynomials g(x), h(x) ∈ GF(2)[x]. And I got the result as c(x). I would like to get the vector representation of c(x).

Here is the code I am sharing.

import galois 
GF = galois.GF(2)
g = galois.Poly([1, 0, 1, 1], field=GF)
h = galois.Poly([1, 1, 0], field=GF)
c = g * h
print(c)

The output I am getting is

x^5 + x^4 + x^3 + x

but I would like to get output in vector form, i.e.,

[1, 1, 1, 0, 1, 0]

Any suggestion about how I can get the answer in vector form?

I tried the using calling the function

GF("c").vector()

but it is giving me the wrong answer.

Upvotes: 2

Views: 464

Answers (1)

LeopardShark
LeopardShark

Reputation: 4446

Use c.coeffs. This gives:

GF([1, 1, 1, 0, 1, 0], order=2)

This form may be satisfactory for whatever you are trying to do. If not, you can (among other things) turn it into a normal Python list[int] with [int(i) for i in c.coeffs], yielding:

[1, 1, 1, 0, 1, 0]

Upvotes: 1

Related Questions