source: git/Tst/Long/bardet_probl_l.tst @ ad3dfe

spielwiese
Last change on this file since ad3dfe was 0611df, checked in by Wilfred Pohl <pohl@…>, 24 years ago
test sparsemat git-svn-id: file:///usr/local/Singular/svn/trunk@4628 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.6 KB
Line 
1LIB "tst.lib";
2tst_init();
3/*
4*  Probleme:
5*   1. "minor" verwendet "det" mit Matrizen,
6*      das sollte wegen sparse über Moduln laufen.
7*   2. Rechenzeit von "bareiss" >> "det", Brüche und Normalisierung?
8*      genaue Zeitmessung erforderlich.
9*   3. Sparse Matrizen ohne Symbole sollten nicht nach factory.
10*/
11// 1.
12ring r=0,(x,y,z,w),dp;
13module mm;
14poly xd;
15int d=13;
16int b=3;
17int db=d-b;
18int i;
19for(i=d;i>0;i--)
20{
21  mm[i]=3*x*gen(i)+w*gen(i);
22}
23for(i=db;i;i--)
24{
25  mm[i]=mm[i]+7*y*gen(i+b)+w*gen(i+b);
26}
27for(i=d;i>db;i--)
28{
29  mm[i]=mm[i]+7*y*gen(i-db)+w*gen(i-db);
30}
31for(i=d;i>b;i--)
32{
33  mm[i]=mm[i]+11*z*gen(i-b)+w*gen(i-b);
34}
35for(i=b;i;i--)
36{
37  mm[i]=mm[i]+11*z*gen(i+db)+w*gen(i+db);
38}
39matrix nn=mm;
40ideal dd=minor(nn,d-1);
41size(dd);
42ideal ee=minor(nn,5);
43size(ee);
44kill r;
45// 2.
46ring r=0,(x,y,z),(c,dp);
47module mm;
48poly xd;
49d=39;
50b=13;
51db=d-b;
52for(i=d;i>0;i--)
53{
54  mm[i]=1/3*x*gen(i);
55}
56for(i=db;i;i--)
57{
58  mm[i]=mm[i]+1/7*y*gen(i+b);
59}
60for(i=d;i>db;i--)
61{
62  mm[i]=mm[i]+1/7*y*gen(i-db);
63}
64for(i=d;i>b;i--)
65{
66  mm[i]=mm[i]+1/11*z*gen(i-b);
67}
68for(i=b;i;i--)
69{
70  mm[i]=mm[i]+1/11*z*gen(i+db);
71}
72list ss=bareiss(mm);
73vector vv=ss[1][size(ss[1])];
74xd=det(mm);
75vector ww=xd*gen(d);
76ww-vv;
77xd;
78kill r;
79// 3.
80ring r=0,(x,y,z),(c,dp);
81module mm;
82poly xd;
83d=390;
84b=13;
85db=d-b;
86for(i=d;i>0;i--)
87{
88  mm[i]=77*gen(i);
89}
90for(i=db;i;i--)
91{
92  mm[i]=mm[i]+33*gen(i+b);
93}
94for(i=d;i>db;i--)
95{
96  mm[i]=mm[i]+33*gen(i-db);
97}
98for(i=d;i>b;i--)
99{
100  mm[i]=mm[i]+21*gen(i-b);
101}
102for(i=b;i;i--)
103{
104  mm[i]=mm[i]+21*gen(i+db);
105}
106xd=det(mm);
107matrix nn=mm;
108poly dd=det(nn);
109xd-dd;
110dd;
111kill r;
112tst_status(1); $
113
Note: See TracBrowser for help on using the repository browser.