poincare C -- encodes information about the degrees of basis elements
of a free chain complex in a polynomial.
poincare M -- the same information about the free resolution
of a module M.
The polynomial has a term (-1)^i T_0^(d_0) ... T_(n-1)^(d_(n-1)) in it for each basis element of C_i with multi-degree {d_0,...,d_(n-1)}. When the multi-degree has a single component, the term is (-1)^i T^(d_0).
The variable T is defined in a hidden local scope, so will print out as $T and not be directly accessible.
Note: the monomial ordering used in the degrees ring is RevLex, so the polynomials in it will be displayed with the smallest exponents first.
i1 : R = ZZ/101[x_0 .. x_3,y_0 .. y_3] |
i2 : m = matrix table (2, 2, (i,j) -> x_(i+2*j)) |
i3 : n = matrix table (2, 2, (i,j) -> y_(i+2*j)) |
i4 : f = flatten (m*n - n*m) |
i5 : poincare cokernel f |
(cokernel f).poincare = p -- inform the system that the Poincare polynomial of the cokernel of f is p. This can speed the computation of a Groebner basis of f. For details, see computing Groebner bases.
See also:
Ways to use poincare :