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

spielwiese
Last change on this file since b258984 was b258984, checked in by Hans Schönemann <hannes@…>, 23 years ago
*hannes brnoeth_l git-svn-id: file:///usr/local/Singular/svn/trunk@4871 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.5 KB
Line 
1LIB "tst.lib";
2tst_init();
3tst_ignore("CVS ID $Id: brnoeth_l.tst,v 1.1 2000-12-12 12:36:37 Singular Exp $");
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(4,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(1,10,CURVE);
45tst_status();
46Weierstrass(2,10,CURVE);
47tst_status();
48intvec DD=2,1,1,1,0,1;
49BrillNoether(DD,CURVE);
50DD=3,0,2;
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(2,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,3;
91BrillNoether(DD,SUZUKI);
92tst_status();
93def RP=SUZUKI[1][5];
94setring RP;
95size(POINTS);
96setring r;
97killall();
98
99// special HYPERELLIPTIC curve over F_16 (p=2)
100
101ring r=2,(x,y),lp;
102intvec G,D,F;
103poly f=x5+y2+y;
104list EC=Adj_div(f);
105EC=NSplaces(4,EC);
106EC=extcurve(4,EC);
107def R4=EC[1][4];
108setring R4;
109G[5]=4;
110D=1..33;
111matrix C=AGcode_Omega(G,D,EC);
112print(C);
113// the code C=AGcode_Omega(G,D) is of type [33,22,>=10] over F_16;
114// the basic decoding algorithm can correct up to 3 errors;
115// for it, we need an auxiliary divisor F of degree 5 :
116F[14]=1;
117list SV=prepSV(G,D,F,EC);
118matrix y[1][33];
119y[1,1]=1;
120y[1,2]=a;
121y[1,3]=1;
122print(decodeSV(y,SV));
123y[1,1]=0;
124y[1,2]=a;
125y[1,10]=a+1;
126y[1,3]=0;
127y[1,21]=1;
128print(decodeSV(y,SV));
129y[1,4]=a;
130y[1,2]=0;
131y[1,12]=a;
132y[1,10]=0;
133y[1,21]=0;
134y[1,29]=a+1;
135print(decodeSV(y,SV));
136matrix H=dual_code(C);
137print(H);
138list SC=sys_code(C);
139print(SC[1]);
140print(SC[2]);
141SC[3];
142list SH=sys_code(H);
143print(SH[1]);
144print(SH[2]);
145SH[3];
146setring r;
147killall();
148
149
150tst_status(1);
151$
Note: See TracBrowser for help on using the repository browser.