# degree(Module)

## Synopsis

• Function: degree
• Usage:
degree M
• Inputs:
• M, , over a polynomial ring or quotient of a polynomial ring, over a field k
• Outputs:

## Description

We assume that M is a graded (homogeneous) module over a polynomal ring or a quotient of a polynomial ring with all degrees of variables and heft vector equal to {1}, over a field k.

If M is finite dimensional over k, the degree of M is its dimension over k. Otherwise, the degree of M is the multiplicity of M, i.e., the integer d such that the Hilbert polynomial of M has the form z |--> d z^e/e! + lower terms in z.

 i1 : R = ZZ/101[t,x,y,z]; i2 : degree (R^1 / (ideal vars R)^6) o2 = 126 i3 : degree minors_2 matrix {{t,x,y},{x,y,z}} o3 = 3

The algorithm computes the poincare polynomial of M, divides it by 1-T as often as possible, then evaluates it at T=1. When the module has finite length, the result is the Hilbert series evaluated at 1, that is the dimension over the ground field, which for a graded (homogeneous) is the same as the length.

## Caveat

If the base ring is ZZ, or the module is not homogeneous, it is likely that the answer is not what you would expect. Similarly, if the degrees of the variables are not all {1}, or the heft vector isn't {1}, then the answer is harder to interpret. See heft vectors and multidegree.