I'm new to singular. I'd like to compute the Betti numbers of a graded k[x,y]-module M arising as a homology module of a chain complex of free graded k[x,y]-modules, and I'm running into difficulties: I'm using the "homology" command to obtain a presentation of M, but this seems to discard information about the graded structure on M. I wonder if my trouble is related to bug #67 in the Singular issue tracker. In any case, I'd appreciate your advice on how to circumvent this problem. Below is some Singular code which demonstrates the issue in detail: Code: LIB "homolog.lib"; ring R=2,(x,y),dp;
//d2 will represent a homomorphism of free graded k[x,y]-modules module d2; d2[1]=x*gen(3)+x*gen(2)+x*gen(1); d2[2]=y*gen(3)+y*gen(2)+y*gen(1); intvec grades_C1=1,1,1; attrib(d2,"isHomog",grades_C1);
//d1 will also represent a homomorphism of free graded k[x,y]-modules module d1; d1[1]=gen(3)+gen(2); d1[2]=gen(1)+gen(3); d1[3]=gen(1)+gen(2); intvec grades_C0=1,1,1; attrib(d1,"isHomog",grades_C0);
module triv=0; //Compute a presentation for M:=ker(d1)/im(d2) def M=homology(d2,d1,triv,triv);
//Next command outputs the grade information for the generators of M. //Note the null output; homology apparently is not returning a graded object, whereas //the generator for M should live at grade 1. attrib(M,"isHomog");
//Compute a free resolution of M resolution resM=res(M,0);
//Since the grading was lost for M, the Betti numbers are off by 1. print(betti(resM), "betti");
I'm new to singular. I'd like to compute the Betti numbers of a graded k[x,y]-module M arising as a homology module of a chain complex of free graded k[x,y]-modules, and I'm running into difficulties: I'm using the "homology" command to obtain a presentation of M, but this seems to discard information about the graded structure on M. I wonder if my trouble is related to bug #67 in the Singular issue tracker.
In any case, I'd appreciate your advice on how to circumvent this problem. Below is some Singular code which demonstrates the issue in detail:
[code]LIB "homolog.lib"; ring R=2,(x,y),dp;
//d2 will represent a homomorphism of free graded k[x,y]-modules module d2; d2[1]=x*gen(3)+x*gen(2)+x*gen(1); d2[2]=y*gen(3)+y*gen(2)+y*gen(1); intvec grades_C1=1,1,1; attrib(d2,"isHomog",grades_C1);
//d1 will also represent a homomorphism of free graded k[x,y]-modules module d1; d1[1]=gen(3)+gen(2); d1[2]=gen(1)+gen(3); d1[3]=gen(1)+gen(2); intvec grades_C0=1,1,1; attrib(d1,"isHomog",grades_C0);
module triv=0; //Compute a presentation for M:=ker(d1)/im(d2) def M=homology(d2,d1,triv,triv);
//Next command outputs the grade information for the generators of M. //Note the null output; homology apparently is not returning a graded object, whereas //the generator for M should live at grade 1. attrib(M,"isHomog");
//Compute a free resolution of M resolution resM=res(M,0);
//Since the grading was lost for M, the Betti numbers are off by 1. print(betti(resM), "betti");[/code]
|