Macaulay2 » Documentation
Packages » MatrixFactorizations :: isWellDefined(ZZdFactorization)
next | previous | forward | backward | up | index | toc

isWellDefined(ZZdFactorization) -- whether a ZZ/d-graded factorization is well-defined

Description

This routine does NOT check that the differential of C composes to a scalar multiple of the identity. Use isdFactorization to check this. It checks that the underlying data in C is a properly formed ZZdFactorization object in Macaulay2. If the variable debugLevel is set to a value greater than zero, then information about the nature of any failure is displayed.

Most of the basic constructors will by default yield a well-defined factorization.

i1 : R = ZZ/101[a..d];
i2 : K = koszulMF(ideal vars R, a^2+b^2+c^2+d^2)

      8      8      8
o2 = R  <-- R  <-- R
                    
     0      1      0

o2 : ZZdFactorization
i3 : isWellDefined K

o3 = true
i4 : K.dd

          8                                  8
o4 = 1 : R  <------------------------------ R  : 0
               | d 0  0  0  c  0  b  a  |
               | 0 d  0  0  0  c  a  -b |
               | 0 0  d  0  b  a  -c 0  |
               | 0 0  0  d  a  -b 0  -c |
               | c 0  b  a  -d 0  0  0  |
               | 0 c  a  -b 0  -d 0  0  |
               | b a  -c 0  0  0  -d 0  |
               | a -b 0  -c 0  0  0  -d |

          8                                  8
     0 : R  <------------------------------ R  : 1
               | d 0  0  0  c  0  b  a  |
               | 0 d  0  0  0  c  a  -b |
               | 0 0  d  0  b  a  -c 0  |
               | 0 0  0  d  a  -b 0  -c |
               | c 0  b  a  -d 0  0  0  |
               | 0 c  a  -b 0  -d 0  0  |
               | b a  -c 0  0  0  -d 0  |
               | a -b 0  -c 0  0  0  -d |

o4 : ZZdFactorizationMap
i5 : K.dd^2

          8                                                                                                           8
o5 = 0 : R  <------------------------------------------------------------------------------------------------------- R  : 0
               | a2+b2+c2+d2 0           0           0           0           0           0           0           |
               | 0           a2+b2+c2+d2 0           0           0           0           0           0           |
               | 0           0           a2+b2+c2+d2 0           0           0           0           0           |
               | 0           0           0           a2+b2+c2+d2 0           0           0           0           |
               | 0           0           0           0           a2+b2+c2+d2 0           0           0           |
               | 0           0           0           0           0           a2+b2+c2+d2 0           0           |
               | 0           0           0           0           0           0           a2+b2+c2+d2 0           |
               | 0           0           0           0           0           0           0           a2+b2+c2+d2 |

          8                                                                                                           8
     1 : R  <------------------------------------------------------------------------------------------------------- R  : 1
               | a2+b2+c2+d2 0           0           0           0           0           0           0           |
               | 0           a2+b2+c2+d2 0           0           0           0           0           0           |
               | 0           0           a2+b2+c2+d2 0           0           0           0           0           |
               | 0           0           0           a2+b2+c2+d2 0           0           0           0           |
               | 0           0           0           0           a2+b2+c2+d2 0           0           0           |
               | 0           0           0           0           0           a2+b2+c2+d2 0           0           |
               | 0           0           0           0           0           0           a2+b2+c2+d2 0           |
               | 0           0           0           0           0           0           0           a2+b2+c2+d2 |

o5 : ZZdFactorizationMap
i6 : isdFactorization K

             2    2    2    2
o6 = (true, a  + b  + c  + d )

o6 : Sequence

The direct sum of factorizations is considered well-defined, but it is NOT a ZZ/d-graded factorization since the differential does not compose to a scalar multiple of the identity.

i7 : C1 = randomTailMF(a^3+b^3, 2,6,2)

      15      15      15
o7 = R   <-- R   <-- R
                      
     0       1       0

o7 : ZZdFactorization
i8 : C2 = randomTailMF(a^3+b^3+c^3,2,6,2)

      12      12      12
o8 = R   <-- R   <-- R
                      
     0       1       0

o8 : ZZdFactorization
i9 : isWellDefined (C1++C2)

o9 = true
i10 : isdFactorization (C1++C2)

o10 = (false, no potential)

o10 : Sequence

The zero factorization is well-defined, regardless of the specified period.

i11 : C = ZZdfactorization(R^0,2)

o11 = 0 <-- 0 <-- 0
                   
      0     1     0

o11 : ZZdFactorization
i12 : isWellDefined C

o12 = true
i13 : isWellDefined ZZdfactorization(R^0,5)

o13 = true

See also

Ways to use this method:


The source of this document is in MatrixFactorizations/MatrixFactorizationsDOC.m2:3760:0.