Singular
https://www.singular.uni-kl.de/forum/

How to Compute Homology of a Graded Chain Complex
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2615
Page 1 of 1

Author:  mpl [ Mon Jun 05, 2017 4:27 am ]
Post subject:  How to Compute Homology of a Graded Chain Complex

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");

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/