Post new topic Reply to topic  [ 10 posts ] 
Author Message
 Post subject: How to use NTL in singular?
PostPosted: Sun Aug 21, 2011 10:39 am 
I want to generate a random element in a finite field, (may not be a prime field), do I have to write dynamic module? And I can't find a file to reference with the sourcecode written in the structure of dynamic module. Besides, how can I use NTL in singular? Should I write dynamic module too? Thank you


Report this post
Top
  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Mon Aug 22, 2011 12:06 pm 

Joined: Wed Apr 28, 2010 4:05 pm
Posts: 5
Hi,
you can use the function random in a prime field or sparsepoly in a non prime field (Please check the manual). NTL is used by default for univariate gcd and factorization. If you need NTL for anything besides this let me know.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Thu Aug 25, 2011 11:43 am 

Joined: Sun Aug 21, 2011 10:22 am
Posts: 12
but sparsepoly can not generate a random element of the field with equal posibility...


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Thu Aug 25, 2011 1:56 pm 

Joined: Wed Mar 03, 2010 5:08 pm
Posts: 108
Location: Germany, Münster
What do you mean by

Quote:
but sparsepoly can not generate a random element of the field with equal posibility...


Use the command random for random integers within a specified range

http://www.singular.uni-kl.de/Manual/la ... htm#SEC340


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Sat Aug 27, 2011 7:51 am 

Joined: Sun Aug 21, 2011 10:22 am
Posts: 12
Say, GF(3^3), I want randomly generate a element in this field, and each one with equal possibility to be outputted.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Mon Aug 29, 2011 11:36 am 

Joined: Wed Apr 28, 2010 4:05 pm
Posts: 5
Hi
Try something like
LIB "random.lib";
ring r= 3,x,dp;
poly f= sparsepoly (0,2,50,4);

ring s=(3,a),(x,y),dp;
minpoly= a3+2a+1;
map m= r,a;
m (f);
The sparsepoly (0,2,50,4) creates a random polynomial in x with coefficients in the range [1,4) of degree between 0 and 2. And each monomial is zero with probability 0,5.
The last 4 lines maps this polynomial to a ring s with coefficients from Z/3Z[a]/ (a3+2a+1).


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Tue Sep 27, 2011 4:01 am 

Joined: Sun Aug 21, 2011 10:22 am
Posts: 12
Each coefficient of the monomial in f is zero with probability 1/3. So f must be defined as
poly f = sparsepoly (0,2,0,4);

Don't you think so?


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Tue Sep 27, 2011 2:36 pm 

Joined: Wed Apr 28, 2010 4:05 pm
Posts: 5
If you want a uniformly random element of GF (3^3) you're right.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Sat Oct 08, 2011 5:09 am 

Joined: Sun Aug 21, 2011 10:22 am
Posts: 12
Thanks. But when I define a ring:
ring s=(9,a),(x,y),dp;
s;
// # ground field : 9
// primitive element : a
// minpoly : 1*a^2+2*a^1+2*a^0
// number of vars : 2
// block 1 : ordering dp
// : names x y
// block 2 : ordering C

then i can't reduce the elememts like a^6 or a7x2+a9y;
what i mean is to present the coefficients by the basis { 1, a },
in fact a^6 is (-a-1);


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: How to use NTL in singular?
PostPosted: Tue Oct 11, 2011 2:24 pm 

Joined: Wed Apr 28, 2010 4:05 pm
Posts: 5
In your case GF (3^2) is represented by a primitive element. See http://www.singular.uni-kl.de/Manual/latest/sing_29.htm#SEC39 for an example of this.


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

It is currently Fri May 13, 2022 11:05 am
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group