Opened 10 years ago

Closed 10 years ago

#581 closed bug (fixed)

SCA: // ***dError: assume violation

Reported by: anonymous Owned by: Oleksandr
Priority: minor Milestone: 4-1-0 and higher
Component: singular-kernel Version: 4-0-0
Keywords: sca, exterior algebra, assume Cc:

Description (last modified by Oleksandr )

The following example:

option(noredefine);option(redSB); LIB "matrix.lib";
ring r = (0),(e0,e1,e2,e3),dp;
def A = superCommutative(1);
setring A;
short=0;option(redTail);
matrix M[1][4] = e1*e2*e3,e0*e2*e3,e0*e1*e3,e0*e1*e2;
nres(M,2);

causes on my Mac the following warnings:

// ***dError: assume violation at kutil.cc:7169 condition: p.FDeg == p.pFDeg()
// ***dError: assume violation at ../kernel/kInline.h:412 condition: FDeg == this->pFDeg()
// ***dError: T[3] FDeg error: has 4, specified to have 1
// ***dError: assume violation at sca.cc:798 condition: kTest_TS(strat)
// ***dError: assume violation at kutil.cc:7169 condition: p.FDeg == p.pFDeg()
// ***dError: assume violation at ../kernel/kInline.h:412 condition: FDeg == this->pFDeg()
// ***dError: T[3] FDeg error: has 4, specified to have 1
// ***dError: assume violation at sca.cc:798 condition: kTest_TS(strat)

The warnings do not appear on a Linux machine. Here is the output of Singular --version

Singular for x86_64-Darwin version 4.0.0 (4.0.0, 64 bit) Jan 22 2014 15:55:40 #14086c2
with
	GMP(5.1.3),NTL(5.5.2),static readline,Plural,DBM,
	dynamic modules,dynamic p_Procs,YYDEBUG=1,ASSUME,MDEBUG=0,OM_CHECK=1,OM_TRACK=4,OM_NDEBUG,PDEBUG,KDEBUG,CC:OPTIMIZE,random=1393345607
built-in modules: { staticdemo}
AC_CONFIGURE_ARGS =  '--prefix=/Users/mo/software/spielwiese/local' 'LDFLAGS=-L/sw/lib' 'CPPFLAGS=-isystem /sw/include' --enable-omalloc --with-omalloc-dir=/Users/mo/software/spielwiese --with-omalloc-extra-dir=/Users/mo/software/spielwiese --enable-omalloc-trust,
CC = gcc,FLAGS : -g -O2  -pipe -fno-common -DOM_NDEBUG -DNDEBUG -O3 -Wno-unused-function -Wno-trigraphs -Wno-unused-parameter -Wno-unused-variable -fomit-frame-pointer -fwrapv -fvisibility=default -finline-functions -fno-exceptions -fno-rtti -fno-threadsafe-statics -funroll-loops -Qunused-arguments,
CXX = g++,FLAGS :  -pipe -fno-common -DOM_NDEBUG -DNDEBUG -O3 -Wno-unused-function -Wno-trigraphs -Wno-unused-parameter -Wno-unused-variable -fomit-frame-pointer -fwrapv -fvisibility=default -finline-functions -fno-exceptions -fno-rtti -fno-threadsafe-statics -funroll-loops -Qunused-arguments,
DEFS : ,CPPFLAGS : -isystem /sw/include,
LDFLAGS : -L/sw/lib -pipe -fno-common -DOM_NDEBUG -DNDEBUG -O3 -Wno-unused-function -Wno-trigraphs -Wno-unused-parameter -Wno-unused-variable -fomit-frame-pointer -fwrapv -fvisibility=default -finline-functions -fno-exceptions -fno-rtti -fno-threadsafe-statics -funroll-loops -Qunused-arguments -rdynamic -flat_namespace -Wl,-bind_at_load -Wl,-undefined,dynamic_lookup,LIBS : -lreadline -lncurses -lpthread  (ver: 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79))
argv[0]   :	Singular

Change History (6)

comment:1 Changed 10 years ago by barakat

Sorry, I was not logged in when I created the ticket.

comment:2 Changed 10 years ago by Oleksandr

Component: dontKnowsingular-kernel
Description: modified (diff)
Keywords: exterior algebra added
Owner: changed from somebody to Oleksandr

comment:3 Changed 10 years ago by Oleksandr

> list L = _; L;
[1]:
   _[1]=e1*e2*e3*gen(1)
   _[2]=e0*e2*e3*gen(1)
   _[3]=e0*e1*e3*gen(1)
   _[4]=e0*e1*e2*gen(1)
[2]:
   _[1]=e3*gen(1)
   _[2]=e3*gen(2)
   _[3]=e3*gen(3)
   _[4]=e2*gen(1)
   _[5]=e2*gen(2)
   _[6]=e2*gen(3)+e3*gen(4)
   _[7]=e2*gen(4)
   _[8]=e1*gen(1)
   _[9]=e1*gen(2)-e3*gen(4)
   _[10]=e1*gen(3)
   _[11]=e1*gen(4)
   _[12]=e0*gen(1)+e3*gen(4)
   _[13]=e0*gen(2)
   _[14]=e0*gen(3)
   _[15]=e0*gen(4)

is the result correct?

ps: i have got the same output under Linux.

Last edited 10 years ago by Oleksandr (previous) (diff)

comment:4 Changed 10 years ago by Oleksandr

Keywords: sca assume added
Summary: on my Mac: // ***dError: assume violationSCA: // ***dError: assume violation

comment:5 Changed 10 years ago by Oleksandr

It happens for spoly( _[3], _[4]): p.p: e2*gen(4)+e3*gen(5) where: p.FDeg: 1 ??? but p.pFDeg(): 4 since it calls p_FDeg whereas r->pFDeg == kModDeg and thus computes induced degree: 1 + deg(_[3]) note also that: kModW : 0, 0, 3, 3, 3, 3

it seems that p.FDeg was not updated

Last edited 10 years ago by Oleksandr (previous) (diff)

comment:6 Changed 10 years ago by hannes

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.