Greetings,
I need to write some reduce code to perform coalgebra/bialgebra
calculations. I would like to be able to construct abstract (tensor) products
such as
Delta(A)_{n+1}=A_n*A+B_n*C
in which * is a tensor product, A_n and B_n are unspecified noncommuting
operators and A and C are 2x2 matrices. In practice A_n, B_n, ... depend on parameters.
In particular I need to be able to
do algebra with these, for example
(A_n* A)(B_n*C)=(A_n B_n)*(AC)
in which * is again a tensor procuct, and AC is the matrix product of A and C.
I have tried various things, all of which fail or cause stack overflows.
Do you have any suggestions?
For example
matrix An,Bn,Cn,Dn;
A2:=mat((c,0),(0,b));
B2:=mat((0,0),(sqrt(ab),0));
C2:=mat((0,sqrt(ab)),(0,0));
D2:=mat((a,0),(0,0));
matrix up,down;
up:=mat((1,0),(0,0));
down:=mat((0,0),(1,0));
operator An,Bn,Cn,Dn;
noncom An,Bn,Cn,Dn;
matrix M;
load_package linalg;
% coproducts in lowest dim'l rep
DeltaA:=kronecker_product(A2,A2)+kronecker_product(B2,C2);
DeltaB:=kronecker_product(A2,B2)+kronecker_product(B2,D2);
% this fails
operator dA;
dA:=An*A2;
for all i let for all j let dA(i)*dA(j)=(An(i)*An(j))*(A2*A2);
dA(1)*dA(2)*up;
Any suggestions would be welcome.
Regards, Jeff Schmidt
