From 4d989f0f5a5688bfdd767f442f9edf540603e769 Mon Sep 17 00:00:00 2001 From: Alexander Demin Date: Sun, 10 Dec 2023 16:36:47 +0300 Subject: [PATCH] add licence info --- README.md | 7 ++++--- docs/index.md | 11 ++++++----- src/Groebner.jl | 9 +++++++++ src/f4/basis.jl | 5 +++++ src/f4/f4.jl | 5 +++++ src/f4/hashtable.jl | 5 +++++ src/f4/linalg.jl | 4 ++++ src/f4/sorting.jl | 5 +++++ 8 files changed, 43 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b67cfa27..a6ce9b21 100644 --- a/README.md +++ b/README.md @@ -57,16 +57,17 @@ G = groebner(system) x3^3 - 1 ``` - ## Contacts This library is maintained by Alexander Demin (). ## Acknowledgement -We would like to acknowledge Jérémy Berthomieu, Christian Eder, and Mohab Safey El Din as this library is inspired by their work ["msolve: A Library for Solving Polynomial Systems"](https://arxiv.org/abs/2104.03572). We are also grateful to The Max Planck Institute for Informatics and The MAX team at l'X for providing computational resources. +We would like to acknowledge the developers of the msolve library ([https://msolve.lip6.fr/](https://msolve.lip6.fr/)), as several components of Groebner.jl were adapted from msolve. In our F4 implementation, we adapt and adjust the code of monomial hashtable, critical pair handling and symbolic preprocessing, and linear algebra from msolve. The source code of msolve is available at [https://github.com/algebraic-solving/msolve](https://github.com/algebraic-solving/msolve). + +We are grateful to Vladimir Kuznetsov for providing the sources of his F4 implementation. -Special thanks goes to Vladimir Kuznetsov for providing the sources of his F4 implementation. +We thank The Max Planck Institute for Informatics and The MAX team at l'X for providing computational resources. ## Citing Groebner.jl diff --git a/docs/index.md b/docs/index.md index 881adeae..35704ff6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -74,7 +74,7 @@ You can find more information on monomial orderings in Groebner.jl in [Monomial ### with DynamicPolynomials.jl -We will compute the basis of the `noon-2` system[^3] +We will compute the basis of the `noon-2` system[^2] ```julia:install_dynamic import Pkg; # hide @@ -97,10 +97,11 @@ This library is maintained by Alexander Demin ([asdemin_2@edu.hse.ru](mailto:asd ## Acknowledgement -We would like to acknowledge Jérémy Berthomieu, Christian Eder, and Mohab Safey El Din as this library is inspired by their work "msolve: A Library for Solving Polynomial Systems"[^2]. We are also grateful to The Max Planck Institute for Informatics and The MAX team at l'X for providing computational resources. +We would like to acknowledge the developers of the msolve library ([https://msolve.lip6.fr/](https://msolve.lip6.fr/)), as several components of Groebner.jl were adapted from msolve. In our F4 implementation, we adapt and adjust the code of monomial hashtable, critical pair handling, symbolic preprocessing, and linear algebra from msolve. The source code of msolve is available at [https://github.com/algebraic-solving/msolve](https://github.com/algebraic-solving/msolve). -Special thanks goes to Vladimir Kuznetsov for providing the sources of his F4 implementation. +We are grateful to Vladimir Kuznetsov for providing the sources of his F4 implementation. + +We thank The Max Planck Institute for Informatics and The MAX team at l'X for providing computational resources. [^1]: [https://www-polsys.lip6.fr/~jcf/Papers/F99a.pdf](https://www-polsys.lip6.fr/~jcf/Papers/F99a.pdf) -[^3]: [https://www.jstor.org/stable/2101937](https://www.jstor.org/stable/2101937) -[^2]: [https://msolve.lip6.fr/](https://msolve.lip6.fr/) +[^2]: [https://www.jstor.org/stable/2101937](https://www.jstor.org/stable/2101937) diff --git a/src/Groebner.jl b/src/Groebner.jl index 12294545..5a12cabe 100644 --- a/src/Groebner.jl +++ b/src/Groebner.jl @@ -4,6 +4,15 @@ module Groebner # Groebner works over integers modulo a prime and over the rationals. At its # heart, Groebner implements F4, multi-modular techniques, and tracing. +# Parts of Groebner were adapted from msolve +# https://github.com/algebraic-solving/msolve +# msolve is distributed under GNU GPL version 2 +# https://github.com/algebraic-solving/msolve/blob/master/COPYING +# +# More precisely, the F4 implementation in Groebner adapts monomial hashtable +# implementation and routines for critical pair handling, symbolic +# preprocessing, and linear algebra from msolve. + """ invariants_enabled() -> Bool diff --git a/src/f4/basis.jl b/src/f4/basis.jl index c3be6712..274e8180 100644 --- a/src/f4/basis.jl +++ b/src/f4/basis.jl @@ -1,3 +1,8 @@ +# Parts of this file were adapted from msolve +# https://github.com/algebraic-solving/msolve +# msolve is distributed under GNU GPL version 2 +# https://github.com/algebraic-solving/msolve/blob/master/COPYING + # Pairset and Basis # Basis is a structure that stores a list of polynomials. Each polynomial is diff --git a/src/f4/f4.jl b/src/f4/f4.jl index 36006f41..0cb274c1 100644 --- a/src/f4/f4.jl +++ b/src/f4/f4.jl @@ -1,3 +1,8 @@ +# Parts of this file were adapted from msolve +# https://github.com/algebraic-solving/msolve +# msolve is distributed under GNU GPL version 2 +# https://github.com/algebraic-solving/msolve/blob/master/COPYING + # Main file that defines the f4! function. # Functions here mostly work with a subset of these objects: diff --git a/src/f4/hashtable.jl b/src/f4/hashtable.jl index 4ee4cea6..4c663dd3 100644 --- a/src/f4/hashtable.jl +++ b/src/f4/hashtable.jl @@ -1,3 +1,8 @@ +# Parts of this file were adapted from msolve +# https://github.com/algebraic-solving/msolve +# msolve is distributed under GNU GPL version 2 +# https://github.com/algebraic-solving/msolve/blob/master/COPYING + # Monomial hashtable. # This hashtable implementation assumes that the hash function is linear. (each diff --git a/src/f4/linalg.jl b/src/f4/linalg.jl index 105f4c33..babdf047 100644 --- a/src/f4/linalg.jl +++ b/src/f4/linalg.jl @@ -1,3 +1,7 @@ +# Parts of this file were adapted from msolve +# https://github.com/algebraic-solving/msolve +# msolve is distributed under GNU GPL version 2 +# https://github.com/algebraic-solving/msolve/blob/master/COPYING """ linear_algebra! diff --git a/src/f4/sorting.jl b/src/f4/sorting.jl index 5dd8e1ad..6fc597d1 100644 --- a/src/f4/sorting.jl +++ b/src/f4/sorting.jl @@ -1,3 +1,8 @@ +# Parts of this file were adapted from msolve +# https://github.com/algebraic-solving/msolve +# msolve is distributed under GNU GPL version 2 +# https://github.com/algebraic-solving/msolve/blob/master/COPYING + # Sorting monomials, polynomials, and other things. # Unstable algorithm should be a bit faster for large arrays