This is SCMAlgebras.info, produced by Macaulay2, version 1.26.06

SCMAlgebras -- sequentially Cohen-Macaulay modules or ideals
************************************************************

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

SCMAlgebras is a package to check whether a module or an ideal is sequentially
Cohen-Macaulay, by computing the modules of deficiency and the filter ideals.

Author
======

  * Ernesto Lax (see https://www.researchgate.net/profile/Ernesto-Lax )
    <erlax@unime.it>

Version
=======

This documentation describes version 1.1 of SCMAlgebras, released May 31, 2025.

Citation
========

If you have used this package in your research, please cite it as follows:

+-----------------------------------------------------------------------------+
|@misc{SCMAlgebrasSource,                                                     |
|  title = {{SCMAlgebras: sequentially                                        |
|  author = {Ernesto Lax},                                                    |
|  howpublished = {A \emph{Macaulay2}                                         |
|    \url{https://github.com/Macaulay2                                        |
|}                                                                            |
|-----------------------------------------------------------------------------|
| Cohen-Macaulay modules or ideals. Version~1.1}},                            |
|                                                                             |
|package available at                                                         |
|/M2/tree/stable/M2/Macaulay2/packages}}                                      |
+-----------------------------------------------------------------------------+

Exports
=======

  * Functions and commands
      * canonicalModule -- computes the canonical
        module of a module $M$ or an ideal $I$.
      * deficiencyModule -- computes the $i$th module
        of deficiency of a module $M$ or an ideal $I$.
      * filterIdeal -- computes the $i$th filter ideal of
        $I$.
      * isCCM -- checks whether a module or an ideal is
        canonically Cohen-Macaulay
      * isSCM -- checks whether a module or an ideal is
        sequentially Cohen-Macaulay
      * isUnmixed -- checks whether an ideal is unmixed
      * minimumDimension -- computes the minimum
        dimension of $I$.
      * unmixedLayer -- computes the $i$th unmixed layer
        of $I$.
  * Methods
      * "canonicalModule(Ideal)" -- see canonicalModule,
        -- computes the canonical module of a module $M$ or an ideal $I$.
      * "canonicalModule(Module)" -- see canonicalModule,
        -- computes the canonical module of a module $M$ or an
        ideal $I$.
      * "deficiencyModule(Ideal,ZZ)" -- see deficiencyModule,
        -- computes the $i$th module of deficiency of a
        module $M$ or an ideal $I$.
      * "deficiencyModule(Module,ZZ)" -- see deficiencyModule,
        -- computes the $i$th module of deficiency of a
        module $M$ or an ideal $I$.
      * "filterIdeal(Ideal,ZZ)" -- see filterIdeal, --
        computes the $i$th filter ideal of $I$.
      * "isCCM(Ideal)" -- see isCCM, -- checks whether a module or
        an ideal is canonically Cohen-Macaulay
      * "isCCM(Module)" -- see isCCM, -- checks whether a module
        or an ideal is canonically Cohen-Macaulay
      * "isSCM(Ideal)" -- see isSCM, -- checks whether a module or
        an ideal is sequentially Cohen-Macaulay
      * "isSCM(Module)" -- see isSCM, -- checks whether a module
        or an ideal is sequentially Cohen-Macaulay
      * "isUnmixed(Ideal)" -- see isUnmixed, -- checks whether
        an ideal is unmixed
      * "minimumDimension(Ideal)" -- see minimumDimension,
        -- computes the minimum dimension of $I$.
      * "unmixedLayer(Ideal,ZZ)" -- see unmixedLayer, --
        computes the $i$th unmixed layer of $I$.

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

The object SCMAlgebras, is a package (Macaulay2Doc),
defined in SCMAlgebras.m2.

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.

canonicalModule -- computes the canonical module of a module $M$ or an ideal $I$.
*********************************************************************************

  * Usage:
        canonicalModule M
        canonicalModule I
  * Inputs:
      * M, a module (Macaulay2Doc), module over the polynomial
        ring $S=K[x_1,\ldots,x_n]$, with $K$ a field or an ideal $I\subset S$
  * Outputs:
      * K, a module (Macaulay2Doc), the canonical module

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

Let $S=K[x_1,\ldots,x_n]$ be a polynomial ring. Given a $S$-module $M$ (or an
ideal $I\subset S$), it returns the canonical module $\omega(M)$ (or
$\omega(S/I)$), as $\mathrm{Ext}_S^{n-d}(M,S(-n))$, where $d=\dim M$ (or
$d=\dim S/I$).

+-----------------------------------------------------------+
|i1 : S=QQ[x_1..x_5];                                       |
+-----------------------------------------------------------+
|i2 : I=(x_1^2*x_3,x_2*x_3^2*x_4,x_1*x_3^3*x_5);            |
+-----------------------------------------------------------+
|i3 : M=S^1/I;                                              |
+-----------------------------------------------------------+
|i4 : canonicalModule M                                     |
|                                                           |
|o4 = subquotient ({2} | x_1^2       |, {2} | x_1^2x_3    |)|
|                  {1} | x_2x_3x_4   |  {1} | x_2x_3^2x_4 | |
|                  {0} | x_1x_3^2x_5 |  {0} | x_1x_3^3x_5 | |
|                                                           |
|                               3                           |
|o4 : S-module, subquotient of S                            |
+-----------------------------------------------------------+

See also
========

  * deficiencyModule -- computes the $i$th module of
    deficiency of a module $M$ or an ideal $I$.

Ways to use canonicalModule:
============================

  * "canonicalModule(Ideal)"
  * "canonicalModule(Module)"

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

The object canonicalModule, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.

deficiencyModule -- computes the $i$th module of deficiency of a module $M$ or an ideal $I$.
********************************************************************************************

  * Usage:
        deficiencyModule(M,i)
        deficiencyModule(I,i)
  * Inputs:
      * M, a module (Macaulay2Doc), module over the polynomial
        ring $S=K[x_1,\ldots,x_n]$, with $K$ a field or an ideal $I\subset S$
      * i, an integer (Macaulay2Doc), an integer
  * Outputs:
      * D, a module (Macaulay2Doc), the ith module of deficiency
        of $M$

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

Let $S=K[x_1,\ldots,x_n]$ be the polynomial ring. Given a $S$-module $M$ (or an
ideal $I\subset S$), it returns the $i$th module of deficiency $\omega^i(M)$
(or $\omega^i(S/I)$), defined as $\mathrm{Ext}_S^{n-i}(M,S(-n))$.

+-----------------------------------------------------------------------------+
|i1 : S=QQ[x_1..x_5];                                                         |
+-----------------------------------------------------------------------------+
|i2 : I=(x_1^2*x_3,x_2*x_3^2*x_4,x_1*x_3^3*x_5);                              |
+-----------------------------------------------------------------------------+
|i3 : M=S^1/I;                                                                |
+-----------------------------------------------------------------------------+
|i4 : deficiencyModule(M,3)                                                   |
|                                                                             |
|o4 = subquotient ({-1} | -x_1   0      x_2x_4 |, {-1} | -x_2x_3x_4 x_1^2     |
|                  {-1} | 0      x_1    x_3x_5 |  {-1} | -x_3^2x_5  0         |
|                  {-2} | x_3x_5 x_2x_4 0      |  {-2} | 0          -x_1x_3x_5|
|                                                                             |
|                               3                                             |
|o4 : S-module, subquotient of S                                              |
|-----------------------------------------------------------------------------|
|0      |)                                                                    |
|x_1    |                                                                     |
|x_2x_4 |                                                                     |
+-----------------------------------------------------------------------------+

See also
========

  * canonicalModule -- computes the canonical module of
    a module $M$ or an ideal $I$.
  * isSCM -- checks whether a module or an ideal is sequentially
    Cohen-Macaulay

Ways to use deficiencyModule:
=============================

  * "deficiencyModule(Ideal,ZZ)"
  * "deficiencyModule(Module,ZZ)"

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

The object deficiencyModule, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.

filterIdeal -- computes the $i$th filter ideal of $I$.
******************************************************

  * Usage:
        filterIdeal(I,i)
  * Inputs:
      * I, an ideal (Macaulay2Doc), a homogeneous ideal of the
        polynomial ring $S=K[x_1,\ldots,x_n]$, with $K$ a field
      * i, an integer (Macaulay2Doc), an integer greater or equal
        than -1
  * Outputs:
      * J, an ideal (Macaulay2Doc), the $i$th filter ideal of $I$

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

Let $I\subset S$ be a homogeneous ideal, with $d=\dim S/I$, and let
$I=\displaystyle\bigcap_{j=1}^r Q_j$ be the minimal primary decomposition of
$I$. For all $1\leq j\leq r$, let $P_j = \sqrt{Q_j}$ be the radical of $Q_j$.
For all $-1\leq i\leq d$, the $i$th filter ideal of $I$ is $$I^{<i>} =
\bigcap_{\dim S/{P_j}>i} Q_{j},$$ where $I^{<-1>}=I$ and $I^{<d>}=S$.

+-----------------------------------------------------------------------------+
|i1 : S = QQ[x_1..x_10,y_1..y_10];                                            |
+-----------------------------------------------------------------------------+
|i2 : E = {{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{6,7},{8,9  |
|-----------------------------------------------------------------------------|
|},{8,10},{9,10}};                                                            |
+-----------------------------------------------------------------------------+
|i3 : J=ideal(for e in E list x_(e#0)*y_(e#1)-x_(e#1)*y_(e#0));               |
|                                                                             |
|o3 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i4 : filterIdeal(J,5)                                                        |
|                                                                             |
|o4 = ideal (- x y  + x y , - x y  + x y , - x y  + x y , - x y  + x y , -    |
|               2 1    1 2     3 1    1 3     4 1    1 4     5 1    1 5       |
|     ------------------------------------------------------------------------|
|     x y  + x y , - x y  + x y , - x y  + x y , - x y  + x y , - x  y  +     |
|      6 1    1 6     7 1    1 7     8 1    1 8     9 1    1 9     10 1       |
|     ------------------------------------------------------------------------|
|     x y  , - x y  + x y , - x y  + x y , - x  y  + x y  , - x  y  + x y  )  |
|      1 10     7 6    6 7     9 8    8 9     10 8    8 10     10 9    9 10   |
|                                                                             |
|o4 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+

See also
========

  * unmixedLayer -- computes the $i$th unmixed layer of
    $I$.
  * minimumDimension -- computes the minimum dimension
    of $I$.
  * isSCM -- checks whether a module or an ideal is sequentially
    Cohen-Macaulay

Ways to use filterIdeal:
========================

  * "filterIdeal(Ideal,ZZ)"

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

The object filterIdeal, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.

isCCM -- checks whether a module or an ideal is canonically Cohen-Macaulay
**************************************************************************

  * Usage:
        isCCM M
        isCCM I
  * Inputs:
      * M, a module (Macaulay2Doc), a finitely generated graded
        $S$-module, $S=K[x_1,\ldots,x_n]$, with $K$ a field or an ideal
        $I\subset S$
  * Outputs:
      * b, a Boolean value (Macaulay2Doc), whether the module
        $M$ or the graded algebra $S/I$ is canonically Cohen-Macaulay

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

Let $S=K[x_1,\ldots,x_n]$ be a polynomial ring. Given a $S$-module $M$ (or an
ideal $I\subset S$), this method checks if the canonical module of $M$,
$\omega(M)$ (or $\omega(S/I)$) is Cohen-Macaulay.

+-----------------------------------------------------------------+
|i1 : S=QQ[x_1..x_5];                                             |
+-----------------------------------------------------------------+
|i2 : M=coker matrix{{x_1*x_2,x_3*x_4,0,0},{0,x_1*x_5,x_2*x_4,0}};|
+-----------------------------------------------------------------+
|i3 : isCCM M                                                     |
|                                                                 |
|o3 = true                                                        |
+-----------------------------------------------------------------+
+-----------------------------------------------------------------------------+
|i4 : S = QQ[x_1..x_10,y_1..y_10];                                            |
+-----------------------------------------------------------------------------+
|i5 : E = {{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{6,7},{8,9  |
|-----------------------------------------------------------------------------|
|},{8,10},{9,10}};                                                            |
+-----------------------------------------------------------------------------+
|i6 : J=ideal(for e in E list x_(e#0)*y_(e#1)-x_(e#1)*y_(e#0));               |
|                                                                             |
|o6 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i7 : isCCM J                                                                 |
|                                                                             |
|o7 = true                                                                    |
+-----------------------------------------------------------------------------+

See also
========

  * canonicalModule -- computes the canonical module of
    a module $M$ or an ideal $I$.
  * deficiencyModule -- computes the $i$th module of
    deficiency of a module $M$ or an ideal $I$.
  * isUnmixed -- checks whether an ideal is unmixed
  * isSCM -- checks whether a module or an ideal is sequentially
    Cohen-Macaulay

Ways to use isCCM:
==================

  * "isCCM(Ideal)"
  * "isCCM(Module)"

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

The object isCCM, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.

isSCM -- checks whether a module or an ideal is sequentially Cohen-Macaulay
***************************************************************************

  * Usage:
        isSCM M
        isSCM I
  * Inputs:
      * M, a module (Macaulay2Doc), a finitely generated graded
        $S$-module, $S=K[x_1,\ldots,x_n]$, with $K$ a field or an ideal
        $I\subset S$
  * Outputs:
      * b, a Boolean value (Macaulay2Doc), whether the module
        $M$ or the graded algebra $S/I$ is sequentially Cohen-Macaulay

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

Given a finitely generated graded $S$-module $M$, this method checks if the
$i$th module of deficiency of $M$, $\omega^{i}(M)$, if non-zero, is
Cohen-Macaulay of dimension $i$. For a homogeneous ideal $I\subset S$, the
function checks if $\mathrm{depth} S/{I^{<i>}} \geq i+1$, where $I^{<i>}$ is
the $i$th filter ideal.

+-----------------------------------------------------------------+
|i1 : S=QQ[x_1..x_5];                                             |
+-----------------------------------------------------------------+
|i2 : M=coker matrix{{x_1*x_2,x_3*x_4,0,0},{0,x_1*x_5,x_2*x_4,0}};|
+-----------------------------------------------------------------+
|i3 : isSCM M                                                     |
|                                                                 |
|o3 = false                                                       |
+-----------------------------------------------------------------+
+-----------------------------------------------------------------------------+
|i4 : S = QQ[x_1..x_10,y_1..y_10];                                            |
+-----------------------------------------------------------------------------+
|i5 : E = {{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{6,7},{8,9  |
|-----------------------------------------------------------------------------|
|},{8,10},{9,10}};                                                            |
+-----------------------------------------------------------------------------+
|i6 : J=ideal(for e in E list x_(e#0)*y_(e#1)-x_(e#1)*y_(e#0));               |
|                                                                             |
|o6 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i7 : isSCM J                                                                 |
|                                                                             |
|o7 = true                                                                    |
+-----------------------------------------------------------------------------+

See also
========

  * filterIdeal -- computes the $i$th filter ideal of $I$.
  * deficiencyModule -- computes the $i$th module of
    deficiency of a module $M$ or an ideal $I$.
  * isUnmixed -- checks whether an ideal is unmixed
  * isCCM -- checks whether a module or an ideal is canonically
    Cohen-Macaulay

Ways to use isSCM:
==================

  * "isSCM(Ideal)"
  * "isSCM(Module)"

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

The object isSCM, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.

isUnmixed -- checks whether an ideal is unmixed
***********************************************

  * Usage:
        isUnmixed I
  * Inputs:
      * I, an ideal (Macaulay2Doc), a homogeneous ideal $I$ of the
        polynomial ring $S=K[x_1,\ldots,x_n]$, with $K$ a field
  * Outputs:
      * b, a Boolean value (Macaulay2Doc), whether the ideal $I$
        is unmixed

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

For a homogeneous ideal $I\subset S$, the function checks if the $i$th unmixed
layer of $I$, $U_i(I)$ is zero for all $1\leq i < d$, where $d=\dim S/I$ and if
$U_d(I)=S/I$.

+-----------------------------------------------------------------------------+
|i1 : S = QQ[x_1..x_10,y_1..y_10];                                            |
+-----------------------------------------------------------------------------+
|i2 : E = {{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{6,7},{8,9  |
|-----------------------------------------------------------------------------|
|},{8,10},{9,10}};                                                            |
+-----------------------------------------------------------------------------+
|i3 : J=ideal(for e in E list x_(e#0)*y_(e#1)-x_(e#1)*y_(e#0));               |
|                                                                             |
|o3 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i4 : isUnmixed J                                                             |
|                                                                             |
|o4 = false                                                                   |
+-----------------------------------------------------------------------------+

See also
========

  * unmixedLayer -- computes the $i$th unmixed layer of
    $I$.
  * isSCM -- checks whether a module or an ideal is sequentially
    Cohen-Macaulay
  * isCCM -- checks whether a module or an ideal is canonically
    Cohen-Macaulay

Ways to use isUnmixed:
======================

  * "isUnmixed(Ideal)"

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

The object isUnmixed, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.

minimumDimension -- computes the minimum dimension of $I$.
**********************************************************

  * Usage:
        minimumDimension I
  * Inputs:
      * I, an ideal (Macaulay2Doc), a homogeneous ideal of the
        polynomial ring $S=K[x_1,\ldots,x_n]$, with $K$ a field
  * Outputs:
      * k, an integer (Macaulay2Doc), the minimum dimension of $I$

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

Let $S=K[x_1,\ldots,x_n]$ be a polynomial ring. Given a homogeneous ideal
$I\subset S$, it returns the minimum dimension, defined as the minimum integer
$k$ such that the filter ideal $I^{<k>}$ differs from $I$.

+-----------------------------------------------------------------------------+
|i1 : S = QQ[x_1..x_10,y_1..y_10];                                            |
+-----------------------------------------------------------------------------+
|i2 : E = {{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{6,7},{8,9  |
|-----------------------------------------------------------------------------|
|},{8,10},{9,10}};                                                            |
+-----------------------------------------------------------------------------+
|i3 : J=ideal(for e in E list x_(e#0)*y_(e#1)-x_(e#1)*y_(e#0));               |
|                                                                             |
|o3 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i4 : minimumDimension J                                                      |
|                                                                             |
|o4 = 11                                                                      |
+-----------------------------------------------------------------------------+

See also
========

  * filterIdeal -- computes the $i$th filter ideal of $I$.
  * isSCM -- checks whether a module or an ideal is sequentially
    Cohen-Macaulay

Ways to use minimumDimension:
=============================

  * "minimumDimension(Ideal)"

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

The object minimumDimension, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.

unmixedLayer -- computes the $i$th unmixed layer of $I$.
********************************************************

  * Usage:
        unmixedLayer(I,i)
  * Inputs:
      * I, an ideal (Macaulay2Doc), a homogeneous ideal of the
        polynomial ring $S=K[x_1,\ldots,x_n]$, with $K$ a field
      * i, an integer (Macaulay2Doc), an integer greater or equal
        than -1
  * Outputs:
      * U, a module (Macaulay2Doc), the $i$th unmixed layer of
        $I$

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

Let $I\subset S$ be a homogeneous ideal, with $d=\dim S/I$, and let
$I=\displaystyle\bigcap_{j=1}^r Q_j$ be the minimal primary decomposition of
$I$. For all $1\leq j\leq r$, let $P_j = \sqrt{Q_j}$ be the radical of $Q_j$.
For all $-1\leq i\leq d$, the $i$th filter ideal of $I$ is $$I^{<i>} =
\bigcap_{\dim S/{P_j}>i} Q_{j},$$ where $I^{<-1>}=I$ and $I^{<d>}=S$. The $i$th
unmixed layer of $I$ is defined as $U_i(I)=I^{<i>}/I^{<i>}$.

+-----------------------------------------------------------------------------+
|i1 : S = QQ[x_1..x_10,y_1..y_10];                                            |
+-----------------------------------------------------------------------------+
|i2 : E = {{1,2},{1,3},{1,4},{1,5},{1,6},{1,7},{1,8},{1,9},{1,10},{6,7},{8,9  |
|-----------------------------------------------------------------------------|
|},{8,10},{9,10}};                                                            |
+-----------------------------------------------------------------------------+
|i3 : J=ideal(for e in E list x_(e#0)*y_(e#1)-x_(e#1)*y_(e#0));               |
|                                                                             |
|o3 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i4 : unmixedLayer(J,7)                                                       |
|                                                                             |
|o4 = subquotient (| -x_2y_1+x_1y_2 -x_3y_1+x_1y_3 -x_4y_1+x_1y_4             |
|                                                                             |
|                               1                                             |
|o4 : S-module, subquotient of S                                              |
|-----------------------------------------------------------------------------|
|-x_5y_1+x_1y_5 -x_6y_1+x_1y_6 -x_7y_1+x_1y_7 -x_8y_1+x_1y_8 -x_9y_1+x_1y_9   |
|-----------------------------------------------------------------------------|
|-x_10y_1+x_1y_10 -x_7y_6+x_6y_7 -x_9y_8+x_8y_9 -x_10y_8+x_8y_10              |
|-----------------------------------------------------------------------------|
|-x_10y_9+x_9y_10 |, | -x_2y_1+x_1y_2 -x_3y_1+x_1y_3 -x_4y_1+x_1y_4           |
|-----------------------------------------------------------------------------|
|-x_5y_1+x_1y_5 -x_6y_1+x_1y_6 -x_7y_1+x_1y_7 -x_8y_1+x_1y_8 -x_9y_1+x_1y_9   |
|-----------------------------------------------------------------------------|
|-x_10y_1+x_1y_10 -x_7y_6+x_6y_7 -x_9y_8+x_8y_9 -x_10y_8+x_8y_10              |
|-----------------------------------------------------------------------------|
|-x_10y_9+x_9y_10 |)                                                          |
+-----------------------------------------------------------------------------+

See also
========

  * filterIdeal -- computes the $i$th filter ideal of $I$.
  * minimumDimension -- computes the minimum dimension
    of $I$.
  * isSCM -- checks whether a module or an ideal is sequentially
    Cohen-Macaulay

Ways to use unmixedLayer:
=========================

  * "unmixedLayer(Ideal,ZZ)"

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

The object unmixedLayer, is a method function (Macaulay2Doc).

-------------------------------------------------------------------------------

The source of this document is in SCMAlgebras.m2:488:0.