##### 7.7.19.0. dmodoublext

Procedure from library `nchomolog.lib` (see nchomolog_lib).

Usage:
  dmodoublext(M [,i]); M module, i optional int

Compute:
  a presentation of Ext^i(Ext^i(M,D),D) for basering D

Return:
  left module

Note:
  by default, i is set to the integer part of the half of number of variables of D
  for holonomic modules over Weyl algebra, the double ext is known to be holonomic left module

Example:

    LIB "nchomolog.lib";
    ring R   = 0,(x,y),dp;
    poly F   = x3-y2;
    def A    = annfs(F);
    setring A;
    dmodoublext(LD);
    ==> _[1]=2*x*Dx+3*y*Dy+6
    ==> _[2]=3*x^2*Dy+2*y*Dx
    ==> _[3]=9*x*y*Dy^2-4*y*Dx^2+15*x*Dy
    ==> _[4]=27*y^2*Dy^3+8*y*Dx^3+135*y*Dy^2+105*Dy
    LD;
    ==> LD[1]=2*x*Dx+3*y*Dy+6
    ==> LD[2]=3*x^2*Dy+2*y*Dx
    ==> LD[3]=9*x*y*Dy^2-4*y*Dx^2+15*x*Dy
    ==> LD[4]=27*y^2*Dy^3+8*y*Dx^3+135*y*Dy^2+105*Dy
    // fancier example:
    setring A;
    ideal I = Dx*(x2-y3),Dy*(x2-y3);
    I = groebner(I);
    print(dmodoublext(I,1));
    ==> y^3-x^2
    print(dmodoublext(I,2));
    ==> Dy,
    ==> Dx

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