Dear GAP Forum,

On 24 Oct 2014, at 14:43, Luca Giuzzi <luca.giu...@gmail.com> wrote:

> Dear Forum,
> I have been working with some elements defined over a large finite
> field (K=GF(2^20), actually) and I have a few questions.
> 
> 1) does there exist a "proper" way to obtain a vector representation
> (any representation is fine) for elements of K over the ground field?
> I have successfully used the idiom x![1] for x in K, but I suspect
> that this is more of an implementation detail than what is supposed to
> be used.


The “proper" way is to make a basis of the field (considered as a vector space) 
and
then ask for the coefficients of an element with respect to this basis:

gap> k := GF(2,20);
GF(2^20)
gap> z := Random(k);
1+z+z2+z4+z5+z6+z7+z8+z11+z14+z15+z16+z17+z18
gap> b := Basis(k);
CanonicalBasis( GF(2^20) )
gap> Coefficients(b,z);
<an immutable GF2 vector of length 20>
gap> 



> 
> 2) In any case ended up working with sets of vectors of GF(2)^20. I
> would have liked to be able to represent each vector as an integer
> (this is easy) and to implement the sum of any two of them as a xor
> between their representatives. I have not been able to find a xor
> operation being exposed (not even in the cvec package). Am I missing
> something?
> [actually, I ended up writing an external program to perform the
> checks I was interested in]

The addition operation for compressed vectors over GF(2) reduces to bitwise xor 
behind 
the scenes, although there will still be some overhead associated with method 
selection, 
dereferencing the objects to find the bits to xor, etc.

Adding bitwise operations for integers has been on our wish list for a while, 
though. I also notice that there is 
no xor operation for Blists (lists of Booleans, represented as bit lists) which 
seems like an oversight.

        Steve


> 
> With many thanks and kind regards,
> lg
> 
> _______________________________________________
> Forum mailing list
> Forum@mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum


_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to