This is Regularity.info, produced by Macaulay2, version 1.20

Regularity -- compute Castelnuovo-Mumford regularity of a homogeneous ideal
***************************************************************************

Description
===========

Regularity is a package for computing the Castelnuovo-Mumford regularity of
homogeneous ideals in a polynomial ring without having to compute a minimal
free resolution of the homogeneous ideal

This package is based on two articles by Bermejo and Gimenez: Saturation and
Castelnuovo-mumford Regularity, Journal of Algebra 303/2006 and Computing the
Castelnuovo-Mumford Regularity of some subschemes of P^n using quotients of
monomial ideals, Journal of Pure and Applied Algebra 164/2001.

Authors
=======

  * Alexandra Seceleanu <asecele2@uiuc.edu>
  * Nathaniel Stapleton <nstaple2@math.uiuc.edu>

Version
=======

This documentation describes version 1.0 of Regularity.

Source code
===========

The source code from which this documentation is derived is in the file
Regularity.m2 (see common/share/Macaulay2/Regularity.m2 ).

Exports
=======

  * Functions and commands
      * mRegularity -- compute Castelnuovo-Mumford
        regularity
  * Methods
      * "mRegularity(Ideal)" -- see mRegularity, -- compute
        Castelnuovo-Mumford regularity
  * Symbols
      * CM (missing documentation)
      * "MonCurve" -- see mRegularity, -- compute
        Castelnuovo-Mumford regularity

For the programmer
==================

The object Regularity, is a package (Macaulay2Doc).

CM
**

Functions with optional argument named CM :
===========================================

  * mRegularity(...,CM=>...) (missing documentation)

For the programmer
==================

The object CM (missing documentation) is a symbol (Macaulay2Doc).

mRegularity -- compute Castelnuovo-Mumford regularity
*****************************************************

Synopsis
========

  * Usage:
        mRegularity I
  * Inputs:
      * I, an ideal (Macaulay2Doc), a homogeneous Ideal (Macaulay2Doc),
  * Optional inputs (Macaulay2Doc),:
      * CM (missing documentation) => a Boolean value (Macaulay2Doc),
        default value false, a parameter that should be
        set to true (Macaulay2Doc), if the ideal is known to be
        Cohen-Macaulay
      * MonCurve (missing documentation) => a Boolean value (Macaulay2Doc),
        default value false,  parameter that should be
        set to true if I is the ideal of a monomial curve
      * Verbose (missing documentation) => ..., default value false, null
  * Outputs:
      * the Castelnuovo-Mumford regularity of the given ideal, if it is
        homogeneous, and -1 otherwise

Description
===========

This package is based on two articles by Bermejo and Gimenez: Saturation and
Castelnuovo-mumford Regularity, Journal of Algebra 303/2006 and Computing the
Castelnuovo-Mumford Regularity of some subschemes of P^n using quotients of
monomial ideals, Journal of Pure and Applied Algebra 164/2001.

computing the regularity of the defining ideal of the second Veronesean of P3

+-----------------------------------------------------------------------------+
|i1 : R=QQ[a,b,c,d,x_0..x_9,MonomialOrder =>  Eliminate 4]                    |
|                                                                             |
|o1 = R                                                                       |
|                                                                             |
|o1 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i2 : i=ideal( x_0-a*b,x_1-a*c,x_2-a*d,x_3-b*c,x_4-b*d,x_5-c*d,x_6-a^2,x_7-b^2|
|                                                                             |
|                                                                             |
|o2 = ideal (- a*b + x , - a*c + x , - a*d + x , - b*c + x , - b*d + x , - c*d|
|                     0           1           2           3           4       |
|     ------------------------------------------------------------------------|
|              2          2          2          2                             |
|     + x , - a  + x , - b  + x , - c  + x , - d  + x )                       |
|        5          6          7          8          9                        |
|                                                                             |
|o2 : Ideal of R                                                              |
|-----------------------------------------------------------------------------|
|,x_8-c^2,x_9-d^2)                                                            |
+-----------------------------------------------------------------------------+
|i3 : j=selectInSubring(1, gens gb i)                                         |
|                                                                             |
|o3 = | x_5^2-x_8x_9 x_4x_5-x_3x_9 x_3x_5-x_4x_8 x_2x_5-x_1x_9 x_1x_5-x_2x_8  |
|     ------------------------------------------------------------------------|
|     x_4^2-x_7x_9 x_3x_4-x_5x_7 x_2x_4-x_0x_9 x_1x_4-x_0x_5 x_0x_4-x_2x_7    |
|     ------------------------------------------------------------------------|
|     x_3^2-x_7x_8 x_2x_3-x_0x_5 x_1x_3-x_0x_8 x_0x_3-x_1x_7 x_2^2-x_6x_9     |
|     ------------------------------------------------------------------------|
|     x_1x_2-x_5x_6 x_0x_2-x_4x_6 x_1^2-x_6x_8 x_0x_1-x_3x_6 x_0^2-x_6x_7 |   |
|                                                                             |
|             1       20                                                      |
|o3 : Matrix R  <--- R                                                        |
+-----------------------------------------------------------------------------+
|i4 : I=ideal flatten entries j -- this is the ideal of the Veronesean,       |
|                                                                             |
|             2                                                              2|
|o4 = ideal (x  - x x , x x  - x x , x x  - x x , x x  - x x , x x  - x x , x |
|             5    8 9   4 5    3 9   3 5    4 8   2 5    1 9   1 5    2 8   4|
|     ------------------------------------------------------------------------|
|                                                                  2          |
|     - x x , x x  - x x , x x  - x x , x x  - x x , x x  - x x , x  - x x ,  |
|        7 9   3 4    5 7   2 4    0 9   1 4    0 5   0 4    2 7   3    7 8   |
|     ------------------------------------------------------------------------|
|                                             2                               |
|     x x  - x x , x x  - x x , x x  - x x , x  - x x , x x  - x x , x x  -   |
|      2 3    0 5   1 3    0 8   0 3    1 7   2    6 9   1 2    5 6   0 2     |
|     ------------------------------------------------------------------------|
|            2                       2                                        |
|     x x , x  - x x , x x  - x x , x  - x x )                                |
|      4 6   1    6 8   0 1    3 6   0    6 7                                 |
|                                                                             |
|o4 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i5 : mRegularity I                                                           |
|                                                                             |
|o5 = 3                                                                       |
+-----------------------------------------------------------------------------+

