I1 = inverseSystem MM1 = inverseSystem IInverse systems are often used to construct artinian Gorenstein ideals and modules. For that application see Gorenstein.
Let $S = k[x_1,\ldots,x_n]$ be a standard graded polynomial ring, and let $D$ be its dual, the divided power algebra, regarded as an $S$-module. Let $M$ be an $r \times m$ matrix of polynomials, and let $I$ be an ideal of $S$.
From a submodule of $D^r$ to a submodule of $S^r$ (or to an ideal, if $r=1$):
We think of the columns of M as generators of an $S$-submodule MM of $D^r$, and inverseSystem M returns the annihilator of MM in $S^r = \mathrm{Hom}_{\text{graded}}(D^r,k)$. In the default behavior a monomial $x^a$ in an entry of the matrix M is taken to represent $a!x^{(a)} \in D'$, where, $a = (a_1,\dots,a_n)$ then $a! = a_1!\times\dots\times a_n!$. Use
inverseSystem(M, DividedPowers => false)
to make the monomials of entries of M represent the dual basis of the monomial basis of $S$, that is, the divided powers of the generators of $D$ as an algebra.
From an ideal of $S$ to a submodule of $D$:
If $I$ is an ideal of $S$, homogeneous or not, we regard $I$ as an ideal of the localization $S'$ of $S$ at $(x_1,\dots,x_n)$. If $S'/I$ is of finite length then
M = inverseSystem I
and
M1 = inverseSystem(I, DividedPowers => false)
each return a $1 \times m$ matrix whose entries are the minimal generators of the annihilator of $I$ in $D$. In the matrix $M$ a term $x^a$ is to be interpreted as $a! x^{(a)}$, while in the matrix $M'$ it is interpreted as $x^{(a)}$. Of course the first computation is only valid if all the powers of variables appearing in the generators of $I$ are < char k.
To make these computations it is necessary to represent some sufficiently large finitely generated $S$-submodule of $D$ (this will automatically be an $S'$-submodule. To do this we use the map of modules $D\to S/(x_1^d,\dots, x_n^d)$ sending $x^{(a)}$ to contract(x^a, product(1 .. n, i -> x_i^(d-1))), defined only when the variables in $x^{(a)}$ appear only with powers < $d$.
|
|
|
|
|
|
|
|
Here are some codimension 4 Gorenstein rings with different Betti tables, computed by inverseSystem from quartic polynomials
|
|
|
|
|
|
|
|
|
|
Because inverseSystem involves a conversion between the bases of the dual, it should not be used in the default mode unless the characteristic is greater than the highest degree to which a variable appears. To make $x^a$ represent $x^{(a)}$, for example in small characteristics use
inverseSystem(Matrix, DividedPowers=>true)
(which was the default behavior of the old script "fromDual").
The object inverseSystem is a method function with options.
The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/InverseSystems.m2:583:0.