Here is an example how it will work:
(%i2) F2_4 : gf_set(2, 4)$
(%i3) gf_set(2, 8)$
(%i4) gf_order();
(%o4) 255
(%i5) gf_set_again(F2_4);
(%o5) true
(%i6) gf_order();
(%o6) 15
(%i7) F2_4;
4
(%o7) gf_data(characteristic = 2, exponent = 4, reduction = x + x + 1,
primitive = x, cardinality = 16, order = 15,
factors_of_order = [[3, 1], [5, 1]])
In addition there is also a function gf_info() which returns the
current gf_data-structure as a string (which can be parsed if
necessary).
Volker
2012/12/10 Oliver Kullmann <O.Kullmann at swansea.ac.uk>:
> Hello Volker,
>
>>> Hello,
>>>
>>> there is a long-standing problem with the package gf:
>
>> Hello Oliver,
>
>> for that reason gf was fully reviewed. There are about 2000 new lines
>> of code. I do not expect they are free of bugs. So you are invited to
>> find some.
>
> Sure! (The "long-standing problem" wasn't meant to be negative --- I just
> had it in our files for some time, that made it "long-standing" ;-)).
>
>> To which documentation do you refer?
>
> With 5.29.0 comes a file "gf_manual.pdf":
>
> Finite Fields Computations in Maxima
> Fabrizio Caruso
> caruso at dm.unipi.it
> Jacopo D?Aurizio
> elianto84 at gmail.com
> Alasdair McAndrew
> amca01 at gmail.com
> Volker van Nek
> volkervannek at gmail.com
> April, 2008 - December, 2012
>
>> PS: Also in git (but not part of 5.29) is implemented what you
>> proposed in an earlier mail: gf_set now returns a structure which
>> contains all data to allow 'gf_set_again(structure)' to construct the
>> same field from this data without a second computation.
>
> Great! Actually, one would then also need a function which just returns
> that structure, in order to be able to write "safe" functions, which
> store the current state of gf, set it to a new value, and upon leave
> reset it to the old value.
>
> One could use "gf_set()" (no arguments), but perhaps "gf_get()" would be
> better.
>
> Best
>
> Oliver
>