1 | LIB "sing.lib"; |
---|
2 | ring R=32003,(x,y,z),ds; |
---|
3 | // --------------------------------------- |
---|
4 | // hypersurface case (from series T[p,q,r]): |
---|
5 | int p,q,r = 3,3,4; |
---|
6 | poly f = x^p+y^q+z^r+xyz; |
---|
7 | tjurina(f); |
---|
8 | kbase(Tjurina(f)); |
---|
9 | // Tjurina number = 8 |
---|
10 | // --------------------------------------- |
---|
11 | // complete intersection case (from series P[k,l]): |
---|
12 | int k,l =3,2; |
---|
13 | ideal j=xy,x^k+y^l+z2; |
---|
14 | dim(std(j)); // Krull dimension |
---|
15 | size(minbase(j)); // minimal number of generators |
---|
16 | tjurina(j); // Tjurina number |
---|
17 | module T=Tjurina(j); |
---|
18 | kbase(T); // a sparse output of the k-basis of T_1 |
---|
19 | print(kbase(T)); // columns of matrix are a k-basis of T_1 |
---|
20 | // --------------------------------------- |
---|
21 | // general case (cone over rational normal curve of degree 4): |
---|
22 | ring r1=0,(x,y,z,u,v),ds; |
---|
23 | matrix m[2][4]=x,y,z,u,y,z,u,v; |
---|
24 | ideal i=minor(m,2); // 2x2 minors of matrix m |
---|
25 | module M=T_1(i); // a presentation matrix of T_1 |
---|
26 | vdim(M); // Tjurina number |
---|
27 | hilb(M); // display of both Hilbert series |
---|
28 | intvec v1=hilb(M,1); // first Hilbert series as intvec |
---|
29 | intvec v2=hilb(M,2); // second Hilbert series as intvec |
---|
30 | v1; |
---|
31 | v2; |
---|
32 | v1[3]; // 3-rd coefficient of the 1-st Hilbert series |
---|
33 | module N=T_2(i); |
---|
34 | LIB "tst.lib";tst_status(1);$ |
---|