Product of $e \in A/J(A)$ with an element of $J(A)$ [GAP]

96 Views Asked by At

I have defined a matrix algebra over the rationals, calculated its radical, and took the semi-simple coefficient using h:=NaturalHomomorphismByIdeal and $ImagesSource(h)$. Afterwards, I calculated the idempotents of the semisimple coefficient using 'CentralIdempotentsOfAlgebra'. I also found the generators of the radical $J(A)$, as well as its square $J(A)^2$.

Now, I am trying to use the information to calculate the quiver of the original algebra. For that, I need to calculate the product of the idempotents $e_i$ and $e_j$ with the Jacobson radical, with arrows existing from $e_i$ to $e_j$ iff $q:=e_iJ(A)e_j/e_iJ(A)^2e_j\neq 0$. And the number of arrows is the dimension of the vector space $q$. I cannot seem to calculate the dimension using the standard $Dimension$ function, or a basis using the standard $Basis$ function, since I have $e_i$ and $e_j$ as elements of the semi-simple coefficient, given as a linear combination of the generators $[v.1,\cdots,v.6]$, while the generators of $J(A)$ are matrices.

A second problem is that $IsAlgebraWithOne(sscoef)$ returns $False$, while $One(sscoef)$ returns $v.1$, and $IsAlgebra(sscoef)$ returns $True$.

What am I missing?

Here is the code:

Constructing a non-commutative polynomial algebra

LoadPackage("GBNP");
A:=FreeAssociativeAlgebraWithOne(Rationals,"a","b","c");;
a:=A.a;;b:=A.b;;c:=A.c;;z:=Zero(A);;e:=One(A);;
relation1:=a^2-e;;relation2:=b^2-e;;relation3:=c^2-e;;relation4:=ab+bc+ca+e;; relation5:=ac+cb+ba+e;;
relationlist:=GP2NPList([relation1,relation2,relation3,relation4,relation5]);;
grobnerbasis:=SGrobner(relationlist);;
qabasis:=BaseQA(grobnerbasis,3,0);;
qamatrices:=MatricesQA(3,qabasis,grobnerbasis);;

Transform it into a matrix algebra, so that we can use the standard GAP-functions to calculate the radical.

matrixalgebra:=AlgebraWithOne(Rationals, qamatrices);;
jacobsonradical:=RadicalOfAlgebra(matrixalgebra);;
h:=NaturalHomomorphismByIdeal(matrixalgebra,jacobsonradical);;
sscoef:=ImagesSource(h);;
idempotents:=CentralIdempotentsOfAlgebra(sscoef);;
gensofsscoef:=GeneratorsOfAlgebra(sscoef);;

Caluclating the generators' respective commutators

commutatorlist:=[];;
for i in [1..Length(gensofsscoef)] do
for j in [i..Length(gensofsscoef)] do
Add(commutatorlist, gensofsscoef[i]*gensofsscoef[j] - gensofsscoef[j]*gensofsscoef[i]);
od;
od;
commutatorlist;

We have that it is commutative.Now we calculate the arrows. e_iJ(A)e_j/e_iJ(A)^2e_j

gensofjacobsonradical:=GeneratorsOfAlgebra(jacobsonradical);;
idemstimesjacobson:=[];
for e_i in [1..Length(idempotents)] do
Add(idemstimesjacobson,[]);
for e_j in [1..Length(idempotents)] do
Add(idemstimesjacobson[e_i],[]);
for genofjacobson in gensofjacobsonradical do
Add(idemstimesjacobson[e_i][e_j], idempotents[e_i]genofjacobsonidempotents[e_j]); od;
od;
od;

Here, we construct a Length(idempotents)xLength(gensofjacobsonradical)xLength(idempotents) array.

jacobsonradicalsquared:=[];
for genofjacobson1 in gensofjacobsonradical do
for genofjacobson2 in gensofjacobsonradical do
Add(jacobsonradicalsquared, genofjacobson1*genofjacobson2);
od;
od;
idemstimesjacobsonsquared:=[];
for e_i in [1..Length(idempotents)] do
Add(idemstimesjacobsonsquared,[]);
for e_j in [1..Length(idempotents)] do
Add(idemstimesjacobsonsquared[e_i],[]);
for genofjacobson in jacobsonradicalsquared do
Add(idemstimesjacobsonsquared[e_i][e_j], idempotents[e_i]genofjacobsonidempotents[e_j]);
od;
od;
od;

With this, we have e_iJ(A)e_j and e_iJ(A)^2e_j. Need to save the dimension of the quotient as the number of vertices.

vertices:=[];
for e_i in [1..Length(idempotents)] do
Add(vertices, []);
for e_j in [1..Length(idempotents)] do
numerator:=Ideal(matrixalgebra,idemstimesjacobson[e_i][e_j]);
denominator:=Ideal(matrixalgebra, idemstimesjacobsonsquared[e_i][e_j]);
if Dimension(numerator/denominator) > 0 then
Add(vertices[e_i], [e_i, e_j, Dimension(numerator/denominator)]);
fi;
od;
od;
vertices;

The end-result should be the quiver of $A$. However, the $Dimension$ function returns the following error:

Error, usage: TwoSidedIdeal( , [, "basis"] ) at /proc/cygdrive/C/gap-4.9.3/lib/ideal.gi:42 called from Ideal( matrixalgebra, idemstimesjacobson[e_i][e_j] ) at stdin:152 called from ( ) called from read-eval loop at stdin:158

1

There are 1 best solutions below

0
On

As for the second question, IsAlgebraWithOne is not a test function, but (as the manual tells) a category. As your example shows, other algebras also contain an One element.

But for example the AlgebraWithOne generated by the matrix $\left(\begin{array}{cc}0&1\\0&0\end{array}\right)$ is two-dimensional (and contains the identity matrix), while the Algebra generated by it is one-dimensional (and contains a one that is not the identity matrix).