Let b1,...,bn be a monomial basis for an NCRing A in degree d. We assume A is generated by elements a1,...,ak of degree 1. A homogeneous element r in A is normal if ai*r is in the span of the r*aj for all i.
Using the input symbols x and y, we define the "normal variety" to be the set of common solutions to the equations xj*ai*bj = yj1*bj*a1+...+yjk*bj*ak for all i and j. Saturating the ideal at each xi we extract polynomial equations the xi must satisfy for the element x1*b1+...+xn*bn to be normal in A.
Before computing the normal variety, this method checks for normal monomials in degree n. These are returned first to reduce the complexity of the problem. Then the method computes the variety and returns its components. The equations the method returns are given in terms of the indexed variable x. The indices are basis monomials in degree n.
The following example is a 3-dimensional Sklyanin algebra.
i1 : B = threeDimSklyanin(QQ,{1,1,-1},{x,y,z}) --Calling Bergman for NCGB calculation. --running: bergman -i /var/folders/46/9b86vqxj4hjcngvy7kd7sb140000gn/T/M2-12712-0/0.init -on-error exit --silent > /var/folders/46/9b86vqxj4hjcngvy7kd7sb140000gn/T/M2-12712-0/3.ter ... Complete! o1 = B o1 : NCQuotientRing |
i2 : basis(2,B) | 2 2 | o2 = | x yx xy y xz yz | o2 : NCMatrix |
i3 : normalElements(B,2,r,s) Normal monomials of degree 2: 2 x 2 y Components of the normal variety, excluding normal monomials: o3 = {| r_(y*z) r_(x*z) r_(y*x)-r_(x*y) |} o3 : List |
The normal elements in degree 2 are x2, y2 and z2. The basis calculation shows x2 and y2 are normal forms in B. The normalElements method first checks all basis monomials using isNormal. In this case it finds x2 and y2 are normal and returns this information. However, z2 is not a normal form expression. The normal form of z2 is x*y+y*x. In the second phase of the calculation, the method returns generators of the ideal describing the normal elements (excluding the normal monomials). We see the coefficients of basis monomials y*z and x*z must be 0 and the coefficients of x*y and y*x must be equal. The last equation identifies z2 = x*y+y*x as a normal element of degree 2.
i4 : normalElements(B,3,t,u) Normal monomials of degree 3: none Components of the normal variety, excluding normal monomials: o4 = {| t_(y^2*z) t_(y*x*z)+t_(x*y*z) t_(x^2*z) t_(y^3)-t_(x*y*z) t_(x*y^2) ------------------------------------------------------------------------ t_(y*x*y) t_(x^2*y) t_(x*y*x) t_(x^3)+t_(x*y*z) |} o4 : List |
i5 : g = -y^3-x*y*z+y*x*z+x^3 3 3 o5 = -y +yxz-xyz+x o5 : B |
i6 : isCentral g o6 = true |
In degree 3, there are no normal monomials. The function returns several equations which determine the only normal element of degree 3 (up to scaling) is the central element g.