Macaulay2 » Documentation
Packages » NonPrincipalTestIdeals :: reesCanonicalModule
next | previous | forward | backward | up | index | toc

# reesCanonicalModule -- constructs the graded canonical module in a ring constructed via classicalReesAlgebra or extendedReesAlgebra

- Usage:
    `M = reesCanonicalModule(S)`
- Inputs:
  - S, a ring, constructed with classicalReesAlgebra or extendedReesAlgebra
- Optional inputs:
  - AmbientCanonical => ..., default value null
- Outputs:
  - M, a module, the graded canonical module over S

## Description

Computes the graded canonical modules of a ring constructed with classicalReesAlgebra or extendedReesAlgebra or

    i1 : R = QQ[x,y];

    i2 : J = ideal(x^2,x*y,y^2);

    o2 : Ideal of R

    i3 : S = classicalReesAlgebra(J);

    i4 : T = extendedReesAlgebra(J);

    i5 : reesCanonicalModule(S)

    o5 = cokernel {1, 3} | -ly_1 ly_0  -y |
                  {1, 3} | ly_2  -ly_1 x  |

                                2
    o5 : S-module, quotient of S

    i6 : reesCanonicalModule(T)

    o6 = cokernel {1, 3} | bt_0 -bt_1 -y   x     0     0    -ti 0  |
                  {1, 3} | bt_1 -bt_2 0    0     -y    x    0   ti |
                  {0, 2} | 0    0     bt_1 -bt_2 -bt_0 bt_1 x   y  |

                                3
    o6 : T-module, quotient of T

The option AmbientCanonical is used to specify the canonical module of ambient S.

## Caveat

One should use this function and not other similar functions to create canonical modules in extended Rees algebras, especially in older versions of Macaulay2. This is because core Macaulay2 Ext function sometimes gives the wrong answer in rings with variables of negative degrees. See this github issue https://github.com/Macaulay2/M2/issues/3180

## See also

- classicalReesAlgebra -- computes the flattened Rees algebra
- extendedReesAlgebra -- computes the flattened extended Rees algebra
- gradedReesPiece -- gets a certain degree piece of an ideal in an (extended) Rees algebra

## Ways to use reesCanonicalModule:

- `reesCanonicalModule(Ring)`

## For the programmer

The object reesCanonicalModule is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/NonPrincipalTestIdeals.m2:886:0.