Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: Computation with subalgebra
PostPosted: Mon Sep 30, 2019 5:53 pm 
Dear members,

Assume I have a noncommutative algebra A with variables x(1), x(2),..., x(6) and a noncommutative subalgebra B of A generated by the elements p=x(1)*x(3), q=x(1)(2), t=x(1)*x(4)*x(5), r=x(2)*x(3)*x(6) and assume that I computed for example the bracket [p, r] by hand and I got the result
[p, r]= p*q*t*r - p*t^2+ r.

The problem when I use Singular to compute the same bracket [p, r], I got the result in the variables x(1), x(2),..., x(6) not in p,q,t,r.

My question: How can I make Singular give me the results of the bracket [p, r] in the elements p,q,t,r as I do it by hand?


It will take a lot of time if I do it by hand.


Report this post
Top
  
Reply with quote  
 Post subject: Re: Computation with subalgebra
PostPosted: Fri Jan 17, 2020 7:06 pm 

Joined: Thu Aug 11, 2005 8:03 pm
Posts: 40
Location: RWTH Aachen, Germany
Hi,

there's a workaround to do what you want.
Your expression for q as x(1)(2) is not clear, I
interprete it as x(1)^2.

Code:
LIB "freegb.lib";
ring a = 0, (x(1..6),t,r,p,q),lp;
ring A = freeAlgebra(a,10);
ideal subalg= p - x(1)*x(3), q - x(1)^2,  t - x(1)*x(4)*x(5), r-x(2)*x(3)*x(6);
option(redSB); option(redTail);
subalg = twostd(subalg); // has finite Groebner basis
subalg;
> subalg[1]=x(2)*x(3)*x(6)-r
> subalg[2]=x(1)*q-q*x(1)
> subalg[3]=x(1)*p-q*x(3)
> subalg[4]=x(1)*t-q*x(4)*x(5)
> subalg[5]=x(1)*x(4)*x(5)-t
> subalg[6]=x(1)*x(3)-p
> subalg[7]=x(1)*x(1)-q
poly P = x(1)*x(3); poly Q = x(1)^(2);
poly T = x(1)*x(4)*x(5); poly R = x(2)*x(3)*x(6);
bracket(P,R);
> x(1)*x(3)*x(2)*x(3)*x(6)-x(2)*x(3)*x(6)*x(1)*x(3)
NF(bracket(P,R), subalg); // presentation via p,q,r,t
> -r*p+p*r
P*Q*T*R - P*T^2 + R;
> x(1)*x(3)*x(1)*x(1)*x(1)*x(4)*x(5)*x(2)*x(3)*x(6)-x(1)*x(3)*x(1)*x(4)*x(5)*x(1)*x(4)*x(5)+x(2)*x(3)*x(6)
NF(P*Q*T*R - P*T^2 + R, subalg); // presentation via p,q,r,t
> -p*t*t+p*q*t*r+r


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Computation with subalgebra
PostPosted: Fri Feb 07, 2020 1:52 pm 
Dear Levandov,

Thank you a lot for your help.
But I couldn't use your idea for my computation. I think it doesn't work.
Let me explain exactly what I want to compute.
I have the algebra U(sl4) generated by the variables:
x(1), x(2), x(3), x(4), x(5), x(6), y(1), y(2), y(3), y(4), y(5), y(6), h(1), h(2), h(3).
And I have the subalgebra B generated by:
1, h(1), h(2), h(3), b(1)=x(1)*y(1), b(2)=x(2)*y(2), b(3)=x(3)*y(3), b(4)=x(4)*y(4), b(5)=x(5)*y(5), b(6)=x(6)*y(6), ... , b(20)=....
And I want to compute the element b(5)*b(1)?
If I do it by Singular:

>LIB "ncalg.lib";
>def a=makeUsl(4);
>setring a;
> poly b(1)=x(1)*y(1);
> poly b(5)=x(5)*y(5);
>b(5)* b(1);

The answer will be: x(1)*x(5)*y(1)*y(5)+x(6)*y(1)*y(5)-x(1)*x(5)*y(6)-x(6)*y(6)
which is correct answer but I want the answer to be in the elements of the subalgebra B (in b(1),..., b(20)). The answer suppose to be somthing like this:
b(5)*b(1)= b(1)*b(5)+h(3)*(b(9)-b(2))-h(1)*b(18) .... (not correct answer just to explain the idea)

If I use your idea above, I will get b(5)*b(1)=b(5)*b(1) which is not what I want.

any help please?


Report this post
Top
  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

It is currently Fri May 13, 2022 10:54 am
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group