source: git/Tst/Short/sba_s.tst @ 55233be

spielwiese
Last change on this file since 55233be was 55233be, checked in by Christian Eder, 10 years ago
updates sba tests for newly implemented variant
  • Property mode set to 100644
File size: 3.3 KB
Line 
1// $Id$
2
3// sba_s.tst -- long tests for sba
4// uses rcyclic examples from ISSAC'98 paper
5
6LIB "tst.lib";
7tst_init();
8
9LIB"poly.lib";
10
11proc katsuran(int z)
12{
13   int n = z;
14   ring R = 32003,(x(0..(n))),dp;
15   ideal i = katsura(n);
16        string bench = "KATSURA-"+string(n);
17   export(R);
18   export(i);
19   return(bench);
20}
21
22proc katsuranh(int z)
23{
24   int n = z;
25   ring R = 32003,(x(0..(n)),h),dp;
26   ideal i = homog(katsura(n),h);
27        string bench = "KATSURA-"+string(n)+"-H";
28   export(R);
29   export(i);
30   return(bench);
31}
32
33proc cyclicn(int z)
34{
35   int n = z;
36   ring R = 32003,(x(0..(n-1))),dp;
37   ideal i = cyclic(n);
38        string bench = "CYCLIC-"+string(n);
39   export(R);
40   export(i);
41   return(bench);
42}
43
44proc cyclicnh(int z)
45{
46   int n = z;
47   ring R = 32003,(x(0..(n-1)),h),dp;
48   ideal i = homog(cyclic(n),h);
49        string bench = "CYCLIC-"+string(n)+"-H";
50   export(R);
51   export(i);
52   return(bench);
53}
54
55proc econ(int n) {
56
57  int z = n-1;
58  ring R = 32003,(x(0..z)),dp;
59 
60  int m,j,k;
61  ideal i;
62  poly p;
63  p = 1;
64  for(m=0;m<=z-2;m++) {
65    p = p*x(m)*x(z);
66    k = 0;
67    for(j=m+1;j<=z-1;j++) {
68      p = p + x(k)*x(j)*x(z);
69      k++;
70    }
71    p = p - (m+1); 
72    i[m+1] = p;
73    p = 1;
74  }
75  i[n-1]  = x(z-1)*x(z)-(z);
76  p = 0;
77  for(m=0;m<=z-1;m++) {
78    p = p + x(m);
79  }
80  p = p + 1;
81  i[n] = p;
82
83        string bench = "ECO-"+string(z+1);
84  export(i);
85  export(R);
86
87  return(bench);
88}
89
90proc econh(int n) {
91
92  int z = n-1;
93  ring R = 32003,(x(0..z),h),dp;
94 
95  int m,j,k;
96  ideal i;
97  poly p;
98  p = 1;
99  for(m=0;m<=z-2;m++) {
100    p = p*x(m)*x(z)*h;
101    k = 0;
102    for(j=m+1;j<=z-1;j++) {
103      p = p + x(k)*x(j)*x(z);
104      k++;
105    }
106    p = p - (m+1)*h^3; 
107    i[m+1] = p;
108    p = 1;
109  }
110  i[n-1]  = x(z-1)*x(z)-(z)*h^2;
111  p = 0;
112  for(m=0;m<=z-1;m++) {
113    p = p + x(m);
114  }
115  p = p + h;
116  i[n] = p;
117
118        string bench = "ECO-"+string(z+1)+"-H";
119  export(i);
120  export(R);
121
122  return(bench);
123}
124
125int k;
126for (k=6; k>2; k--)
127{
128  string bench = cyclicn(k);
129  sprintf(bench);
130  ideal f;
131  f = sba(i,3,0);
132  f = sba(i,3,1);
133  f = sba(i,2,0);
134  f = sba(i,2,1);
135  f = sba(i,1,0);
136  f = sba(i,1,1);
137  f = sba(i,0,0);
138  f = sba(i,0,1);
139  kill i,f,R,bench;
140  string bench = cyclicnh(k);
141  sprintf(bench);
142  ideal f;
143  f = sba(i,3,0);
144  f = sba(i,3,1);
145  f = sba(i,2,0);
146  f = sba(i,2,1);
147  f = sba(i,1,0);
148  f = sba(i,1,1);
149  f = sba(i,0,0);
150  f = sba(i,0,1);
151  kill i,f,R,bench;
152  string bench = katsuran(k);
153  sprintf(bench);
154  ideal f;
155  f = sba(i,3,0);
156  f = sba(i,3,1);
157  f = sba(i,2,0);
158  f = sba(i,2,1);
159  f = sba(i,1,0);
160  f = sba(i,1,1);
161  f = sba(i,0,0);
162  f = sba(i,0,1);
163  kill i,f,R,bench;
164  string bench = katsuranh(k);
165  sprintf(bench);
166  ideal f;
167  f = sba(i,3,0);
168  f = sba(i,3,1);
169  f = sba(i,2,0);
170  f = sba(i,2,1);
171  f = sba(i,1,0);
172  f = sba(i,1,1);
173  f = sba(i,0,0);
174  f = sba(i,0,1);
175  kill i,f,R,bench;
176  string bench = econ(k);
177  sprintf(bench);
178  ideal f;
179  f = sba(i,3,0);
180  f = sba(i,3,1);
181  f = sba(i,2,0);
182  f = sba(i,2,1);
183  f = sba(i,1,0);
184  f = sba(i,1,1);
185  f = sba(i,0,0);
186  f = sba(i,0,1);
187  kill i,f,R,bench;
188  string bench = econh(k);
189  sprintf(bench);
190  ideal f;
191  f = sba(i,3,0);
192  f = sba(i,3,1);
193  f = sba(i,2,0);
194  f = sba(i,2,1);
195  f = sba(i,1,0);
196  f = sba(i,1,1);
197  f = sba(i,0,0);
198  f = sba(i,0,1);
199  kill i,f,R,bench;
200}
201
202tst_status(1);$
203LIB "poly.lib";
204killall();
205killall("proc");
206exit;
Note: See TracBrowser for help on using the repository browser.