See the 9th example of
3.3.1 Examples of ring declarations
http://www.singular.uni-kl.de/Manual/la ... .htm#SEC39 You can define algebraic extension of finite fields in two ways.
Either you specify the
primepower. Then Singular
sets a minpoly itselfs. The limitation, that is must hold
p^n <=2^16=65536 is valid for this approach.
Code:
> ring rGF8 = (8,a),x,dp;
> basering;
// # ground field : 8
// primitive element : a
// minpoly : 1*a^3+1*a^1+1*a^0
// number of vars : 1
// block 1 : ordering dp
// : names x
// block 2 : ordering C
> 2*a2+a;
a
If you try to define a Galoisfield with 2^24 elements
in this way,
then Singular guesses, that you want to define a basering with
characteristic p, where p is the largest prime number less or equal
to what you specify as characteristic.
See this:
Code:
> 2^24;
16777216
> prime(2^24); // the largest prime below or equal to the input
16777213
> ring rGF16777216 = (16777216,b),x,dp;
> basering;
// characteristic : 16777213 // <-- this is not 2^24
// 1 parameter : b
// minpoly : 0 // <-- a minpoly is not set yet
// number of vars : 1
// block 1 : ordering dp
// : names x
// block 2 : ordering C
News for version 3-0-4 says:
kernel: use Conway polynomials and support more finite fields
(I.e. /Singular/3-1-1/LIB/gftables
only shows a part of what is intenal possible.)
or, you specify the characteristic of the groundfield
and define a minimal polynomial. This is a you did above.
Code:
> ring r2ext = (2,a),x,dp;
> minpoly = a3+a+1;
> basering;
// characteristic : 2
// 1 parameter : a
// minpoly : (a3+a+1)
// number of vars : 1
// block 1 : ordering dp
// : names x
// block 2 : ordering C
> a2+a;
(a2+a)
> 2*a2+a;
(a)
6.1 Limitations
http://www.singular.uni-kl.de/Manual/la ... htm#SEC386 seems not to state something about limitations in this case.
This means, if you know the minpoly for the the alg extension
of degree 24 or higher, it should be possible that you set it.
Ch. Gorzel