testModule()
testModule(R)
testModule(t, f)
testModule(tList, fList)
The function testModule computes the parameter test module of a ring $R$, returning a sequence with three elements: the parameter test submodule (as a submodule of the canonical module), the canonical module of which it is a subset, and the element (or elements) of the ambient polynomial ring that determines the Frobenius trace on the canonical module (see frobeniusTraceOnCanonicalModule).
|
|
The canonical module returned is always embedded as an ideal of $R$, and not of the ambient polynomial ring. Likewise, the parameter test module is viewed as a subideal of that ideal of $R$.
Because the ring in the example above is a Gorenstein ring, the ambient canonical module is the unit ideal. In contrast, the ring in the next example is not Gorenstein.
|
|
|
|
|
Note that the output in this case has the parameter test module equal to the canonical module, as it should be, since the ring is $F$-rational. Let us now consider a non-Gorenstein example that is not $F$-rational.
|
|
|
This function can be used to compute parameter test ideals in Cohen-Macaulay rings, as an alternative to parameterTestIdeal.
|
|
|
|
|
|
The function testModule can also be used to compute the parameter test module of a pair ($R, f^{ t}$), or ($R,f_1^{t_1}\cdots f_n^{t_n}$).
|
|
|
|
|
|
Sometimes it is convenient to specify the ambient canonical module, or the choice of element(s) that determines the Frobenius trace on the canonical module, across multiple calls of testModule. This can be done by using the options CanonicalIdeal and GeneratorList.
|
|
|
Finally, the option FrobeniusRootStrategy is passed to any calls of frobeniusRoot, and the option AssumeDomain is used when computing a test element.
The object testModule is a method function with options.