next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Complexes :: inducedMap(Complex,Complex)

inducedMap(Complex,Complex) -- make the map of complexes induced at each term by the identity map

Synopsis

Description

Let $d$ be the value of the optional argument Degree, or zero, if not given. For each $i$, the terms $D_{i+d}$ and $C_i$ must be subquotients of the same ambient free module. This method returns the complex map induced by the identity on each of these free modules.

If Verify => true is given, then this method also checks that these identity maps induced well-defined maps. This can be a relatively expensive computation.

We illustrate this method by truncating a free resolution at two distinct internal degrees. We check that the various induced maps compose to give another induced map.

i1 : kk = ZZ/32003

o1 = kk

o1 : QuotientRing
i2 : R = kk[a,b,c]

o2 = R

o2 : PolynomialRing
i3 : F = freeResolution (ideal gens R)^2

      1      6      8      3
o3 = R  <-- R  <-- R  <-- R
                           
     0      1      2      3

o3 : Complex
i4 : C1 = truncate(3, F)

                                                                                                               8      3
o4 = image | c3 bc2 ac2 b2c abc a2c b3 ab2 a2b a3 | <-- image {2} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <-- R  <-- R
                                                              {2} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |             
     0                                                        {2} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |     2      3
                                                              {2} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |
                                                              {2} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |
                                                              {2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |
                                                         
                                                        1

o4 : Complex
i5 : C2 = truncate(4, F)

                                                                                                                                                                                                                                                                                   3
o5 = image | c4 bc3 ac3 b2c2 abc2 a2c2 b3c ab2c a2bc a3c b4 ab3 a2b2 a3b a4 | <-- image {2} | c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  | <-- image {3} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <-- R
                                                                                        {2} | 0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |           {3} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |      
     0                                                                                  {2} | 0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |           {3} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |     3
                                                                                        {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  |           {3} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                                                        {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  |           {3} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |
                                                                                        {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 |           {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |
                                                                                                                                                                                                                      {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |
                                                                                  1                                                                                                                                   {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |
                                                                                                                                                                                                                 
                                                                                                                                                                                                                2

o5 : Complex
i6 : assert isWellDefined C1
i7 : assert isWellDefined C2
i8 : f = inducedMap(C1, C2)

o8 = 0 : image | c3 bc2 ac2 b2c abc a2c b3 ab2 a2b a3 | <----------------------------------------- image | c4 bc3 ac3 b2c2 abc2 a2c2 b3c ab2c a2bc a3c b4 ab3 a2b2 a3b a4 | : 0
                                                           {3} | c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                           {3} | 0 c 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                           {3} | 0 0 c 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                           {3} | 0 0 0 c 0 0 0 0 0 0 0 0 0 0 0 |
                                                           {3} | 0 0 0 0 c 0 0 0 0 0 0 0 0 0 0 |
                                                           {3} | 0 0 0 0 0 c 0 0 0 0 0 0 0 0 0 |
                                                           {3} | 0 0 0 0 0 0 c 0 0 0 b 0 0 0 0 |
                                                           {3} | 0 0 0 0 0 0 0 c 0 0 0 b 0 0 0 |
                                                           {3} | 0 0 0 0 0 0 0 0 c 0 0 0 b 0 0 |
                                                           {3} | 0 0 0 0 0 0 0 0 0 c 0 0 0 b a |

     1 : image {2} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | <----------------------------------------------------------------------------------- image {2} | c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  | : 1
               {2} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |    {3} | c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {2} | 0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |
               {2} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |    {3} | 0 c 0 b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {2} | 0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |
               {2} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |    {3} | 0 0 c 0 b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  |
               {2} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |    {3} | 0 0 0 0 0 0 c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  |
               {2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |    {3} | 0 0 0 0 0 0 0 c 0 b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 |
                                                              {3} | 0 0 0 0 0 0 0 0 c 0 b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 b 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 b a 0 0 0 0 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 0 0 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 b 0 0 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 b a 0 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 0 0 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 b 0 0 |
                                                              {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c 0 b a |

          8
     2 : R  <----------------------------------------------------------- image {3} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | : 2
               {3} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
               {3} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
               {3} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |
               {3} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |
               {3} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |
               {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |
               {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |
               {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |

          3                     3
     3 : R  <----------------- R  : 3
               {4} | 1 0 0 |
               {4} | 0 1 0 |
               {4} | 0 0 1 |

o8 : ComplexMap
i9 : assert isWellDefined f
i10 : f1 = inducedMap(F, C1)

           1
o10 = 0 : R  <-------------------------------------------- image | c3 bc2 ac2 b2c abc a2c b3 ab2 a2b a3 | : 0
                | c3 bc2 ac2 b2c abc a2c b3 ab2 a2b a3 |

           6
      1 : R  <----------------------------------------------- image {2} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | : 1
                {2} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {2} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |
                {2} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |         {2} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |
                {2} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |         {2} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |
                {2} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |         {2} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |
                {2} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |         {2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |
                {2} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |

           8                               8
      2 : R  <--------------------------- R  : 2
                {3} | 1 0 0 0 0 0 0 0 |
                {3} | 0 1 0 0 0 0 0 0 |
                {3} | 0 0 1 0 0 0 0 0 |
                {3} | 0 0 0 1 0 0 0 0 |
                {3} | 0 0 0 0 1 0 0 0 |
                {3} | 0 0 0 0 0 1 0 0 |
                {3} | 0 0 0 0 0 0 1 0 |
                {3} | 0 0 0 0 0 0 0 1 |

           3                     3
      3 : R  <----------------- R  : 3
                {4} | 1 0 0 |
                {4} | 0 1 0 |
                {4} | 0 0 1 |

o10 : ComplexMap
i11 : f2 = inducedMap(F, C2)

           1
o11 = 0 : R  <---------------------------------------------------------------------- image | c4 bc3 ac3 b2c2 abc2 a2c2 b3c ab2c a2bc a3c b4 ab3 a2b2 a3b a4 | : 0
                | c4 bc3 ac3 b2c2 abc2 a2c2 b3c ab2c a2bc a3c b4 ab3 a2b2 a3b a4 |

           6
      1 : R  <----------------------------------------------------------------------------------------------------------------------- image {2} | c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  | : 1
                {2} | c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |         {2} | 0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |
                {2} | 0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |         {2} | 0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |
                {2} | 0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  |         {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  |
                {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  0  0  0  0  0  0  |         {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  |
                {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 0  0  0  0  0  0  |         {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 |
                {2} | 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  c2 bc ac b2 ab a2 |

           8
      2 : R  <----------------------------------------------------------- image {3} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | : 2
                {3} | c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {3} | 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                {3} | 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |
                {3} | 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |
                {3} | 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |
                {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |
                {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a 0 0 0 |         {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |
                {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c b a |

           3                     3
      3 : R  <----------------- R  : 3
                {4} | 1 0 0 |
                {4} | 0 1 0 |
                {4} | 0 0 1 |

o11 : ComplexMap
i12 : assert isWellDefined f1
i13 : assert isWellDefined f2
i14 : assert(f2 == f1 * f)

See also