Revision history [back]

Finite Fields: Basic Question

Good people!

So I'm currently working on a problem where I am dealing with a variety of variables which takes values in finite fields. After originally having tried for a week to do this the hard way from scratch in Python, the other day, my supervisor suggested that, hey, you know, SageMath already comes with the full functionality of finite fields, so why not give it a go? And so I installed it just yesterday!

I'm having problems finding the appropriate tutorials online to figure out the answer for a problem that is quite simple. Specifically, let's say that I create the finite field of order $3^2$,

k = GF(9, 'a')


Then that has elements ${0,a,a + 1,2a + 1,2,2a,2a + 2,a + 2,1}$. Now, I just want to start assigning various variables values in this field, for example, to just take something out of the blue, set $x = 2a+1$, then my natural assumption would be that, "ah, you just write:"

x = 2*a+1


But, well, turns out you cannot do that, which in retrospect is fairly obvious, since $k$ is some sort of array or another.

Can someone please give either some pointer or direct me to a place where it is explained how you work with variables that take values in a finite field?

 2 retagged tmonteil 20933 ●25 ●150 ●387 http://wiki.sagemath.o...

Finite Fields: Basic Question

Good people!

So I'm currently working on a problem where I am dealing with a variety of variables which takes values in finite fields. After originally having tried for a week to do this the hard way from scratch in Python, the other day, my supervisor suggested that, hey, you know, SageMath already comes with the full functionality of finite fields, so why not give it a go? And so I installed it just yesterday!

I'm having problems finding the appropriate tutorials online to figure out the answer for a problem that is quite simple. Specifically, let's say that I create the finite field of order $3^2$,

k = GF(9, 'a')


Then that has elements ${0,a,a + 1,2a + 1,2,2a,2a + 2,a + 2,1}$. Now, I just want to start assigning various variables values in this field, for example, to just take something out of the blue, set $x = 2a+1$, then my natural assumption would be that, "ah, you just write:"

x = 2*a+1


But, well, turns out you cannot do that, which in retrospect is fairly obvious, since $k$ is some sort of array or another.

Can someone please give either some pointer or direct me to a place where it is explained how you work with variables that take values in a finite field?