Opened 9 years ago
Closed 9 years ago
#551 closed bug (fixed)
bug in Ehv::isSubset(): misusage of size()
Reported by: | Owned by: | pfister | |
---|---|---|---|
Priority: | minor | Milestone: | 4-1-0 and higher |
Component: | singular-libs | Version: | 4-0-0 |
Keywords: | ncols size misusage | Cc: |
Description
Hello,
the (public) routine
isSubset() in "ehv.lib"
is incorrect
due to incorrect usage of size()
instead of ncols()
when iterating over all ideal generators.
Here is a failing example:
ring r = 0,(x,y),dp; ideal J = x; ideal I = x, 0 , y; isSubset( I, std(J) ); //=1, wrong! isSubset( std(I), std(J) ) ; //=0, ok ASSUME( 0, isSubset( I, std(J) ) == isSubset( std(I), std(J) ) ); //fails
Also isSubset()
can be modified to be more user friendly and less error-prone; that means:
- as a user I would expect to get the correct answer, even if J is not standard basis
- the std computation of J should be done by isSubset(), but only if necessary.
If a nonconservative version of isSubset is required, for whatever reasons, it could be added e.g. as isSubsetUnsafe
A test, if an ideal I is contained is ideal J is not special for a primary decomposition, therefore this method should move from "ehv.lib"
to "ring.lib"
.
Bugfix is in preparation.
Jack
Change History (3)
comment:1 Changed 9 years ago by
Owner: | changed from somebody to pfister |
---|
comment:2 Changed 9 years ago by
comment:3 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
see pull request
https://github.com/Singular/Sources/pull/495