# cliffordOperators -- Generators for a Clifford Algebra

## Synopsis

• Usage:
(eOdd, eEv) = cliffordOperators (M1,M2,R)
• Inputs:
• R, a ring, polynomial ring of the form kk[U], where U are parameter variables
• M1, , over an auxiliary ring S = kk[X,Y,Z,U]
• M2, , M1, M2 a matrix factorization: M1*M2- qq*id = 0 for a quadratic form qq on S
• Outputs:
• eOdd, a list,
• eEv, a list, each list has length n = numgens S - numgens R; the elements are matrices of size rank target M1.

## Description

The Clifford algebra C := Cliff(qq) of a quadratic form qq in n=2d variables is a free ZZ/2-graded algebra of rank 2^{n} where n = numgens S-numgens R (if R is ZZ-graded, and M1, M2 are linear in the variables of R, then C inherits a ZZ-grading; this is our usual case. As an R-module C = C0++C1, with each component of rank 2^{(n-1)}. The operators eOdd_i go from C1 to C0; the operators eEv go from C0 to C1.

We have eOdd_i*eEv_j+eOdd_j*eEv_i = B(e_i,e_j), where the e_i form a basis of the space on which qq acts and B is the bilinear form associated to 2qq thus the the pairs (eOd_i,eEv_i) form a representation of Cliff(qq).

In the following we construct the generic symmetric bilinear form on 2d variables and make a quadratic form qq out of it.

 i1 : kk=ZZ/101; d=1; i3 : n=2*d o3 = 2 i4 : R=kk[a_0..a_(binomial(n+2,2))] o4 = R o4 : PolynomialRing i5 : S=kk[x_0..x_(n-1),a_0..a_(binomial(n+2,2))] o5 = S o5 : PolynomialRing i6 : M=genericSymmetricMatrix(S,a_0,n) o6 = | a_0 a_1 | | a_1 a_2 | 2 2 o6 : Matrix S <--- S i7 : X=(vars S)_{0..n-1} o7 = | x_0 x_1 | 1 2 o7 : Matrix S <--- S i8 : Y=X*M o8 = | x_0a_0+x_1a_1 x_0a_1+x_1a_2 | 1 2 o8 : Matrix S <--- S i9 : qq = X*transpose Y o9 = | x_0^2a_0+2x_0x_1a_1+x_1^2a_2 | 1 1 o9 : Matrix S <--- S i10 : (M1,M2)=matrixFactorizationK(X,Y); i11 : (eOdd,eEv)=cliffordOperators(M1,M2,R);

we check two of the relations of the Clifford algebra:

 i12 : (eOdd_0*eEv_0+eOdd_0*eEv_0)_(0,0) == 2*R_0 o12 = true i13 : (eOdd_0*eEv_1+eOdd_1*eEv_0)_(0,0) == 2*R_1 o13 = true