This package provides for the truncation of a graded ring, or a graded module or ideal over a graded ring. Truncation is functorial: it can be applied to matrices as well, and the truncation of a composition of maps is the composition of the truncations.

If *R* is a *ℤ ^{r}*-graded ring, and

where the sum is over all *m ∈ℤ ^{r}*, which are component-wise greater than at least one element

This definition makes the truncation into a submodule in the case when all degrees are non-negative. In the case when some degree components are negative, this is likely not a submodule.

This package handles the multi-graded case correctly, at least for the case of non-negative degree vectors for the variables, and the truncate function is functorial (see truncate(List,Matrix)).

The behavior of truncate has changed as of Macaulay2 version 1.13. This is a (potentially) breaking change. Before, it used a less useful notion of truncation, involving the heft vector, and was often not what one wanted in the multi-graded case. Additionally, in the tower ring case, when the coefficient ring had variables of nonzero degree, sometimes incorrect answers resulted.

- Functions and commands
- truncate -- truncation of the graded ring, ideal or module at a specified degree or set of degrees