This is an example where mRegularity is faster than regularity. Regularity
takes approximately 190 seconds.

+-----------------------------------------------------------------------------+
|i6 : R = QQ[x_0..x_5]                                                        |
|                                                                             |
|o6 = R                                                                       |
|                                                                             |
|o6 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i7 : I1 = ideal (x_0^2*x_1+x_0*x_1*x_2-x_0*x_4^2,-x_0*x_2^2+x_0^2*x_5,x_0^2*x|
|                                                                             |
|             2                 2       2    2     2              3    3      |
|o7 = ideal (x x  + x x x  - x x , - x x  + x x , x x  - x x x , x  - x  +    |
|             0 1    0 1 2    0 4     0 2    0 5   0 2    0 1 4   0    2      |
|     ------------------------------------------------------------------------|
|              3    2        2            3    3      2                       |
|     x x x , x  + x x  - x x  - x x x , x  + x  - x x )                      |
|      0 1 3   0    0 1    1 2    0 2 5   0    2    0 5                       |
|                                                                             |
|o7 : Ideal of R                                                              |
|-----------------------------------------------------------------------------|
|_2-x_0*x_1*x_4,x_0^3-x_2^3+x_0*x_1*x_3,x_0^3+x_0^2*x_1-x_1*x_2^2-x_0*x_2*x_5,|
|-----------------------------------------------------------------------------|
|x_0^3+x_2^3-x_0*x_5^2)                                                       |
+-----------------------------------------------------------------------------+
|i8 : benchmark "mRegularity I1"                                              |
|                                                                             |
|o8 = .5782054075                                                             |
|                                                                             |
|o8 : RR (of precision 53)                                                    |
+-----------------------------------------------------------------------------+

This is an example where regularity is faster than mRegularity.

+-----------------------------------------------------------------------------+
|i9 : R = QQ[x_0..x_5]                                                        |
|                                                                             |
|o9 = R                                                                       |
|                                                                             |
|o9 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i10 : I2 = ideal ( x_0^2+x_5^2, x_0^2+x_0*x_3+x_4^2, x_0^2+x_0*x_5+x_2*x_5,  |
|                                                                             |
|o10 : Ideal of R                                                             |
|-----------------------------------------------------------------------------|
|x_0^2-x_0*x_3-x_3*x_5, x_0^2-x_3*x_4, x_0*x_3);                              |
+-----------------------------------------------------------------------------+
|i11 : benchmark " mRegularity I2"                                            |
|                                                                             |
|o11 = .0708821201764706                                                      |
|                                                                             |
|o11 : RR (of precision 53)                                                   |
+-----------------------------------------------------------------------------+
|i12 : time regularity I2                                                     |
|     -- used 0.0044971 seconds                                               |
|                                                                             |
|o12 = 4                                                                      |
+-----------------------------------------------------------------------------+

This symbol is provided by the package Regularity.

See also
========

  * regularity (Macaulay2Doc) -- compute the
    Castelnuovo-Mumford regularity

Ways to use mRegularity :
=========================

  * "mRegularity(Ideal)"

For the programmer
==================

The object mRegularity, is a method function with options (Macaulay2Doc).