source: git/Tst/Long/brnoeth_l.tst @ f4a33e

spielwiese
Last change on this file since f4a33e was 341696, checked in by Hans Schönemann <hannes@…>, 14 years ago
Adding Id property to all files git-svn-id: file:///usr/local/Singular/svn/trunk@12231 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.4 KB
Line 
1LIB "tst.lib";
2tst_init();
3tst_ignore("CVS ID $Id$");
4
5// tst_status();
6
7
8// killall();
9
10LIB "brnoeth.lib";
11
12// special CURVE over F_64 (p=2)
13
14ring r=2,(x,y),lp;
15poly f=y9+y8+xy6+x2y3+y2+x3;
16ideal I=f,jacob(f);
17closed_points(I);
18I=f,x2+x,y2+y;
19closed_points(I);
20I=f,x4+x,y4+y;
21closed_points(I);
22I=f,x8+x,y8+y;
23closed_points(I);
24I=f,x16+x,y16+y;
25closed_points(I);
26I=f,x32+x,y32+y;
27closed_points(I);
28I=f,x64+x,y64+y;
29closed_points(I);
30list CURVE=Adj_div(f);
31CURVE=NSplaces(1..6,CURVE);
32CURVE=extcurve(6,CURVE);
33CURVE;
34def affR=CURVE[1][1];
35setring affR;
36listvar();
37Aff_SLocus;
38Inf_Points;
39def projR=CURVE[1][2];
40setring projR;
41CHI;
42Weierstrass(4,10,CURVE);
43tst_status();
44Weierstrass(3,10,CURVE);
45tst_status();
46Weierstrass(2,10,CURVE);
47tst_status();
48intvec DD=1,1,2,1,0,1;
49BrillNoether(DD,CURVE);
50DD=2,0,3;
51BrillNoether(DD,CURVE);
52def RP=CURVE[1][5];
53setring RP;
54size(POINTS);
55setring r;
56killall();
57
58// SUZUKI curve over F_8 (p=2)
59
60ring r=2,(x,y),lp;
61poly f=x10+x3+y8+y;
62ideal I=f,jacob(f);
63closed_points(I);
64I=f,x2+x,y2+y;
65closed_points(I);
66I=f,x4+x,y4+y;
67closed_points(I);
68I=f,x8+x,y8+y;
69closed_points(I);
70I=f,x16+x,y16+y;
71closed_points(I);
72I=f,x32+x,y32+y;
73closed_points(I);
74I=f,x64+x,y64+y;
75closed_points(I);
76list SUZUKI=Adj_div(f);
77SUZUKI=NSplaces(1..3,SUZUKI);
78SUZUKI=extcurve(3,SUZUKI);
79SUZUKI;
80def affR=SUZUKI[1][1];
81setring affR;
82listvar();
83Aff_SLocus;
84Inf_Points;
85def projR=SUZUKI[1][2];
86setring projR;
87CHI;
88Weierstrass(1,20,SUZUKI);
89tst_status();
90intvec DD=2,1,0,0,3;
91DD[25]=3;
92BrillNoether(DD,SUZUKI);
93tst_status();
94def RP=SUZUKI[1][5];
95setring RP;
96size(POINTS);
97setring r;
98killall();
99
100// special HYPERELLIPTIC curve over F_16 (p=2)
101
102ring r=2,(x,y),lp;
103intvec G,D,F;
104poly f=x5+y2+y;
105list EC=Adj_div(f);
106EC=NSplaces(1..4,EC);
107EC=extcurve(4,EC);
108def R4=EC[1][4];
109setring R4;
110G[5]=4;
111D=1..33;
112matrix C=AGcode_Omega(G,D,EC);
113print(C);
114// the code C=AGcode_Omega(G,D) is of type [33,22,>=10] over F_16;
115// the basic decoding algorithm can correct up to 3 errors;
116// for it, we need an auxiliary divisor F of degree 5 :
117EC=NSplaces(1..5,EC);
118F[14]=1;
119list SV=prepSV(G,D,F,EC);
120matrix y[1][33];
121y[1,1]=1;
122y[1,2]=a;
123y[1,3]=1;
124print(decodeSV(y,SV));
125y[1,1]=0;
126y[1,2]=a;
127y[1,10]=a+1;
128y[1,3]=0;
129y[1,21]=1;
130print(decodeSV(y,SV));
131y[1,4]=a;
132y[1,2]=0;
133y[1,12]=a;
134y[1,10]=0;
135y[1,21]=0;
136y[1,29]=a+1;
137print(decodeSV(y,SV));
138matrix H=dual_code(C);
139print(H);
140list SC=sys_code(C);
141print(SC[1]);
142print(SC[2]);
143SC[3];
144list SH=sys_code(H);
145print(SH[1]);
146print(SH[2]);
147SH[3];
148setring r;
149killall();
150
151
152tst_status(1);
153$
Note: See TracBrowser for help on using the repository browser.