#### D.4.8.18 KoszulHomology

Procedure from library `homolog.lib` (see homolog_lib).

Compute:
  A presentation of the p-th Koszul homology module H_p(f_1,...,f_k;M'), where M'=coker(M) and f_1,...,f_k are the given (ordered list of non-zero) generators of the ideal I.
  The computed presentation is minimized via prune.
  In particular, if H_p(f_1,...,f_k;M')=0 then the return value is 0.

Return:
  module H, s.th. coker(H) = H_p(f_1,...,f_k;M').

Note:
  size of input ideal has to be <= 20.

Example:

    LIB "homolog.lib";
    ring R=0,x(1..3),dp;
    ideal x=maxideal(1);
    module M=0;
    KoszulHomology(x,M,0);  // H_0(x,R), x=(x_1,x_2,x_3)
    ==> _[1]=x(3)*gen(1)
    ==> _[2]=x(2)*gen(1)
    ==> _[3]=x(1)*gen(1)
    KoszulHomology(x,M,1);  // H_1(x,R), x=(x_1,x_2,x_3)
    ==> _[1]=0
    qring S=std(x(1)*x(2));
    module M=0;
    ideal x=maxideal(1);
    KoszulHomology(x,M,1);
    ==> _[1]=-x(3)*gen(1)
    ==> _[2]=-x(2)*gen(1)
    ==> _[3]=-x(1)*gen(1)
    KoszulHomology(x,M,2);
    ==> _[1]=0

User manual for Singular version 4-0-3, 2016, generated by texi2html.