Macaulay2 » Documentation
Packages » NonminimalComplexes :: constantStrand
next | previous | forward | backward | up | index | toc

# constantStrand -- a constant strand of a chain complex

- Usage:
    `Cd = constantStrand(C, deg)`
- Inputs:
  - C, a chain complex, a chain complex created using (the unsupported) res(I, Strategy=>4.1)
  - deg, an integer, the degree of the strand of the complex
- Outputs:
  - Cd, a chain complex, a chain complex over kk, consisting of the submatrices of C of degree deg

## Description

Warning! This function is very rough currently. It works if one uses it in the intended manner, as in the example below. But it should be much more general, handling other rings with grace, and also it should handle arbitrary (graded) chain complexes.

    i1 : R = ZZ/101[a..d]

    o1 = R

    o1 : PolynomialRing

    i2 : I = ideal(a^3, b^3, c^3, d^3, (a+3*b+7*c-4*d)^3)

                 3   3   3   3   3     2         2      3      2
    o2 = ideal (a , b , c , d , a  + 9a b + 27a*b  + 27b  + 21a c + 25a*b*c -
         ------------------------------------------------------------------------
            2         2        2      3      2                2
         13b c + 46a*c  + 37b*c  + 40c  - 12a d + 29a*b*d - 7b d + 34a*c*d +
         ------------------------------------------------------------------------
                    2         2        2        2      3
         b*c*d + 18c d + 48a*d  + 43b*d  + 33c*d  + 37d )

    o2 : Ideal of R

    i3 : C = res(I, Strategy=>4)

          1      9      25      31      18      4
    o3 = R  <-- R  <-- R   <-- R   <-- R   <-- R

         0      1      2       3       4       5

    o3 : ChainComplex

    i4 : betti C

                0 1  2  3  4 5
    o4 = total: 1 9 25 31 18 4
             0: 1 .  .  .  . .
             1: . .  .  .  . .
             2: . 5  1  .  . .
             3: . 1  3  1  . .
             4: . 3 17 13  4 .
             5: . .  4 13 10 3
             6: . .  .  4  3 1
             7: . .  .  .  1 .

    o4 : BettiTally

    i5 : CR = constantStrand(C, 5)

                 ZZ 3       ZZ 3
    o5 = 0 <-- (---)  <-- (---)  <-- 0 <-- 0 <-- 0
                101        101
         0                           3     4     5
               1          2

    o5 : ChainComplex

    i6 : CR.dd_2

    o6 = | -33 48  0   |
         | 2   -15 5   |
         | 2   0   -43 |

                  ZZ 3       ZZ 3
    o6 : Matrix (---)  <-- (---)
                 101        101

## Caveat

This function should be defined for any graded chain complex, not just ones created using res(I, Strategy=>4).

## Ways to use constantStrand:

- `constantStrand(ChainComplex,ZZ)`

## For the programmer

The object constantStrand is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/NonminimalComplexes.m2:366:0.