source: git/Tst/Short/sba_s.tst @ 5ebd4bc

spielwiese
Last change on this file since 5ebd4bc was 19609c, checked in by Christian Eder, 12 years ago
1. adds documentation for sba 2. adds tests for sba
  • Property mode set to 100644
File size: 2.9 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=3; k<=6; k++)
127{
128  string bench = cyclicn(k);
129  sprintf(bench);
130  ideal f;
131  f = sba(i,1,0);
132  f = sba(i,1,1);
133  f = sba(i,0,0);
134  f = sba(i,0,1);
135  kill i,f,R,bench;
136  string bench = cyclicnh(k);
137  sprintf(bench);
138  ideal f;
139  f = sba(i,1,0);
140  f = sba(i,1,1);
141  f = sba(i,0,0);
142  f = sba(i,0,1);
143  kill i,f,R,bench;
144  string bench = katsuran(k);
145  sprintf(bench);
146  ideal f;
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 = katsuranh(k);
153  sprintf(bench);
154  ideal f;
155  f = sba(i,1,0);
156  f = sba(i,1,1);
157  f = sba(i,0,0);
158  f = sba(i,0,1);
159  kill i,f,R,bench;
160  string bench = econ(k);
161  sprintf(bench);
162  ideal f;
163  f = sba(i,1,0);
164  f = sba(i,1,1);
165  f = sba(i,0,0);
166  f = sba(i,0,1);
167  kill i,f,R,bench;
168  string bench = econh(k);
169  sprintf(bench);
170  ideal f;
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}
177
178tst_status(1);$
179LIB "poly.lib";
180killall();
181killall("proc");
182exit;
Note: See TracBrowser for help on using the repository browser.