-
Notifications
You must be signed in to change notification settings - Fork 3
LexIdeals
Our primary goals are: increase efficiency, primarily for the lexIdeal method; and look into writing a similar method for computing lex modules.
We created a new method called lexSegment, which computes the lex segment ideal with the same Hilbert function as a given ideal. The method lexIdeal also creates a lex segment ideal; the new method uses a different criterion for determining when to stop.
The plan is to have both methods available in the package. The existing method uses Gotzmann's persistence condition for determining the stopping point throughout the computation, whereas the new method uses Gotzmann's regularity bound for determining the largest degree of the lex ideal, resulting in a lower frequency of ideal trimming during execution. Timings show substantially faster execution for lex ideals in the non-artinian case, that is, for an ideal I such that R/I is not artinian. Both have comparable timings in the artinian case. The new lexSegment method is much less test in the case of ideals in quotient rings, hence the utility of keeping both methods.
A few supporting methods were added also. The new methods have been documented and tests added.
Work has begun on having the lexSegment method work on a module as input. So far, it appears that the method works on submodules of a free module generated in degree zero, but not in other cases. Additional debugging and coding is under way.
Update: the sexSegment method now works for submodules of a free module generated in degree at most zero.
The plan is to continue development of the lexSegment module method, documenting and testing it; and preparing to add the new methods to the LexIdeals package for distribution.