Karim Belabas on Sun, 15 Nov 2009 03:09:38 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Difference between libpari and gp for idealprimedec |
* ADAM David [2009-11-15 01:48]: > I consider the field Q(a) where a is a root of x^+x+1. > I try to find the composition of 11 in the ring of integers de Q(a). > > With gp, I obtain two prime ideals above 11: > ? field=nfinit(x^3+x+1) > %1 = [x^3 + x + 1, [1, 1], -31, 1, [[1, > 1.465571231876768026656731225, -0.6823278038280193273694837397; 1, > -0.2327856159383840133283656126 + 0.7925519925154478483258983007*I, > 0.3411639019140096636847418699 + 1.161541399997251936087917687*I], > [1, 1.465571231876768026656731225, -0.6823278038280193273694837397; > 1, 0.5597663765770638349975326880, 1.502705301911261599772659557; 1, > -1.025337608453831861654263913, -0.8203774980832422724031758174], 0, > [3, 1, 0; 1, 1, -3; 0, -3, -2], [31, 20, 17; 0, 1, 0; 0, 0, 1], [11, > -2, 3; -2, 6, -9; 3, -9, -2], [31, [14, -1, 10; -11, 3, 1; 1, 11, > 14]]], [-0.6823278038280193273694837397, > 0.3411639019140096636847418699 + 1.161541399997251936087917687*I], > [1, x^2 + 1, x], [1, 0, -1; 0, 0, 1; 0, 1, 0], [1, 0, 0, 0, 0, -1, > 0, -1, -1; 0, 1, 0, 1, 1, 0, 0, 0, 1; 0, 0, 1, 0, -1, 0, 1, 0, 0]] > ? idealprimedec(field, 11) > %2 = [[11, [-2, 0, 1]~, 1, 1, [4, 1, 2]~], [11, [4, 1, 2]~, 1, 2, > [-2, 0, 1]~]] > ? > > With libpari, I obtain only one prime ideal above 11: > dadam@analyst:~/toto$ gcc -lpari essai.c > dadam@analyst:~/toto$ ./a.out > ideal = [[11, [11, 0]~, 1, 2, [1, 0]~]] > > I used the following code made by myself. > #include <pari/pari.h> > > int main() > { > GEN a, pol, field; > > > pari_init(500000, 500000); > pol = mkpoln(3, stoi(1), stoi(0), stoi(1), stoi(1)); > field = nfinit0(pol, 0, DEFAULTPREC); > > a = primedec(field, stoi(11)); > pariprintf("ideal = %Z\n",a); > > return 0; > } > > Can anyone explain the difference? mkpoln's first argument gives the number of coefficients (that follow), not the degree. Replace pol = mkpoln(3, stoi(1), stoi(0), stoi(1), stoi(1)); by pol = mkpoln(4, stoi(1), stoi(0), stoi(1), stoi(1)); Cheers, K.B. -- Karim Belabas, IMB (UMR 5251) Tel: (+33) (0)5 40 00 26 17 Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50 351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP] `