Skip to content

Commit

Permalink
CHANGELOG
Browse files Browse the repository at this point in the history
  • Loading branch information
stla committed May 2, 2024
1 parent 8720cf7 commit 0102268
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 6 deletions.
11 changes: 6 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -265,10 +265,11 @@ polynomial.
## 0.5.1.0 - 2024-05-XX

* An error in an internal function resulted in an error in `groebnerBasis`. It
has been fixed. However, while it generally works fine, I still encountered a
problem with `groebnerBasis` for an example, and I have not been able to find
the error yet. The problem with this example is that the Gröbner basis is
abnormally large, and then I modified the algorithm so that it throws an error
now when a limit is exceeded. This is just a temporary "fix".
has been fixed.

* A limit on the number of elements of a Gröbner basis has been set in the
algorithm performed by `groebnerBasis`. When this limit is attained, an error
is thrown. The reason of this limit is that I encountered an example of a
large Gröbner basis and the algorithm took a quite long time.

* There was an error in `esPolynomial`.
14 changes: 14 additions & 0 deletions scripts/groebner-bug.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import Math.Algebra.Hspray

x1 = qlone 1
x2 = qlone 2
x3 = qlone 3
x4 = qlone 4
sprays = [
esPolynomial 4 1
, x1^*^x2 ^+^ x1^*^x3 ^+^ x1^*^x4 ^+^ x2^*^x3
, esPolynomial 4 3
, esPolynomial 4 4 ]
generators = zipWith (^-^) sprays [qlone (4 + i) | i <- [1 .. 4]]

gbasis = groebnerBasis generators False
2 changes: 1 addition & 1 deletion src/Math/Algebra/Hspray.hs
Original file line number Diff line number Diff line change
Expand Up @@ -2116,7 +2116,7 @@ groebner00 sprays = go 0 j0 combins0 spraysMap
-> HashMap Int (Spray a, Term a) -> [Spray a]
go !i !j !combins !gpolysMap
| j == 100 = error
"groebnerBasis: it seems that something is going wrong; please fill an issue."
"groebnerBasis: stopped because reached the limit; please fill an issue."
| i == length combins = map fst (HM.elems gpolysMap)
| otherwise = go i' j' combins' gpolysMap'
where
Expand Down

0 comments on commit 0102268

Please sign in to comment.