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

NonPrincipalTestIdeals -- a package for calculations of singularities of pairs in positive characteristic

Description

NonPrincipalTestIdeals is a package that can compute a test ideal $\tau(R, I^t)$ of a pair $(R, I^t)$ where $R$ is a domain, $I$ is an ideal, and $t > 0$ is a rational number. Currently, it works in Q-Gorenstein rings, although some functions (such as checking for F-pure thresholds) are restricted to quasi-Gorenstein strongly F-regular domains.

This package reduces the problem to the principal case by the mathematics developed in the preprint
Test Modules of Extended Rees Algebras by Rahul Ajit and Hunter Simper, arXiv:2509.01693.

After reducing to the principal case, some functions from the TestIdeals package are used. Note that this package requires Macaulay2 version 1.25 or later.

Core functions There are some other functions exported which people may also find useful.

Other useful functions

Requirements: All functions in this package require the ambient ring to be a reduced equidimensional ring. This ring must also be presented as a polynomial ring over a field of characteristic $p > 0$ quotiented by an ideal. Some other functions including testIdeal, isFPT, isFJumpingNumber, torsionOrder, and isInvertibleIdeal require the ring to be a normal (or at least G1+S2) domain, and in some cases even more.



History and support: This package was started in the 2023-2024 RTG seminar for the NSF RTG grant #1840190 at the University of Utah. Schwede also received support from NSF grants #2101800 and #2501903 while working on this package.

Contributors

Rahul Ajit and Matthew Bertucci also contributed to the development of this package.

Authors

Version

This documentation describes version 1.0 of NonPrincipalTestIdeals, released September 28th, 2025.

Citation

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

@misc{NonPrincipalTestIdealsSource,
  title = {{NonPrincipalTestIdeals: singularities of pairs with non-principal ideals. Version~1.0}},
  author = {Trung Chau and Karl Schwede and Hunter Simper},
  howpublished = {A \emph{Macaulay2} package available at
    \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}}
}

Exports

  • Functions and commands
    • 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
    • isFJumpingExponentModule -- decides if a rational number is a jumping exponent of a generalized parameter test module
    • isFRationalThreshold -- determines if a given number is the F-rational threshold, or, equivalently in the case of a quasi-Gorenstein ring, the F-pure threshold
    • isInvertibleIdeal -- checks whether an ideal is locally principal (invertible)
    • manualExt -- computes the Ext module of two modules as the core Ext function sometimes does not work properly in the negatively graded case
    • reesCanonicalModule -- constructs the graded canonical module in a ring constructed via classicalReesAlgebra or extendedReesAlgebra
    • reesModuleToIdeal -- embeds a homogeneous rank 1 module as an ideal in a Rees algebra
    • testModuleMinusEpsilon -- computes the (parameter) test module of a pair for values arbitrarily close to, but below, t
    • torsionOrder -- computes the local torsion order of an ideal in a normal domain
  • Methods
    • classicalReesAlgebra(Ideal) -- see classicalReesAlgebra -- computes the flattened Rees algebra
    • extendedReesAlgebra(Ideal) -- see extendedReesAlgebra -- computes the flattened extended Rees algebra
    • gradedReesPiece(ZZ,Ideal) -- see gradedReesPiece -- gets a certain degree piece of an ideal in an (extended) Rees algebra
    • isFJumpingExponent(QQ,Ideal) -- see isFJumpingExponentModule -- decides if a rational number is a jumping exponent of a generalized parameter test module
    • isFJumpingExponent(ZZ,Ideal) -- see isFJumpingExponentModule -- decides if a rational number is a jumping exponent of a generalized parameter test module
    • isFJumpingExponentModule(QQ,Ideal) -- see isFJumpingExponentModule -- decides if a rational number is a jumping exponent of a generalized parameter test module
    • isFJumpingExponentModule(ZZ,Ideal) -- see isFJumpingExponentModule -- decides if a rational number is a jumping exponent of a generalized parameter test module
    • isFPT(QQ,Ideal) -- see isFRationalThreshold -- determines if a given number is the F-rational threshold, or, equivalently in the case of a quasi-Gorenstein ring, the F-pure threshold
    • isFPT(ZZ,Ideal) -- see isFRationalThreshold -- determines if a given number is the F-rational threshold, or, equivalently in the case of a quasi-Gorenstein ring, the F-pure threshold
    • isFRationalThreshold(QQ,Ideal) -- see isFRationalThreshold -- determines if a given number is the F-rational threshold, or, equivalently in the case of a quasi-Gorenstein ring, the F-pure threshold
    • isFRationalThreshold(ZZ,Ideal) -- see isFRationalThreshold -- determines if a given number is the F-rational threshold, or, equivalently in the case of a quasi-Gorenstein ring, the F-pure threshold
    • isInvertibleIdeal(Ideal) -- see isInvertibleIdeal -- checks whether an ideal is locally principal (invertible)
    • manualExt(ZZ,Module,Module) -- see manualExt -- computes the Ext module of two modules as the core Ext function sometimes does not work properly in the negatively graded case
    • reesCanonicalModule(Ring) -- see reesCanonicalModule -- constructs the graded canonical module in a ring constructed via classicalReesAlgebra or extendedReesAlgebra
    • reesModuleToIdeal(Ring,Module) -- see reesModuleToIdeal -- embeds a homogeneous rank 1 module as an ideal in a Rees algebra
    • testIdeal(QQ,Ideal) -- computes the test ideal of a pair
    • testIdeal(ZZ,Ideal) -- see testIdeal(QQ,Ideal) -- computes the test ideal of a pair
    • testModule(QQ,Ideal) -- computes the test ideal of a pair
    • testModule(ZZ,Ideal) -- see testModule(QQ,Ideal) -- computes the test ideal of a pair
    • testModuleMinusEpsilon(QQ,Ideal) -- see testModuleMinusEpsilon -- computes the (parameter) test module of a pair for values arbitrarily close to, but below, t
    • testModuleMinusEpsilon(ZZ,Ideal) -- see testModuleMinusEpsilon -- computes the (parameter) test module of a pair for values arbitrarily close to, but below, t
    • torsionOrder(ZZ,Ideal) -- see torsionOrder -- computes the local torsion order of an ideal in a normal domain
  • Symbols
    • AmbientCanonical -- see reesCanonicalModule -- constructs the graded canonical module in a ring constructed via classicalReesAlgebra or extendedReesAlgebra

For the programmer

The object NonPrincipalTestIdeals is a package, defined in NonPrincipalTestIdeals.m2.


The source of this document is in NonPrincipalTestIdeals.m2:809:0.