Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#132 closed bug (fixed)

bug in NF of a vector in a qring!

Reported by: Oleksandr Owned by: hannes
Priority: critical Milestone: 3-1-1
Component: singular-kernel Version: 3-1-0
Keywords: qring, vector, module, std, c-ordering Cc:

Description

it seems that NF(v, std(0)) doesn't work for vectors and modules in a qring.

consider attached tests

Attachments (2)

test.sing (609 bytes) - added by Oleksandr 14 years ago.
my tests
29@wawa!test.sing.log (3.6 KB) - added by Oleksandr 14 years ago.
my results

Download all attachments as: .zip

Change History (7)

Changed 14 years ago by Oleksandr

Attachment: test.sing added

my tests

Changed 14 years ago by Oleksandr

Attachment: 29@wawa!test.sing.log added

my results

comment:1 Changed 14 years ago by Oleksandr

It seems to be connected with "c" module-terms ordering:

ring r = 0,(x,y,z), (c, dp); qring Q = std(ideal(var(1)**2, var(2)**2, var(3)**2)); Q;
//   characteristic : 0
//   number of vars : 3
//        block   1 : ordering c
//        block   2 : ordering dp
//                  : names    x y z 
// quotient ring from ideal
_[1]=z2
_[2]=y2
_[3]=x2
> NF( maxideal(2) * gen(1), std(0));
_[1]=0  // OK
_[2]=[yz]
_[3]=0  // OK!
_[4]=[xz]
_[5]=[xy]
_[6]=[x2] // BUG??!!

comment:2 Changed 14 years ago by hannes

Resolution: fixed
Status: newclosed

fixed - strat->ak was not always correct in NF

comment:3 Changed 14 years ago by Oleksandr

Keywords: std c-ordering added
Resolution: fixed
Status: closedreopened
Version: 3-0-53-1-0

There seems to be a similar bug in std ("c"-ordering is essential here as well):

test.sing   1> option(redTail); option(redSB);
test.sing   2> ring R = 0,(x, y, z), (c, lp); qring QR = std( ideal(x2, y2, z2) ); basering;
//   characteristic : 0
//   number of vars : 3
//        block   1 : ordering c
//        block   2 : ordering lp
//                  : names    x y z 
// quotient ring from ideal
_[1]=z2
_[2]=y2
_[3]=x2
test.sing   3> vector v = var(1)**2 + var(2)**2 + var(1)*var(2); v;
[x2+xy+y2]
test.sing   6. std(v); // BUG: there must be no square due to options!??
_[1]=[xy+y2]
test.sing   8. NF(_, std(0)); // No squares already!!!!
_[1]=[xy]
test.sing  10. NF(v, std(0)); std(_); // No squares!
[xy]
_[1]=[xy]

comment:4 Changed 14 years ago by hannes

Resolution: fixed
Status: reopenedclosed

fixed: completeReduce: bounds (dep. on ordering in S) not correct in case of c-ordering and poly/vector mix (i.e. qring)

comment:5 Changed 14 years ago by seelisch

Milestone: Releases 3-1-1 and higher
Note: See TracTickets for help on using tickets.