Opened 12 years ago

Closed 12 years ago

#282 closed bug (fixed)

Incorrect tensor product of rings in positive char

Reported by: levandov Owned by: Oleksandr
Priority: major Milestone: 3-1-2 and higher
Component: singular-kernel Version: 3-1-1
Keywords: tensor product of rings Cc: Oleksandr


Daniel Andres (RWTH Aachen) has communicated the following: When tensoring a non-commutative ring over positive characteristic with an arbitrary ring with a parameter over the same characteristic, Singular 3-1-1 is stuck in an infinite loop.

This did not occur in version 3-1-0.

In version 3-1-1 it works for:

  • commutative rings,
  • rings without parameters over positive char,
  • rings with parameters over char 0.
LIB "nctools.lib";
ring @W = 2,(x,Dx),dp;
def W = Weyl();
setring W; W; // Weyl algebra in char p
ring r = (2,a),y,dp;
def B = W + r;

In his computation (3-1-1 official release) it resulted into an infinite loop. On my recent svn build it takes time, terminates, but delivers very incorrect non-comm relation.

setring B;

//   characteristic : 2
//   1 parameter    : a 
//   minpoly        : 0
//   number of vars : 3
//        block   1 : ordering dp
//                  : names    x Dx
//        block   2 : ordering dp
//                  : names    y
//        block   3 : ordering C
//   noncommutative relations:
//    Dxx=-2147483647*x*Dx+-2147483647

I suppose the problem lies in the incorrect initalization of non-commutative part.

Change History (2)

comment:1 Changed 12 years ago by Oleksandr

Owner: changed from hannes to Oleksandr
Status: newassigned

comment:2 Changed 12 years ago by Oleksandr

Resolution: fixed
Status: assignedclosed

Bug was ALWAYS present due to the following block in rSum / rSumInternal:

    nMapFunc nMap1 = nSetMap(R1);
    nMapFunc nMap2 = nSetMap(R2);

since nSetMap can change something global, i.e. not usable after the next nSetMap call :(

Last edited 12 years ago by Oleksandr (previous) (diff)
Note: See TracTickets for help on using tickets.