Macaulay2 » Documentation
Packages » MixedMultiplicity :: multiReesIdeal
next | previous | forward | backward | up | index | toc

multiReesIdeal -- Compute the defining ideal of multi-Rees algebra of ideals

Synopsis

Description

When the base ring is a domain, the function computes the defining ideal of the multi-Rees algebra of ideals by computing the saturation of a binomial ideal with respect to a polynomial. The technique is a generalization of a result of D. Cox, K.-i. Lin and G. Sosa for monomial ideals over a polynomial ring.

i1 : S = QQ[x_0..x_3];
i2 : C = trim monomialCurveIdeal(S,{2,3,5})

                          3    2     3      2
o2 = ideal (x x  - x x , x  - x x , x  - x x )
             1 2    0 3   2    1 3   1    0 2

o2 : Ideal of S
i3 : multiReesIdeal C

             2                   2
o3 = ideal (x X  - x X  - x X , x X  - x X  - x X )
             2 0    1 1    3 2   1 0    0 1    2 2

o3 : Ideal of S[X ..X ]
                 0   2
i4 : I = multiReesIdeal {C,C}

             2                   2                   2                   2
o4 = ideal (x X  - x X  - x X , x X  - x X  - x X , x X  - x X  - x X , x X 
             2 3    1 4    3 5   1 3    0 4    2 5   2 0    1 1    3 2   1 0
     ------------------------------------------------------------------------
     - x X  - x X , X X  - X X , X X  - X X , X X  - X X )
        0 1    2 2   2 3    0 5   1 3    0 4   2 4    1 5

o4 : Ideal of S[X ..X ]
                 0   5

This is how we handle degrees

i5 : transpose gens I

o5 = {0, -1, -4}  | x_2^2X_3-x_1X_4-x_3X_5 |
     {0, -1, -4}  | x_1^2X_3-x_0X_4-x_2X_5 |
     {-1, 0, -4}  | x_2^2X_0-x_1X_1-x_3X_2 |
     {-1, 0, -4}  | x_1^2X_0-x_0X_1-x_2X_2 |
     {-1, -1, -5} | X_2X_3-X_0X_5          |
     {-1, -1, -5} | X_1X_3-X_0X_4          |
     {-1, -1, -6} | X_2X_4-X_1X_5          |

                       7                1
o5 : Matrix (S[X ..X ])  <-- (S[X ..X ])
                0   5            0   5

If the base ring is not a domain, then the function computes the defining ideal by computing the presentation of each ideal and returns the kernel between the symmetric algebra of the source and the target symmetric algebras. Alternatively, if the user knows nonzerodivisors, one from each input ideal, then the function uses the algorithm of the domain case and saturates the binomial ideal with respect to the product of the nonzerodivisors. The alternate method is often much faster.

i6 : T = QQ[a,b,c];
i7 : m = matrix{{a,b,c},{b,c,a}};

             2      3
o7 : Matrix T  <-- T
i8 : U = T/minors(2,m);
i9 : J = ideal vars U

o9 = ideal (a, b, c)

o9 : Ideal of U
i10 : time multiReesIdeal J
 -- used 0.228672s (cpu); 0.173174s (thread); 0s (gc)

                                                                             
o10 = ideal (c*X  - b*X , b*X  - a*X , a*X  - c*X , c*X  - a*X , b*X  - c*X ,
                1      2     1      2     1      2     0      2     0      2 
      -----------------------------------------------------------------------
                    2                 2   2
      a*X  - b*X , X  - X X , X X  - X , X  - X X )
         0      2   1    0 2   0 1    2   0    1 2

o10 : Ideal of U[X ..X ]
                  0   2
i11 : time multiReesIdeal (J, a)
 -- used 0.0320001s (cpu); 0.030401s (thread); 0s (gc)

                                                                             
o11 = ideal (c*X  - b*X , b*X  - a*X , a*X  - c*X , c*X  - a*X , b*X  - c*X ,
                1      2     1      2     1      2     0      2     0      2 
      -----------------------------------------------------------------------
                    2                 2   2
      a*X  - b*X , X  - X X , X X  - X , X  - X X )
         0      2   1    0 2   0 1    2   0    1 2

o11 : Ideal of U[X ..X ]
                  0   2

See also

Ways to use multiReesIdeal :

For the programmer

The object multiReesIdeal is a method function with options.