Singular https://www.singular.uni-kl.de/forum/ |
|
Computation with subalgebra https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2869 |
Page 1 of 1 |
Author: | Hamad [ Mon Sep 30, 2019 5:53 pm ] |
Post subject: | Computation with subalgebra |
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. |
Author: | levandov [ Fri Jan 17, 2020 7:06 pm ] |
Post subject: | Re: Computation with subalgebra |
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 |
Author: | Hamad [ Fri Feb 07, 2020 1:52 pm ] |
Post subject: | Re: Computation with subalgebra |
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? |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |