Koszul Complexes¶
- class sage.homology.koszul_complex.KoszulComplex(R, elements)[source]¶
- Bases: - ChainComplex_class,- 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– 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 - >>> from sage.all import * >>> R = QQ['x, y, z']; (x, y, z,) = R._first_ngens(3) >>> K = KoszulComplex(R, [x,y]) >>> ascii_art(K) [-y] [x y] [ x] 0 <-- C_0 <------ C_1 <----- C_2 <-- 0 >>> K = KoszulComplex(R, [x,y,z]) >>> 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 >>> K = KoszulComplex(R, [x+y*z,x+y-z]) >>> ascii_art(K) [-x - y + z] [ y*z + x x + y - z] [ y*z + x] 0 <-- C_0 <---------------------- C_1 <------------- C_2 <-- 0 - REFERENCES: