# normalElements(RingMap,ZZ) -- Finds elements normalized by a ring map

## Synopsis

• Function: normalElements
• Usage:
normalElements(f,n)
• Inputs:
• f, ,
• n, an integer, a homogeneous degree in which to search for normal elements
• Outputs:
• ,

## Description

A normal element x in a non-commutative ring R determines an automorphism f of R by a*x=x*f(a). Conversely, given a ring endomorphism, we may ask if any x satisfy the above equation for all a.

Given a ring map f and a degree n, this method returns solutions to the equations a*x=x*f(a) for all generators a of R.

 i1 : B = skewPolynomialRing(QQ,(-1)_QQ,{x,y,z,w}) o1 = B o1 : FreeAlgebraQuotient i2 : sigma = map(B,B,{y,z,w,x}) o2 = map (B, B, {y, z, w, x}) o2 : RingMap B <--- B i3 : C = oreExtension(B,sigma,a) o3 = C o3 : FreeAlgebraQuotient i4 : sigmaC = map(C,C,{y,z,w,x,a}) o4 = map (C, C, {y, z, w, x, a}) o4 : RingMap C <--- C i5 : normalElements(sigmaC,1) o5 = | a | 1 1 o5 : Matrix C <--- C i6 : normalElements(sigmaC,2) o6 = 0 1 o6 : Matrix QQ <--- 0 i7 : normalElements(sigmaC * sigmaC,2) o7 = | a2 | 1 1 o7 : Matrix C <--- C i8 : normalElements(sigmaC * sigmaC * sigmaC, 3) o8 = | a3 | 1 1 o8 : Matrix C <--- C