Loading [MathJax]/jax/output/HTML-CSS/jax.js

First time here? Check out the FAQ!

Ask Your Question
1

simplifying expressions in GF(2)

asked 10 years ago

freako89 gravatar image

updated 10 years ago

Hi guys,

I know that for a variable x in GF(2), x2=x, and 2x=0.

How do I simplify a polynomial expression in GF(2) in the Sage interface?

For example, I should obtain

(a+b+1)2=a2+b2+1+2a+2b+2ab=a+b+1

Preview: (hide)

2 Answers

Sort by » oldest newest most voted
1

answered 10 years ago

vdelecroix gravatar image

The simplest is to work over boolean polynomials

sage: B.<a,b> = BooleanPolynomialRing(2)
sage: (a+b+1)^2
a + b + 1

But you can also use the more general quotient of polynomial rings (notice that in GF(2) a equals -a)

sage: R.<a,b> = PolynomialRing(GF(2), 'a,b')
sage: Rbar = R.quotient([a^2+a, b^2+b])
sage: abar,bbar = Rbar.gens()
sage: abar
abar
sage: (abar+bbar+1)^2
abar + bbar + 1
Preview: (hide)
link
0

answered 10 years ago

rws gravatar image

I'm not sure why you think that x^2=x and Sage gives

sage: R.<a,b> = PolynomialRing(GF(2), 'a,b')
sage: (a+b+1)^2
a^2 + b^2 + 1
Preview: (hide)
link

Comments

The question is how to manipulate expressions involving variables which are assumed to live in GF(2). In this context, x, a, b, etc. are thought of as elements in GF(2), not as indeterminates of polynomial rings over in GF(2). The question mentions polynomial expressions in such variables, but this does not mean formal polynomials.

slelievre gravatar imageslelievre ( 10 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 10 years ago

Seen: 523 times

Last updated: Feb 16 '15