next | previous | forward | backward | up | top | index | toc | home

universalEmbedding -- Compute the universal embedding

Synopsis

Description

The main purpose of this function is to compute the embedding needed to compute the ReesAlgebra of a module following What is the Rees algebra of a module? written by Eisenbud, Huneke, and Ulrich . The function is incorporated in reesAlgebra but the interested user can use this function to see the map or use it for something else.

i1 : R=QQ[x_1..x_8];
i2 : m1=genericMatrix(R,x_1,2,2); m2=genericMatrix(R,x_5,2,2);

             2       2
o2 : Matrix R  <--- R

             2       2
o3 : Matrix R  <--- R
i4 : m=m1*m2

o4 = | x_1x_5+x_3x_6 x_1x_7+x_3x_8 |
     | x_2x_5+x_4x_6 x_2x_7+x_4x_8 |

             2       2
o4 : Matrix R  <--- R
i5 : i= ideal flatten m

o5 = ideal (x x  + x x , x x  + x x , x x  + x x , x x  + x x )
             1 5    3 6   2 5    4 6   1 7    3 8   2 7    4 8

o5 : Ideal of R
i6 : d1=minors(2,m1); d2=minors(2,m2);

o6 : Ideal of R

o7 : Ideal of R
i8 : j=i+d1+d2

o8 = ideal (x x  + x x , x x  + x x , x x  + x x , x x  + x x , - x x  +
             1 5    3 6   2 5    4 6   1 7    3 8   2 7    4 8     2 3  
     ------------------------------------------------------------------------
     x x , - x x  + x x )
      1 4     6 7    5 8

o8 : Ideal of R
i9 : M=matrix{{0,d1_0,m_(0,0),m_(0,1)},
                    {0,0,m_(1,0),m_(1,1)},
                    {0,0,0,d2_0},
                    {0,0,0,0}}

o9 = | 0 -x_2x_3+x_1x_4 x_1x_5+x_3x_6 x_1x_7+x_3x_8  |
     | 0 0              x_2x_5+x_4x_6 x_2x_7+x_4x_8  |
     | 0 0              0             -x_6x_7+x_5x_8 |
     | 0 0              0             0              |

             4       4
o9 : Matrix R  <--- R
i10 : M=M-(transpose M)

o10 = | 0              -x_2x_3+x_1x_4 x_1x_5+x_3x_6 x_1x_7+x_3x_8  |
      | x_2x_3-x_1x_4  0              x_2x_5+x_4x_6 x_2x_7+x_4x_8  |
      | -x_1x_5-x_3x_6 -x_2x_5-x_4x_6 0             -x_6x_7+x_5x_8 |
      | -x_1x_7-x_3x_8 -x_2x_7-x_4x_8 x_6x_7-x_5x_8 0              |

              4       4
o10 : Matrix R  <--- R
i11 : N=transpose (res coker transpose M).dd_2

o11 = {-4} | -x_2x_5-x_4x_6 x_2x_3-x_1x_4 -x_1x_5-x_3x_6 0              |
      {-4} | -x_2x_7-x_4x_8 0             -x_1x_7-x_3x_8 x_2x_3-x_1x_4  |
      {-4} | x_6x_7-x_5x_8  x_1x_7+x_3x_8 0              -x_1x_5-x_3x_6 |
      {-4} | 0              x_2x_7+x_4x_8 -x_6x_7+x_5x_8 -x_2x_5-x_4x_6 |

              4       4
o11 : Matrix R  <--- R
i12 : uN=universalEmbedding -- (N)

o12 = universalEmbedding

o12 : MethodFunction

Ways to use universalEmbedding :