next | previous | forward | backward | up | top | index | toc | Macaulay2 website
AssociativeAlgebras :: extAlgebra

extAlgebra -- Compute the Ext algebra of a ring

Synopsis

Description

This command uses the functions yonedaMap and yonedaMap' to compute a presentation of the Yoneda Ext algebra of the residue field of a commutative graded ring R. Since this algebra is not finitely generated or finitely presented in general, one may (and should) provide degree bound information as an optional input.

i1 : R = QQ[x,y]/ideal(x^4,x^3*y,x*y^3)

o1 = R

o1 : QuotientRing
i2 : ER = extAlgebra(R,z,DegreeLimit=>(5,10));
i3 : degrees ER

o3 = {{1}, {1}, {2}, {2}, {2}, {3}}

o3 : List
i4 : ideal ER

             2                2
o4 = ideal (z , z z  + z z , z , - z z  + z z , - z z  - z z  + z z  + z z ,
             1   1 2    2 1   2     1 3    3 1     1 4    2 3    3 2    4 1 
     ------------------------------------------------------------------------
     - z z  + z z , - z z  + z z , - z z  + z z , z z  + z z , z z  + z z )
        2 4    4 2     1 5    5 1     2 5    5 2   1 6    6 1   2 6    6 2

o4 : Ideal of QQ <|z , z , z , z , z , z |>
                    1   2   3   4   5   6

Notice that the optional argument DegreeLimit is a pair $(m,n)$ where $m$ is the maximum degree of a generator or relation of the Ext algebra, and $n$ is the maximum degree that the Groebner basis of the defining ideal of the Ext algebra is computed.

The chain maps representing those elements of Ext chosen as generators are stored in the cache of the returned algebra:

i5 : ER.cache#"extMaps"#(z_4)

          1                   4
o5 = 0 : R  <--------------- R  : 2
               | 0 0 1 0 |

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

          4                                                  16
     2 : R  <---------------------------------------------- R   : 4
               {2} | 0 -1 0 0 0 0 0 0 y2 0 0 x2 0 0 0 0 |
               {4} | 0 0  0 0 0 0 0 0 1  0 0 0  0 0 0 0 |
               {4} | 0 0  0 0 0 0 0 0 0  0 0 1  0 0 0 0 |
               {4} | 0 0  0 0 0 0 0 0 0  0 0 0  0 0 1 0 |

          8                                                                                 32
     3 : R  <----------------------------------------------------------------------------- R   : 5
               {5} | 0 0 0 0 0 0 0 1 0 0 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 |
               {5} | 0 0 0 1 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 |
               {5} | 0 0 0 0 0 0 0 0 0 0 0  0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 |
               {5} | 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  0 |
               {5} | 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0  0 |
               {5} | 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  0 |
               {5} | 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 0 0 0 0 0 0  0 |
               {6} | 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 0 |

o5 : ComplexMap

If $R$ is a complete intersection, for any pair of finitely generated modules $M$ and $N$ over $R$, the total Ext module $\text{Ext}_R(M,N)$ is a finitely generated module over the central polynomial subalgebra of elements of homological degree two. The existing function Ext(Module,Module) computes this module structure, but not the algebra structure. Currently, the method used in this package does not use this functionality, as it is not clear how to extract the algebra structure from the current implementation (but this may change in the future).

Ways to use extAlgebra :

For the programmer

The object extAlgebra is a method function with options.