Koszul Complexes

class sage.homology.koszul_complex.KoszulComplex(R, elements)

Bases: sage.homology.chain_complex.ChainComplex_class, sage.structure.unique_representation.UniqueRepresentation

A Koszul complex.

Let R be a ring and consider x_1, x_2, \ldots, x_n \in R. The Koszul complex K_*(x_1, \ldots, x_n) is given by defining a chain complex structure on the exterior algebra \bigwedge^n R with the basis e_{i_1} \wedge \cdots \wedge e_{i_a}. The differential is given by

\partial(e_{i_1} \wedge \cdots \wedge e_{i_a}) =
\sum_{r=1}^a (-1)^{r-1} x_{i_r} e_{i_1} \wedge \cdots \wedge
\hat{e}_{i_r} \wedge \cdots \wedge e_{i_a},

where \hat{e}_{i_r} denotes the omitted factor.

Alternatively we can describe the Koszul complex by considering the basic complex K_{x_i}

0 \rightarrow R \xrightarrow{x_i} R \rightarrow 0.

Then the Koszul complex is given by K_*(x_1, \ldots, x_n) = \bigotimes_i K_{x_i}.

INPUT:

  • R – the base ring
  • elements – a tuple of elements of R

EXAMPLES:

sage: R.<x,y,z> = QQ[]
sage: K = KoszulComplex(R, [x,y])
sage: ascii_art(K)
                        [-y]
            [x y]       [ x]
 0 <-- C_0 <------ C_1 <----- C_2 <-- 0
sage: K = KoszulComplex(R, [x,y,z])
sage: ascii_art(K)
                          [-y -z  0]       [ z]
                          [ x  0 -z]       [-y]
            [x y z]       [ 0  x  y]       [ x]
 0 <-- C_0 <-------- C_1 <----------- C_2 <----- C_3 <-- 0
sage: K = KoszulComplex(R, [x+y*z,x+y-z])
sage: ascii_art(K)
                                        [-x - y + z]
            [  y*z + x x + y - z]       [   y*z + x]
 0 <-- C_0 <---------------------- C_1 <------------- C_2 <-- 0

REFERENCES:

Previous topic

Generic cell complexes

Next topic

Homology Groups

This Page