Macaulay2 » Documentation
Packages » ReesAlgebra :: jacobianDual
next | previous | forward | backward | up | index | toc

jacobianDual -- Computes the 'jacobian dual', part of a method of finding generators for Rees Algebra ideals

Synopsis

Description

Let I be an ideal of R and let phi be the presentation matrix of I as a module. The symmetric algebra of I has the form

$Sym_R(I) = R[T_0..T_m]/ideal(T*phi)$

where the T_i correspond to the generators of I. If $X = matrix\{\{x_1..x_n\}\}$, with x_i \in{} R, and ideal X contains the entries of the matrix phi, then there is a matrix psi defined over R[T_0..T_m], called the Jacobian Dual of phi with respect to X, such that $T*phi = X*psi$. (the matrix psi is generally not unique; Macaulay2 computes it using Groebner division with remainder.)

In the form psi = jacobianDual phi, a new ring ST := S[T_0..T_m] is created, and the vector X is set to the variables of R. The result is returned as a matrix over ST. To do the computation in a ring previously defined computed, use the form psi = jacobianDual(phi, X,T); in this case, the matrices phi, X, T should all be defined over the same ring ST, the matrix T should be a row of variables of ST, and the matrix phi should have entries in a subring not involving the entries of T.

If I is an ideal of grade >=1 and ideal X contains a nonzerodivisor of R (which will be automatic if I has finite projective dimension) then ideal X has grade >= 1 on the Rees algebra. Since ideal(T*phi) is contained in the defining ideal of the Rees algebra, the vector X is annihilated by the matrix psi when regarded over the Rees algebra. If also the number of relations of I is >= the number of generators of I, this implies that the maximal minors of psi annihilate the x_i as elements of the Rees algebra, and thus that the maximal minors of psi are inside the ideal of the Rees algebra. In very favorable circumstances, one may even have the equality reesIdeal I = ideal(T*phi)+ideal minors(psi): For example:

Theorem (S. Morey and B. Ulrich, Rees Algebras of Ideals with Low Codimension, Proc. Am. Math. Soc. 124 (1996) 3653–3661): Let R be a local Gorenstein ring with infinite residue field, let I be a perfect ideal of grade 2 with n generators, and let phi be the presentation matrix of I. Let ell = ell(I) be the analytic spread. Suppose that I satisfies the condition G_{ell} or, equivalently, that the n-p sized minors of phi have codimension >p for 1<= p < ell. The following conditions are equivalent:

1) reesAlgebra I is Cohen-Macaulay and I_(n-ell)(phi) = I_1(phi)^{n-ell} 2) reductionNumber I < ell and I_(n+1-ell)(phi) = I_1(phi)^{n+1-ell} 3) reesIdeal I = symmetricAlgebraIdeal I + minors(n, jacobianDual phi)

We start with the presentation matrix phi of an (n+1)-generator perfect ideal Such that the first row consists of the n variables of the ring, and the rest of whose rows are reasonably general (in this case random quadrics):

i1 : setRandomSeed 0

o1 = 0
i2 : n=3;
i3 : kk = ZZ/101;
i4 : S = kk[a_0..a_(n-2)];
i5 : phi' = map(S^(n),S^(n-1), (i,j) -> if i == 0 then a_j else random(2,S));

             3      2
o5 : Matrix S  <-- S
i6 : I = minors(n-1,phi');

o6 : Ideal of S
i7 : betti (F = res I)

            0 1 2
o7 = total: 1 3 2
         0: 1 . .
         1: . . .
         2: . 2 .
         3: . 1 2

o7 : BettiTally
i8 : phi = F.dd_2;

             3      2
o8 : Matrix S  <-- S
i9 : jphi = jacobianDual phi

o9 = {0, 1} | (11a_0-37a_1)w_1                
     {0, 1} | (-11a_0-34a_1)w_0-46a_1w_1+14w_2
     ------------------------------------------------------------------------
     w_2                              |
     11a_1w_0+(-11a_0-30a_1)w_1+18w_2 |

                       2                2
o9 : Matrix (S[w ..w ])  <-- (S[w ..w ])
                0   2            0   2

We first compute the analytic spread ell and the reduction number r

i10 : ell = analyticSpread I

o10 = 2
i11 : r = reductionNumber(I, minimalReduction I)

o11 = 1

Now we can check the condition G_{ell}, first probabilistically

i12 : whichGm I >= ell

o12 = true

and now deterministically

i13 : apply(toList(1..ell-1), p-> {p+1, codim minors(n-p, phi)})

o13 = {{2, 2}}

o13 : List

We now check the three equivalent conditions of the Morey-Ulrich Theorem. Note that since ell = n-1 in this case, the second part of conditions 1,2 is vacuously satisfied, and since r<ell, the conditions must all be satisfied. We first check that reesAlgebra I is Cohen-Macaulay:

i14 : reesI = reesIdeal I;

o14 : Ideal of S[w ..w ]
                  0   2
i15 : codim reesI

o15 = 2
i16 : betti res reesI

             0 1 2
o16 = total: 1 3 2
          0: 1 . .
          1: . . .
          2: . 2 .
          3: . 1 2

o16 : BettiTally

Finally, we wish to see that reesIdeal I is generated by the ideal of the symmetric algebra together with the jacobian dual:

i17 : psi = jacobianDual phi

o17 = {0, 1} | (11a_0-37a_1)w_1                
      {0, 1} | (-11a_0-34a_1)w_0-46a_1w_1+14w_2
      -----------------------------------------------------------------------
      w_2                              |
      11a_1w_0+(-11a_0-30a_1)w_1+18w_2 |

                        2                2
o17 : Matrix (S[w ..w ])  <-- (S[w ..w ])
                 0   2            0   2

We now compute the ideal J of the symmetric algebra; the call symmetricAlgebra I would return the ideal over a different ring, so we do it by hand:

i18 : ST = ring psi

o18 = ST

o18 : PolynomialRing
i19 : T = vars ST

o19 = | w_0 w_1 w_2 |

               1       3
o19 : Matrix ST  <-- ST
i20 : J = ideal(T*promote(phi, ST))

                            2          2               2                 2  
o20 = ideal ((- 11a a  - 34a )w  + (11a  - 37a a  - 46a )w  + 14a w , 11a w 
                   0 1      1  0       0      0 1      1  1      1 2     1 0
      -----------------------------------------------------------------------
                       2
      + (- 11a a  - 30a )w  + (a  + 18a )w )
              0 1      1  1     0      1  2

o20 : Ideal of ST
i21 : betti res J

             0 1 2
o21 = total: 1 2 1
          0: 1 . .
          1: . . .
          2: . 2 .
          3: . . .
          4: . . 1

o21 : BettiTally
i22 : J1 = minors(ell, psi)

                        2              2             2  2                    
o22 = ideal((20a a  - 3a )w w  + (- 20a  - 24a a  - a )w  + (11a  + 34a )w w 
                0 1     1  0 1         0      0 1    1  1       0      1  0 2
      -----------------------------------------------------------------------
                                2
      + (- 4a  - 14a )w w  - 14w )
             0      1  1 2      2

o22 : Ideal of ST
i23 : betti (G = res trim (J+J1))

             0 1 2
o23 = total: 1 3 2
          0: 1 . .
          1: . . .
          2: . 2 .
          3: . 1 2

o23 : BettiTally
i24 : betti res reesIdeal I

             0 1 2
o24 = total: 1 3 2
          0: 1 . .
          1: . . .
          2: . 2 .
          3: . 1 2

o24 : BettiTally

The name Jacobian Dual comes from the case where phi is a matrix of linear forms the x_i are the variables of R, and the generators of I are forms, all of the same degree D; in this case Euler's formula sum(df_i/dx_j*xj) = Df can be used to express the entries of psi in terms of the derivatives of the entries of phi, at least when the degrees of the columns of phi are nonzero in the coefficient field.

Explicitly, let x_1,...,x_n be the variables of R, and let phi be a presentation matrix for I. Since all the f_i have the same degree, if follows that, for each j, the entries phi_(i,j) will all have the same degree, say D_j = deg phi_(i,j). Let ST be the polynomial ring R[T_0..T_m], where the T_i correspond to f_i, and let X=matrix{{x_1,...,x_n}}, and T=matrix{{T_0,...,T_m}} be row matrices over ST. In this case, by Euler's formula, we may take

psi_{k,j}=(1/D_j)*sum_i(d phi_{i,j}/d x_k*T_i),

Caveat

The division with remainder step is usually fast, but if this ever becomes a bottleneck it would be possible to test for the degree condition and use Euler's formula in the case where it applies.

See also

Ways to use jacobianDual :

For the programmer

The object jacobianDual is a method function with options.