source: git/Tst/Short/brnoeth_s.tst @ 107aac

spielwiese
Last change on this file since 107aac was fda79b0, checked in by Hans Schoenemann <hannes@…>, 13 years ago
git-svn-id: file:///usr/local/Singular/svn/trunk@13664 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.2 KB
Line 
1LIB "tst.lib";
2tst_init();
3
4LIB "brnoeth.lib";
5
6list L=list();
7L[1]="a";
8L[2]="b";
9L[3]="c";
10L[4]="d";
11intvec P=1,3,4,2;
12permute_L(L,P);
13kill L,P;
14
15ring s=2,T,lp;
16matrix G[3][7]=1,0,1,0,1,0,1,0,1,1,0,0,1,1,0,0,0,1,1,1,1;
17print(G);
18matrix H=dual_code(G);
19print(H);
20kill s;
21
22ring s=3,T,lp;
23matrix C[2][5]=0,1,0,1,1,0,1,0,0,1;
24print(C);
25list L=sys_code(C);
26print(L[1]);
27print(L[2]);
28L[3];
29print(L[1]*transpose(L[2]));
30kill s;
31
32ring s=2,(x,y),lp;
33ideal I=x4+x,y4+y;
34list L=closed_points(I);
35L;
36I=x8+x,y8+y;
37L=closed_points(I);
38L;
39I=x16+x,y16+y;
40L=closed_points(I);
41L;
42kill s;
43
44ring r=2,(x,y),lp;
45poly f;
46ideal I;
47intvec DD;
48intvec G,D,F;
49
50// KLEIN quartic over F_4 (p=2)
51
52f=x3y+y3+x;
53list KLEIN=Adj_div(f);
54KLEIN=NSplaces(1..5,KLEIN);
55def R=KLEIN[1][2];
56setring R;
57G=4,4;
58list LG=BrillNoether(G,KLEIN);
59LG;
60G=6,0,0,6;
61LG=BrillNoether(G,KLEIN);
62LG;
63G=5,-1,3;
64LG=BrillNoether(G,KLEIN);
65LG;
66list WS=Weierstrass(1,10,KLEIN);
67WS[1];
68WS[2];
69KLEIN=extcurve(3,KLEIN);
70KLEIN;
71def RP=KLEIN[1][5];
72setring RP;
73size(POINTS);
74def RR=KLEIN[1][4];
75setring RR;
76G=5,5,5;
77D=4..24;
78matrix CK=AGcode_Omega(G,D,KLEIN);
79print(CK);
80matrix HK=dual_code(CK);
81print(HK);
82list SK=sys_code(CK);
83print(SK[1]);
84print(SK[2]);
85SK[3];
86setring r;
87kill R,RR,RP;
88
89// HERMITE curve over F_4 (p=2)
90
91f=x3+y2+y;
92list HC2=Adj_div(f);
93HC2=NSplaces(1..5,HC2);
94HC2=extcurve(2,HC2);
95def RP=HC2[1][5];
96setring RP;
97size(POINTS);
98def projR=HC2[1][2];
99setring projR;
100Weierstrass(1,12,HC2);
101def ER2=HC2[1][4];
102setring ER2;
103kill projR,RP;
104G=5;
105D=2..9;
106matrix C2=AGcode_Omega(G,D,HC2);
107print(C2);
108list SC2=sys_code(C2);
109print(SC2[1]);
110print(SC2[2]);
111SC2[3];
112matrix H2=dual_code(C2);
113print(H2);
114list SH2=sys_code(H2);
115print(SH2[1]);
116print(SH2[2]);
117SH2[3];
118F=2;
119list SV2=prepSV(G,D,F,HC2);
120matrix y[1][8];
121y[1,3]=a;
122print(decodeSV(y,SV2));
123y[1,3]=0;
124y[1,6]=1;
125print(decodeSV(y,SV2));
126killall();
127
128// HERMITE curve over F_9 (p=3)
129
130ring r=3,(x,y),lp;
131list HC3=Adj_div(y3+y-x4);
132HC3=NSplaces(1..3,HC3);
133HC3=extcurve(2,HC3);
134def projR=HC3[1][2];
135setring projR;
136Weierstrass(1,15,HC3);
137def RP=HC3[1][5];
138setring RP;
139size(POINTS);
140def ER3=HC3[1][4];
141setring ER3;
142intvec G=15;
143intvec D=2..28;
144// we already have a rational divisor G and 27 more points over F_9;
145// let us construct the corresponding residual AG code of type
146//     [27,14,>=11] over F_9
147matrix C3=AGcode_Omega(G,D,HC3);
148print(C3);
149list SC3=sys_code(C3);
150print(SC3[1]);
151print(SC3[2]);
152SC3[3];
153matrix H3=dual_code(C3);
154print(H3);
155list SH3=sys_code(H3);
156print(SH3[1]);
157print(SH3[2]);
158SH3[3];
159// we can correct 3 errors and the genus is 3, thus F must have
160//    degree 6 and support disjoint to that of D :
161intvec F=6;
162list SV3=prepSV(G,D,F,HC3);
163// now we produce 3 errors on the zero-codeword :
164matrix y[1][27];
165y[1,1]=1;
166y[1,2]=a;
167y[1,3]=1;
168print(decodeSV(y,SV3));
169y[1,1]=0;
170y[1,2]=a;
171y[1,10]=a+1;
172y[1,3]=0;
173y[1,21]=1;
174print(decodeSV(y,SV3));
175y[1,4]=a;
176y[1,2]=0;
177y[1,12]=a;
178y[1,10]=0;
179y[1,21]=0;
180y[1,26]=a+1;
181print(decodeSV(y,SV3));
182
183// killall();
184
185// char 3 !
186
187ring r=3,(x,y),dp;
188list C=Adj_div(2x+x3+2x5+(1+x2+x4)*y4+x6y12);
189C=NSplaces(1..2,C);
190C=extcurve(2,C);
191
192def SS1=C[1][5];
193setring SS1;
194POINTS;
195
196setring r;
197def SS2=C[5][2][1];
198setring SS2;
199
200def RR=C[1][2];
201setring RR;
202list WS=Weierstrass(17,6,C);
203WS;
204
205tst_status(1);$
206
Note: See TracBrowser for help on using the repository browser.