[top][index]
search for:

complete ChainComplex -- complete the internal parts

Synopsis:

  • Function: complete
  • Input:
  • an instance of class ChainComplex.
  • Output:
  • an instance of class ChainComplex.
  • complete C -- fills in the modules of a chain complex obtained as a resolution with information from the engine.

    For the sake of efficiency, when a chain complex arises as a resolution of a module, the free modules are not filled in until they are needed. This routine can be used to fill them all in, and is called internally when a chain complex is printed. Normally users will not need this function, unless they use # to obtain the modules of the chain complex, or use keys to see which spots are occupied by modules.

    i1 : R = ZZ/101[a..d];
    i2 : C = resolution cokernel vars R;
    i3 : keys C

    o3 = {Resolution, dd, ring}

    o3 : List
    i4 : complete C;
    i5 : keys C

    o5 = {0, dd, 1, 2, 3, 4, 5, ring, Resolution, complete}

    o5 : List

    Code:

         -- ../../../Macaulay2/m2/chaincomplexes.m2:17-22
         complete ChainComplex := ChainComplex => C -> (
              if C.?Resolution and not C.?complete then (
                   for i from 0 to C.Resolution.length do if 0 == (C#i = C_i) then break;
                   C.complete = true;
                   );
              C)

    [top][index]
    search for: