Singular
https://www.singular.uni-kl.de/forum/

doubts about declaration of ring or galois field
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=1823
Page 1 of 1

Author:  gepo [ Thu Apr 08, 2010 6:36 am ]
Post subject:  doubts about declaration of ring or galois field

Hi, all,
I am not sure what the range of a ring (galois field) is in Singular.
For example, I want to define a Galois field GF(2^m):

ring r=(2,a),x,dp;
minpoly=a^m+...; //here is a min polynomial definition

and I want to know how large the "m" in GF(2^m) can be?

from link: http://www.singular.uni-kl.de/Manual/la ... .htm#SEC38

2^m should be less than 2^16, which means "m" should be less or equal than 16, is this correct?

But I tried when "m=24", it worked correctly.

Would you like to clear my doubts?

Thanks a lot.
Gepo

Author:  gorzel [ Thu Apr 08, 2010 6:08 pm ]
Post subject:  Re: doubts about declaration of ring or galois field

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

Author:  gepo [ Thu Apr 08, 2010 7:13 pm ]
Post subject:  Re: doubts about declaration of ring or galois field

"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".

Thanks for your long reply. I just need to know whether your conclusion is for sure:
for GF(2^m) with "m" greater or equal to 32, whether Singular support operations on it.

Thanks so much.
Gepo

Author:  gepo [ Fri Apr 09, 2010 12:25 am ]
Post subject:  Re: doubts about declaration of ring or galois field

yes, it can work for GF(2^32).
just let your guys know.

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/