Opened 7 years ago
Closed 7 years ago
#753 closed bug (fixed)
Bug in non-commutative imap
Reported by: | Owned by: | somebody | |
---|---|---|---|
Priority: | dontKnow | Milestone: | 4-1-0 and higher |
Component: | singular-kernel | Version: | 4-0-3 |
Keywords: | plural, imap | Cc: |
Description
Dear Singular team,
Please consider the following code.
ring R = 0,(x,z),dp; def r = nc_algebra(1,-1); setring r; basering; poly h = x3z2-2x2z+x2; h; ring R2 = 0,(z,x),dp; def r2 = nc_algebra(1,1); setring r2; basering; poly h = imap(r,h); h;
When executed, it looks like the following:
SINGULAR / A Computer Algebra System for Polynomial Computations / version 4.0.3 0< by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann \ Jan 2016 FB Mathematik der Universitaet, D-67653 Kaiserslautern \ > ring R = 0,(x,z),dp; > def r = nc_algebra(1,-1); > setring r; > basering; // characteristic : 0 // number of vars : 2 // block 1 : ordering dp // : names x z // block 2 : ordering C // noncommutative relations: // zx=xz-1 > poly h = x3z2-2x2z+x2; > h; x3z2-2x2z+x2 > ring R2 = 0,(z,x),dp; > def r2 = nc_algebra(1,1); > setring r2; > basering; // characteristic : 0 // number of vars : 2 // block 1 : ordering dp // : names z x // block 2 : ordering C // noncommutative relations: // xz=zx+1 > poly h = imap(r,h); > h; z2x3-2zx2+x2 >
You see that r1 and r2 are the same ring, namely the first Weyl algebra. In the mapping of h between r and r2, it looks like the positions of z and x are just swapped without applying the commutation rule. That is not a correct mapping hence.
When using map, this bug does not occur (Courtesy to Viktor Levandovskyy for the next lines):
> map M=r,x,z; > M(h); z2x3+4zx2+x2+2x > x3*z2-2*x2*z+x2; z2x3+4zx2+x2+2x
All the best,
Albert Heinle
Note: See
TracTickets for help on using
tickets.
fixed (see a934fb3a833e0797ec8317b68545561e78de9b53)