source: git/Tst/Long/brnoeth_l.tst @ 1ebec3

spielwiese
Last change on this file since 1ebec3 was ef52d6, checked in by Oleksandr Motsak <motsak@…>, 11 years ago
Update testsuite wrt current master (320c4f5e64cad778b4ada9556a9b0a6c71cab83a) NOTE: some wrong/bad tests were removed... TODO: add the reset of these updates after updating LIB/
  • Property mode set to 100644
File size: 2.4 KB
Line 
1LIB "tst.lib";
2tst_init();
3
4// tst_status();
5
6
7// killall();
8
9LIB "brnoeth.lib";
10
11// special CURVE over F_64 (p=2)
12
13ring r=2,(x,y),lp;
14poly f=y9+y8+xy6+x2y3+y2+x3;
15ideal I=f,jacob(f);
16closed_points(I);
17I=f,x2+x,y2+y;
18closed_points(I);
19I=f,x4+x,y4+y;
20closed_points(I);
21I=f,x8+x,y8+y;
22closed_points(I);
23I=f,x16+x,y16+y;
24closed_points(I);
25I=f,x32+x,y32+y;
26closed_points(I);
27I=f,x64+x,y64+y;
28closed_points(I);
29list CURVE=Adj_div(f);
30CURVE=NSplaces(1..6,CURVE);
31CURVE=extcurve(6,CURVE);
32CURVE;
33def affR=CURVE[1][1];
34setring affR;
35listvar();
36Aff_SLocus;
37Inf_Points;
38def projR=CURVE[1][2];
39setring projR;
40CHI;
41Weierstrass(4,10,CURVE);
42tst_status();
43Weierstrass(3,10,CURVE);
44tst_status();
45Weierstrass(2,10,CURVE);
46tst_status();
47intvec DD=1,1,2,1,0,1;
48BrillNoether(DD,CURVE);
49DD=2,0,3;
50BrillNoether(DD,CURVE);
51def RP=CURVE[1][5];
52setring RP;
53size(POINTS);
54setring r;
55killall();
56
57// SUZUKI curve over F_8 (p=2)
58
59ring r=2,(x,y),lp;
60poly f=x10+x3+y8+y;
61ideal I=f,jacob(f);
62closed_points(I);
63I=f,x2+x,y2+y;
64closed_points(I);
65I=f,x4+x,y4+y;
66closed_points(I);
67I=f,x8+x,y8+y;
68closed_points(I);
69I=f,x16+x,y16+y;
70closed_points(I);
71I=f,x32+x,y32+y;
72closed_points(I);
73I=f,x64+x,y64+y;
74closed_points(I);
75list SUZUKI=Adj_div(f);
76SUZUKI=NSplaces(1..3,SUZUKI);
77SUZUKI=extcurve(3,SUZUKI);
78SUZUKI;
79def affR=SUZUKI[1][1];
80setring affR;
81listvar();
82Aff_SLocus;
83Inf_Points;
84def projR=SUZUKI[1][2];
85setring projR;
86CHI;
87Weierstrass(1,20,SUZUKI);
88tst_status();
89intvec DD=2,1,0,0,3;
90DD[25]=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(1..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 :
116EC=NSplaces(1..5,EC);
117F[14]=1;
118list SV=prepSV(G,D,F,EC);
119matrix y[1][33];
120y[1,1]=1;
121y[1,2]=a;
122y[1,3]=1;
123print(decodeSV(y,SV));
124y[1,1]=0;
125y[1,2]=a;
126y[1,10]=a+1;
127y[1,3]=0;
128y[1,21]=1;
129print(decodeSV(y,SV));
130y[1,4]=a;
131y[1,2]=0;
132y[1,12]=a;
133y[1,10]=0;
134y[1,21]=0;
135y[1,29]=a+1;
136print(decodeSV(y,SV));
137matrix H=dual_code(C);
138print(H);
139list SC=sys_code(C);
140print(SC[1]);
141print(SC[2]);
142SC[3];
143list SH=sys_code(H);
144print(SH[1]);
145print(SH[2]);
146SH[3];
147setring r;
148killall();
149
150
151tst_status(1);
152$
Note: See TracBrowser for help on using the repository browser.