Singular https://www.singular.uni-kl.de/forum/ |
|
D-modules definition https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=1871 |
Page 1 of 1 |
Author: | etienne [ Wed Oct 13, 2010 11:00 am ] |
Post subject: | D-modules definition |
Hello, I am starting with singular, I want to define the D-module D=C[q1,q1^-1,q2,q2^-1]<dq1,dq2> and then to compute a Groebner basis of some ideals. Looking to the onlie manual, I could define D=C[q1,q2]<dq1,dq2>, but I could not define the one with q1^-1 and q2^-1. I try with localization but I could not do it correctly. thank you for an answer, Etienne |
Author: | levandov [ Sun Nov 14, 2010 5:05 am ] |
Post subject: | Re: D-modules definition |
Salut Etienne, at first: yes, it is possible to define this ring. However, I would like to know more details about computations you like to perform. Denoting X = x^{-1}, we obtain the following noncommutative relation with the differential operator d (stands for d/dx): d*X = X*d - X^2 or, by reverting the order of variables, X*d = d*X + X^2. Since we're going to have a G-algebra (in order to compute with PLURAL), the ordering condition X*d > X^2 must be satisfied, which is equivalent in our case to d>X. Thus, according to SINGULAR convention, in the linear pre-ordering of variables, used in the ring definition, d must precede X. But the original x can be placed where you want it to have. Here's an example for K[x,x^{-1},d]: Code: ring r = 0,(x,d,X),dp; matrix @D[3][3]; @D[1,2]=1; @D[2,3]=X^2; def R = nc_algebra(1,@D); setring R; by executing "R;" you will get the following information on the ring we just set up: Code: // characteristic : 0 // number of vars : 3 // block 1 : ordering dp // : names x d X // block 2 : ordering C // noncommutative relations: // dx=xd+1 // Xd=dX+X2 hence, as we can see, the relations are fine. Let's ensure that non-degeneracy conditions hold (well, we see that they do, but this check is helpful anyway): Code: LIB "nctools.lib"; ncdond(); Since it (as expected) returns 0, we're fine. But wait a second - what about relations x*X=X*x=1 ? We have not forgotten them, and since x and X commute, according to our definition, we can define a two sided ideal, generated by x*X-1 and pass to the factor algebra by the latter, as the following code illustrates: Code: ideal I = x*X-1; qring Q = twostd(I); By typing "Q;" we get the following description of K[x,x^{-1}]<d> as GR-algebra: Code: // characteristic : 0 // number of vars : 3 // block 1 : ordering dp // : names x d X // block 2 : ordering C // noncommutative relations: // dx=xd+1 // Xd=dX+X2 // quotient ring from ideal _[1]=xX-1 So, it is the ring we want. Let's compute in it: Code: ideal A = x*d-1, d^2; std(A); what gives us d-X back, what's correct. C'est bon! |
Author: | levandov [ Sun Nov 14, 2010 5:09 am ] |
Post subject: | Re: D-modules definition. YET another way |
Indeed, we can order variables as d,x,X (remember, we HAVE to put X after d, but as for x, we have choice). Let's do an example of which: Code: ring r = 0,(d,x,X),dp; matrix @D[3][3]; @D[1,2]=-1; @D[1,3]=X^2; def R = nc_algebra(1,@D); setring R; ideal I = x*X-1; qring Q = twostd(I); Q; ideal A = x*d-1, d^2; std(A); AND finally, for two variables, the code looks as follows: Code: ring r = 0,(dx,dy,x,y,X,Y),dp; matrix @D[6][6]; @D[1,3]=-1;@D[2,4]=-1; @D[1,5]=X^2;@D[2,6]=Y^2; def R = nc_algebra(1,@D); setring R; ideal I = x*X-1, y*Y-1; qring Q = twostd(I); Q; And an example works as expected: Code: ideal A = x*dx-1, x^2*dy^2, y^2*dy - x^2*dx^2; std(A); Greetings, Viktor |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |