#96 closed bug (fixed)
NF removes zeroes (at least in super commutative rings)
Reported by: | Simon King | Owned by: | Oleksandr |
---|---|---|---|
Priority: | major | Milestone: | Release 3-1-0 |
Component: | dontKnow | Version: | |
Keywords: | NF, zero ideal | Cc: |
Description
I think the following behaviour of the CVS version is a bug:
> LIB "ncall.lib"; ... > ring r = 3,(a,b,c,d),wp(1,1,2,2); > def R = SuperCommutative(1,2); > setring R; > ideal I = ab,b; > NF(I*b,0); // ** _ is no standard basis _[1]=0
Correct output would be
> NF(I*b,0); // ** _ is no standard basis _[1]=0 _[2]=0
Change History (6)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
Owner: | changed from hannes to Oleksandr |
---|
comment:3 Changed 15 years ago by
Status: | new → assigned |
---|
Thanks.
This seems to happen in SCA only...
comment:4 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
The point is that for SCA one has to kill all zero-squares in input explicitly before starting real computations in NF/std/syz/interreduce etc, thus there may appear zeroes, skipping which is usually welcomed by std/syz/interreduce. Alas, not by NF... Fixed.
comment:5 Changed 15 years ago by
Not true: NF, syz cannot live with omitted entries. All others (std, interred): omitted entries are tolerated, but not needed
- this simply adds an additional memory reallocation:
=> id_KillSquares should never call idSkipZeroes
comment:6 Changed 15 years ago by
Ok, i changed id_KillSquares so that by default it will not call idSkipZeroes.
It is even worse:
I am sure that this behaviour breaks a lot of code!