Singular https://www.singular.uni-kl.de/forum/ |
|
Problem interpreting facWeyl output https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2779 |
Page 1 of 1 |
Author: | matze235 [ Wed Aug 29, 2018 11:56 am ] |
Post subject: | Problem interpreting facWeyl output |
Hi all, apologies for asking a possibly stupid question about facWeyl. The problem might be my incomplete understanding of Algebra. I don't understand why facWeyl does not factor x1*d1 + x1* d1 * x2* d2 + x2* d2 + 1 into (1+ x1*d1)*(1+x2*d2). Or maybe it does but I don't understand the way facWeyl tells me this. Code: LIB "ncfactor.lib"; ring R = 0,(x1,x2,d1,d2),dp; matrix C[4][4] = 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1; matrix D[4][4] = 0,0,1,0, 0,0,0,1, -1,0,0,0, 0,-1,0,0; def r = nc_algebra(C,D); setring(r); poly h = x1*d1 + x1* d1 * x2* d2 + x2* d2 + 1; facWeyl(h); [1]: [1]: 1 [2]: d1 [3]: d2 [4]: x1 [5]: x2 [2]: [1]: 1 [2]: d1 [3]: d2 [4]: x2 [5]: x1 [3]: [1]: 1 [2]: d1 [3]: x1 [4]: d2 [5]: x2 [4]: [1]: 1 [2]: d2 [3]: d1 [4]: x1 [5]: x2 [5]: [1]: 1 [2]: d2 [3]: d1 [4]: x2 [5]: x1 [6]: [1]: 1 [2]: d2 [3]: x2 [4]: d1 [5]: x1 Thanks in advance for any help. Best regards, Matthias |
Author: | levandov [ Fri Jan 17, 2020 6:52 pm ] |
Post subject: | Re: Problem interpreting facWeyl output |
Hello Matthias, the answer to you main question "why facWeyl does not factor x1*d1 + x1* d1 * x2* d2 + x2* d2 + 1 into (1+ x1*d1)*(1+x2*d2)." is as follows: "because (1+ x1*d1) = d1*x1 is reducible". Some suggestions: 1) use Weyl(); procedure from LIB "nctools.lib"; to set up Weyl algebras quickly 2) use just ncfactor(h); for any kind of factorization 3) while using ncalgebra as you did, there's a shortcut ncalgebra(1,D); since the matrix C does not contain other coefficients than 1. In more details: ad (1) and (2): In case you want to work with the second Weyl algebra, the ring must be defined as follows: Code: LIB "ncfactor.lib"; LIB "nctools.lib"; ring R = 0,(x1,x2,d1,d2),dp; def A2 = Weyl(); setring A2; A2; // prints correctly the non-commutative relations between generators poly h = x1*d1 + x1* d1 * x2* d2 + x2* d2 + 1; ncfactor(h); Regards, Viktor Levandovskyy |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |