next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
MultiplierIdeals :: logCanonicalThreshold

logCanonicalThreshold -- log canonical threshold

Description

The log canonical threshold of an ideal I is the infimum of t for which the multiplier ideal J(It) is a proper ideal. Equivalently it is the least nonzero jumping number.

log canonical threshold of a monomial ideal

Computes the log canonical threshold of a monomial ideal I.
i1 : R = QQ[x,y];
i2 : I = monomialIdeal(y^2,x^3);

o2 : MonomialIdeal of R
i3 : logCanonicalThreshold(I)
Using Normaliz integer input types is deprecated, please use rees_algebra instead of 3

     5
o3 = -
     6

o3 : QQ
i4 : S = QQ[x,y,z];
i5 : J = monomialIdeal(x*y^4*z^6, x^5*y, y^7*z, x^8*z^8); -- Example 7 of [Howald 2000]

o5 : MonomialIdeal of S
i6 : logCanonicalThreshold(J)
Using Normaliz integer input types is deprecated, please use rees_algebra instead of 3

      68
o6 = ---
     191

o6 : QQ

thresholds of multiplier ideals of monomial ideals

  • Usage:
    logCanonicalThreshold(I,m)
  • Inputs:
  • Outputs:
    • a rational number, the least t such that m is not in the t-th multiplier ideal of I
    • a matrix, the equations of the facets of the Newton polyhedron of I which impose the threshold on m
Computes the threshold of inclusion of the monomial m=xv in the multiplier ideal J(It), that is, the value t = sup{c | m lies in J(Ic) }= min{c | m does not lie in J(Ic)}. In other words, (1/t)(v+(1,..,1)) lies on the boundary of the Newton polyhedron Newt(I). In addition, returns the linear inequalities for those facets of Newt(I) which contain (1/t)(v+(1,..,1)). These are in the format of Normaliz, i.e., a matrix (A | b) where the number of columns of A is the number of variables in the ring, b is a column vector, and the inequality on the column vector v is given by Av+b ≥0, entrywise. As a special case, the log canonical threshold is the threshold of the monomial 1R = x0.
i7 : R = QQ[x,y];
i8 : I = monomialIdeal(x^13,x^6*y^4,y^9);

o8 : MonomialIdeal of R
i9 : logCanonicalThreshold(I,x^2*y)
Using Normaliz integer input types is deprecated, please use rees_algebra instead of 3

      1
o9 = (-, | 4 7 -52 |)
      2  | 5 6 -54 |

o9 : Sequence
i10 : J = monomialIdeal(x^6,x^3*y^2,x*y^5); -- Example 6.7 of [Howald 2001] (thesis)

o10 : MonomialIdeal of R
i11 : logCanonicalThreshold(J,1_R)
Using Normaliz integer input types is deprecated, please use rees_algebra instead of 3

        5
o11 = (--, | 3 2 -13 |)
       13

o11 : Sequence
i12 : logCanonicalThreshold(J,x^2)
Using Normaliz integer input types is deprecated, please use rees_algebra instead of 3

       3
o12 = (-, | 2 3 -12 |)
       4

o12 : Sequence

log canonical threshold of a hyperplane arrangement

Computes the log canonical threshold of a hyperplane arrangement A.
i13 : R = QQ[x,y,z];
i14 : f = toList factor((x^2 - y^2)*(x^2 - z^2)*(y^2 - z^2)*z) / first;
i15 : A = arrangement f;
i16 : logCanonicalThreshold(A)

      3
o16 = -
      7

o16 : QQ

log canonical threshold of monomial space curves

  • Usage:
    logCanonicalThreshold(R,n)
  • Inputs:
    • R, a ring
    • n, a list, a list of three integers
  • Outputs:

Computes the log canonical threshold of the ideal I of a space curve parametrized by u →(ua,ub,uc).

i17 : R = QQ[x,y,z];
i18 : n = {2,3,4};
i19 : logCanonicalThreshold(R,n)
Using Normaliz integer input types is deprecated, please use rees_algebra instead of 3

      11
o19 = --
       6

o19 : QQ

log canonical threshold of a generic determinantal ideal

  • Usage:
    multiplierIdeal(L,r)
  • Inputs:
    • L, a list, dimensions {m,n} of a matrix
    • r, an integer, the size of minors generating the determinantal ideal
  • Outputs:
Computes the log canonical threshold of the ideal of r ×r minors in a m ×n matrix whose entries are independent variables (a generic matrix).

lct of ideal of 2-by-2 minors of 4-by-5 matrix:

i20 : x = getSymbol "x";
i21 : R = QQ[x_1..x_20];
i22 : X = genericMatrix(R,4,5);

              4       5
o22 : Matrix R  <--- R
i23 : logCanonicalThreshold(X,2)

o23 = 10

o23 : QQ
We produce some tables of lcts:
i24 : 
            lctTable = (M,N,r) -> (
              x = getSymbol "x";
              R := QQ[x_1..x_(M*N)];
              netList (
              prepend( join({"m\\n"}, toList(3..M)),
              for n from 3 to N list (
                prepend(n,
                for m from 3 to min(n,M) list (
                  logCanonicalThreshold(genericMatrix(R,m,n),r)
                ))
              ))
            ));
Table of LCTs of ideals of 3-by-3 minors of various size matrices (Table A.1 of [Johnson, 2003] (dissertation))
i25 :     
      lctTable(6,10,3)

      +---+-+--+--+--+
o25 = |m\n|3|4 |5 |6 |
      +---+-+--+--+--+
      |3  |1|  |  |  |
      +---+-+--+--+--+
      |4  |2|4 |  |  |
      +---+-+--+--+--+
      |5  |3|6 |8 |  |
      +---+-+--+--+--+
      |   | |15|  |  |
      |6  |4|--|10|12|
      |   | | 2|  |  |
      +---+-+--+--+--+
      |   | |  |35|  |
      |7  |5|9 |--|14|
      |   | |  | 3|  |
      +---+-+--+--+--+
      |   | |21|40|  |
      |8  |6|--|--|16|
      |   | | 2| 3|  |
      +---+-+--+--+--+
      |9  |7|12|15|18|
      +---+-+--+--+--+
      |   | |40|50|  |
      |10 |8|--|--|20|
      |   | | 3| 3|  |
      +---+-+--+--+--+
Table of LCTs of ideals of 4-by-4 minors of various size matrices (Table A.2 of [Johnson, 2003] (dissertation))
i26 : lctTable(8,14,4)

      +---+-+--+--+--+--+--+
o26 = |m\n|3|4 |5 |6 |7 |8 |
      +---+-+--+--+--+--+--+
      |3  |0|  |  |  |  |  |
      +---+-+--+--+--+--+--+
      |4  |0|1 |  |  |  |  |
      +---+-+--+--+--+--+--+
      |5  |0|2 |4 |  |  |  |
      +---+-+--+--+--+--+--+
      |6  |0|3 |6 |8 |  |  |
      +---+-+--+--+--+--+--+
      |   | |  |15|  |  |  |
      |7  |0|4 |--|10|12|  |
      |   | |  | 2|  |  |  |
      +---+-+--+--+--+--+--+
      |   | |  |  |35|  |  |
      |8  |0|5 |9 |--|14|16|
      |   | |  |  | 3|  |  |
      +---+-+--+--+--+--+--+
      |   | |  |21|40|63|  |
      |9  |0|6 |--|--|--|18|
      |   | |  | 2| 3| 4|  |
      +---+-+--+--+--+--+--+
      |   | |  |  |  |35|  |
      |10 |0|7 |12|15|--|20|
      |   | |  |  |  | 2|  |
      +---+-+--+--+--+--+--+
      |   | |  |40|33|77|  |
      |11 |0|8 |--|--|--|22|
      |   | |  | 3| 2| 4|  |
      +---+-+--+--+--+--+--+
      |   | |  |44|  |  |  |
      |12 |0|9 |--|18|21|24|
      |   | |  | 3|  |  |  |
      +---+-+--+--+--+--+--+
      |   | |  |  |39|91|  |
      |13 |0|10|16|--|--|26|
      |   | |  |  | 2| 4|  |
      +---+-+--+--+--+--+--+
      |   | |  |52|  |49|  |
      |14 |0|11|--|21|--|28|
      |   | |  | 3|  | 2|  |
      +---+-+--+--+--+--+--+

See also

Ways to use logCanonicalThreshold :