The input Q is a quotient of a polynomial algebra by a quadratic ideal (which might be zero). Some of the variables may be declared as SkewCommutative and the variables may have multi-degrees where the first degree is equal to one. The quadratic ideal must be homogeneous with respect to the multi-degree and the "skew-degree". The output is the Lie algebra whose enveloping algebra is the Koszul dual of Q.
i1 : R1=QQ[x,y,z, SkewCommutative=>{y,z}] o1 = R1 o1 : PolynomialRing |
i2 : I1={x^2,y*z} 2 o2 = {x , y*z} o2 : List |
i3 : L1=koszulDualLie(R1/ideal I1) o3 = L1 o3 : LieAlgebra |
i4 : peekLie L1 o4 = gensLie => {ko , ko , ko } 0 1 2 genWeights => {{1, 0}, {1, 0}, {1, 0}} genSigns => {1, 0, 0} relsLie => { - (ko_1 ko_0), - (ko_2 ko_0)} genDiffs => {0, 0, 0} field => QQ diffl => false compdeg => 1 |
i5 : extTableLie 3 o5 = | 3 0 0 | | 0 2 0 | | 0 0 0 | 3 3 o5 : Matrix ZZ <--- ZZ |
Here is an example of a non-Koszul algebra. The table for the Ext-algebra has a non-zero occurence off the diagonal.
i6 : R2=QQ[x,y,z, SkewCommutative=>{},Degrees=>{{1,1},{1,2},{1,3}}] o6 = R2 o6 : PolynomialRing |
i7 : I2=ideal{y^2+x*z,x*y,z^2} 2 2 o7 = ideal (y + x*z, x*y, z ) o7 : Ideal of R2 |
i8 : L2=koszulDualLie(R2/I2) o8 = L2 o8 : LieAlgebra |
i9 : peekLie L2 o9 = gensLie => {ko , ko , ko } 0 1 2 genWeights => {{1, 1, 0}, {1, 2, 0}, {1, 3, 0}} genSigns => {1, 1, 1} relsLie => { - (1/2)(ko_0 ko_0), (1/2)(ko_1 ko_1) - (ko_2 ko_0), - (ko_2 ko_1)} genDiffs => {0, 0, 0} field => QQ diffl => false compdeg => 1 |
i10 : extTableLie 4 o10 = | 3 0 0 0 | | 0 3 0 0 | | 0 0 1 1 | | 0 0 0 1 | 4 4 o10 : Matrix ZZ <--- ZZ |