Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gap-ibnp for openSUSE:Factory 
checked in at 2026-06-16 13:55:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gap-ibnp (Old)
 and      /work/SRC/openSUSE:Factory/.gap-ibnp.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gap-ibnp"

Tue Jun 16 13:55:38 2026 rev:2 rq:1359608 version:0.18

Changes:
--------
--- /work/SRC/openSUSE:Factory/gap-ibnp/gap-ibnp.changes        2025-10-21 
11:16:03.253869667 +0200
+++ /work/SRC/openSUSE:Factory/.gap-ibnp.new.1981/gap-ibnp.changes      
2026-06-16 14:01:17.780940597 +0200
@@ -1,0 +2,6 @@
+Mon Jun 15 15:50:29 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 0.18
+  * Fixed the example which failed to abort: added qo-example.tst
+
+-------------------------------------------------------------------

Old:
----
  IBNP-0.17.tar.gz

New:
----
  IBNP-0.18.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gap-ibnp.spec ++++++
--- /var/tmp/diff_new_pack.Nm6oK7/_old  2026-06-16 14:01:20.461052133 +0200
+++ /var/tmp/diff_new_pack.Nm6oK7/_new  2026-06-16 14:01:20.465052300 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gap-ibnp
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           gap-ibnp
-Version:        0.17
+Version:        0.18
 Release:        0
 Summary:        GAP: Involutive Bases for Noncommutative Polynomials
 License:        GPL-3.0-or-later

++++++ IBNP-0.17.tar.gz -> IBNP-0.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/CHANGES.md new/IBNP-0.18/CHANGES.md
--- old/IBNP-0.17/CHANGES.md    2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/CHANGES.md    2025-11-04 20:43:09.000000000 +0100
@@ -4,6 +4,9 @@
 ##  
 ##  CHANGES to the 'ibnp' package 
 
+## 0.17 -> 0.18  (04/11/25)
+ * (04/11/25) fixed example which failed to abort: added qo-example.tst
+
 ## 0.16 -> 0.17  (11/09/25)
  * (11/09/25) using the new package release mechanism
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/PackageInfo.g new/IBNP-0.18/PackageInfo.g
--- old/IBNP-0.17/PackageInfo.g 2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/PackageInfo.g 2025-11-04 20:43:09.000000000 +0100
@@ -7,8 +7,8 @@
 
 PackageName := "IBNP",
 Subtitle := "Involutive Bases for Noncommutative Polynomials",
-Version := "0.17",
-Date := "11/09/2025", 
+Version := "0.18",
+Date := "04/11/2025", 
 License := "GPL-3.0-or-later",
 
 Persons := [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/IBNP.tex new/IBNP-0.18/doc/IBNP.tex
--- old/IBNP-0.17/doc/IBNP.tex  2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/IBNP.tex  2025-11-04 20:43:09.000000000 +0100
@@ -100,8 +100,8 @@
 {\Huge \textbf{ Involutive Bases for Noncommutative Polynomials \mbox{}}}\\
 \vfill
 
-{\Huge  0.17 \mbox{}}\\[1cm]
-{ 11 September 2025 \mbox{}}\\[1cm]
+{\Huge  0.18 \mbox{}}\\[1cm]
+{ 4 November 2025 \mbox{}}\\[1cm]
 \mbox{}\\[2cm]
 {\Large \textbf{ Gareth A. Evans\\
    \mbox{}}}\\
@@ -876,8 +876,40 @@
   
 \end{Verbatim}
  
-\subsection{\textcolor{Chapter }{A more detailed example}}\label{subs-ex452}
+\subsection{\textcolor{Chapter }{The process may abort}}\label{subs-abort}
 \logpage{[ 3, 3, 3 ]}
+\hyperdef{L}{X86A1B0998692BA00}{}
+{
+  It may happen that the calculation of an involutive basis may start to 
produce
+an infinite polynomial basis. The constant \texttt{InvolutiveAbortLimit} 
\index{InvolutiveAbortLimit} is given an initial value of $20$ which may be 
increased by the user. If the size of the basis being produced
+reaches this limit, then \texttt{fail} is returned. 
+
+ For a simple example, we consider the Pommaret division and start with a set
+of polynomials $L := [ x^3-5y, x^2*y-4y]$ all of whose leading monomials 
contain a power of $x$. Then, for each of these polynomials, $x$ is the only 
involutive divisor, and prolongations all involve multiplying by $y$. The 
process aborts when the basis becomes 
+\[ \{ xy^3-xy^2,~ x^2y^2-xy^2,~ x^3y-xy^2,~ x^4-xy \} ~\cup~ \{ xy^i-xy^2 ~|~ 4
+\leqslant i \leqslant 19 \}. \]
+ (This may be verified on setting \texttt{InfoLevel(InfoIBNP)} to one.) 
+\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
+  
+  !gapprompt@gap>| !gapinput@CommutativeDivision := "Pommaret";;|
+  !gapprompt@gap>| !gapinput@R0 := PolynomialRing( Rationals, ["x","y"] );;|
+  !gapprompt@gap>| !gapinput@x := R0.1;;  y := R0.2;;|
+  !gapprompt@gap>| !gapinput@ord0 := MonomialGrlexOrdering( [x,y] );;|
+  !gapprompt@gap>| !gapinput@L0 := [ x^4-x*y, x^3*y-x*y^2 ];;|
+  !gapprompt@gap>| !gapinput@ibasP := InvolutiveBasisCP( R0, L0, ord0 );|
+  #I  reached the involutive abort limit 20
+  fail
+  !gapprompt@gap>| !gapinput@CommutativeDivision := "Janet";;|
+  !gapprompt@gap>| !gapinput@ibasP := InvolutiveBasisCP( R0, L0, ord0 );|
+  rec( div := "Janet", mvars := [ [ 1, 2 ], [ 1 ], [ 1 ], [ 1 ] ], 
+    polys := [ x*y^3-x*y^2, x^2*y^2-x*y^2, x^3*y-x*y^2, x^4-x*y ] )
+  
+\end{Verbatim}
+ }
+
+ 
+\subsection{\textcolor{Chapter }{A more detailed example}}\label{subs-ex452}
+\logpage{[ 3, 3, 4 ]}
 \hyperdef{L}{X831D45437DE37177}{}
 {
   Here we consider Example 4.5.2 in the thesis \cite{gareth-thesis}. On 
setting \texttt{InfoLevel(InfoIBNP)} to \texttt{1} some of the intermediate 
calculations are displayed. The setting of the
@@ -963,7 +995,7 @@
 
  
 \subsection{\textcolor{Chapter }{Using homogeneous 
polynomials}}\label{subs-hompolys}
-\logpage{[ 3, 3, 4 ]}
+\logpage{[ 3, 3, 5 ]}
 \hyperdef{L}{X791740DF84B742A2}{}
 {
   If the polynomials in an initial basis are not homogeneous 
\index{homogeneous polynomials} then they may be made homogeneous by 
introducing an additional variable. The
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chap0.html new/IBNP-0.18/doc/chap0.html
--- old/IBNP-0.17/doc/chap0.html        2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chap0.html        2025-11-04 20:43:09.000000000 +0100
@@ -29,10 +29,10 @@
 <h2>Involutive Bases for Noncommutative Polynomials</h2>
 
 <p>
-    0.17</p>
+    0.18</p>
 
 <p>
-    11 September 2025
+    4 November 2025
   </p>
 
 </div>
@@ -128,9 +128,11 @@
 <span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X7ACAA0847CC0DBCC">3.3-1 <span class="Heading">Prolongations 
and Autoreduction</span></a>
 </span>
 <span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X7B60A306820D4ED2">3.3-2 InvolutiveBasis</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X831D45437DE37177">3.3-3 <span class="Heading">A more detailed 
example</span></a>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X86A1B0998692BA00">3.3-3 <span class="Heading">The process may 
abort</span></a>
 </span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X791740DF84B742A2">3.3-4 <span class="Heading">Using 
homogeneous polynomials</span></a>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X831D45437DE37177">3.3-4 <span class="Heading">A more detailed 
example</span></a>
+</span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X791740DF84B742A2">3.3-5 <span class="Heading">Using 
homogeneous polynomials</span></a>
 </span>
 </div></div>
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chap0.txt new/IBNP-0.18/doc/chap0.txt
--- old/IBNP-0.17/doc/chap0.txt 2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chap0.txt 2025-11-04 20:43:09.000000000 +0100
@@ -6,10 +6,10 @@
                 Involutive Bases for Noncommutative Polynomials 
   
   
-                                      0.17
+                                      0.18
   
   
-                               11 September 2025
+                                4 November 2025
   
   
                                 Gareth A. Evans
@@ -93,8 +93,9 @@
     3.3 Computing a Commutative Involutive Basis
       3.3-1 Prolongations and Autoreduction
       3.3-2 InvolutiveBasis
-      3.3-3 A more detailed example
-      3.3-4 Using homogeneous polynomials
+      3.3-3 The process may abort
+      3.3-4 A more detailed example
+      3.3-5 Using homogeneous polynomials
   4 Functions for Noncommutative Monomials
     4.1 Basic functions for monomials
       4.1-1 Predefined algebras
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chap0_mj.html 
new/IBNP-0.18/doc/chap0_mj.html
--- old/IBNP-0.17/doc/chap0_mj.html     2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chap0_mj.html     2025-11-04 20:43:09.000000000 +0100
@@ -32,10 +32,10 @@
 <h2>Involutive Bases for Noncommutative Polynomials</h2>
 
 <p>
-    0.17</p>
+    0.18</p>
 
 <p>
-    11 September 2025
+    4 November 2025
   </p>
 
 </div>
@@ -131,9 +131,11 @@
 <span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X7ACAA0847CC0DBCC">3.3-1 <span 
class="Heading">Prolongations and Autoreduction</span></a>
 </span>
 <span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X7B60A306820D4ED2">3.3-2 InvolutiveBasis</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X831D45437DE37177">3.3-3 <span class="Heading">A more 
detailed example</span></a>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X86A1B0998692BA00">3.3-3 <span class="Heading">The process 
may abort</span></a>
 </span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X791740DF84B742A2">3.3-4 <span class="Heading">Using 
homogeneous polynomials</span></a>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X831D45437DE37177">3.3-4 <span class="Heading">A more 
detailed example</span></a>
+</span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X791740DF84B742A2">3.3-5 <span class="Heading">Using 
homogeneous polynomials</span></a>
 </span>
 </div></div>
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chap3.html new/IBNP-0.18/doc/chap3.html
--- old/IBNP-0.17/doc/chap3.html        2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chap3.html        2025-11-04 20:43:09.000000000 +0100
@@ -51,9 +51,11 @@
 <span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X7ACAA0847CC0DBCC">3.3-1 <span class="Heading">Prolongations 
and Autoreduction</span></a>
 </span>
 <span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X7B60A306820D4ED2">3.3-2 InvolutiveBasis</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X831D45437DE37177">3.3-3 <span class="Heading">A more detailed 
example</span></a>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X86A1B0998692BA00">3.3-3 <span class="Heading">The process may 
abort</span></a>
 </span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X791740DF84B742A2">3.3-4 <span class="Heading">Using 
homogeneous polynomials</span></a>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X831D45437DE37177">3.3-4 <span class="Heading">A more detailed 
example</span></a>
+</span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3.html#X791740DF84B742A2">3.3-5 <span class="Heading">Using 
homogeneous polynomials</span></a>
 </span>
 </div></div>
 </div>
@@ -519,9 +521,42 @@
 
 </pre></div>
 
+<p><a id="X86A1B0998692BA00" name="X86A1B0998692BA00"></a></p>
+
+<h5>3.3-3 <span class="Heading">The process may abort</span></h5>
+
+<p>It may happen that the calculation of an involutive basis may start to 
produce an infinite polynomial basis. The constant <code 
class="code">InvolutiveAbortLimit</code> is given an initial value of <span 
class="SimpleMath">20</span> which may be increased by the user. If the size of 
the basis being produced reaches this limit, then <code 
class="code">fail</code> is returned.</p>
+
+<p>For a simple example, we consider the Pommaret division and start with a 
set of polynomials <span class="SimpleMath">L := [ x^3-5y, x^2*y-4y]</span> all 
of whose leading monomials contain a power of <span 
class="SimpleMath">x</span>. Then, for each of these polynomials, <span 
class="SimpleMath">x</span> is the only involutive divisor, and prolongations 
all involve multiplying by <span class="SimpleMath">y</span>. The process 
aborts when the basis becomes</p>
+
+<p class="pcenter">
+\{ xy^3-xy^2,~ x^2y^2-xy^2,~ x^3y-xy^2,~ x^4-xy \} 
+~\cup~ \{ xy^i-xy^2 ~|~ 4 \leqslant i \leqslant 19 \}. 
+</p>
+
+<p>(This may be verified on setting <code 
class="code">InfoLevel(InfoIBNP)</code> to one.)</p>
+
+
+<div class="example"><pre>
+
+<span class="GAPprompt">gap&gt;</span> <span 
class="GAPinput">CommutativeDivision := "Pommaret";;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">R0 := 
PolynomialRing( Rationals, ["x","y"] );;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">x := R0.1;;  y 
:= R0.2;;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">ord0 := 
MonomialGrlexOrdering( [x,y] );;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">L0 := [ x^4-x*y, 
x^3*y-x*y^2 ];;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">ibasP := 
InvolutiveBasisCP( R0, L0, ord0 );</span>
+#I  reached the involutive abort limit 20
+fail
+<span class="GAPprompt">gap&gt;</span> <span 
class="GAPinput">CommutativeDivision := "Janet";;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">ibasP := 
InvolutiveBasisCP( R0, L0, ord0 );</span>
+rec( div := "Janet", mvars := [ [ 1, 2 ], [ 1 ], [ 1 ], [ 1 ] ], 
+  polys := [ x*y^3-x*y^2, x^2*y^2-x*y^2, x^3*y-x*y^2, x^4-x*y ] )
+
+</pre></div>
+
 <p><a id="X831D45437DE37177" name="X831D45437DE37177"></a></p>
 
-<h5>3.3-3 <span class="Heading">A more detailed example</span></h5>
+<h5>3.3-4 <span class="Heading">A more detailed example</span></h5>
 
 <p>Here we consider Example 4.5.2 in the thesis <a 
href="chapBib.html#biBgareth-thesis">[Eva05]</a>. On setting <code 
class="code">InfoLevel(InfoIBNP)</code> to <code class="code">1</code> some of 
the intermediate calculations are displayed. The setting of the problem is a 
rational polynomial ring in three variables with the lex ordering <span 
class="SimpleMath">[x,y,z]</span>, using the Janet involutive division.</p>
 
@@ -631,7 +666,7 @@
 
 <p><a id="X791740DF84B742A2" name="X791740DF84B742A2"></a></p>
 
-<h5>3.3-4 <span class="Heading">Using homogeneous polynomials</span></h5>
+<h5>3.3-5 <span class="Heading">Using homogeneous polynomials</span></h5>
 
 <p>If the polynomials in an initial basis are not homogeneous then they may be 
made homogeneous by introducing an additional variable. The resulting 
involutive basis will contain only homogeneous polynomials. However, if these 
are de-homogenised by setting the additional variable equal to <span 
class="SimpleMath">1</span>, the resulting basis may not be involutive.</p>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chap3.txt new/IBNP-0.18/doc/chap3.txt
--- old/IBNP-0.17/doc/chap3.txt 2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chap3.txt 2025-11-04 20:43:09.000000000 +0100
@@ -544,7 +544,46 @@
   
   
   
-  3.3-3 A more detailed example
+  3.3-3 The process may abort
+  
+  It  may  happen  that  the  calculation  of an involutive basis 
may start to
+  produce  an  infinite polynomial basis. The constant 
InvolutiveAbortLimit is
+  given an initial value of 20 which may be increased by the user. 
If the size
+  of the basis being produced reaches this limit, then fail is 
returned.
+  
+  For a simple example, we consider the Pommaret division and start 
with a set
+  of  polynomials  L  :=  [  x^3-5y,  x^2*y-4y] all of whose 
leading monomials
+  contain  a  power  of  x. Then, for each of these polynomials, 
x is the only
+  involutive  divisor,  and  prolongations  all  involve multiplying by 
y. The
+  process aborts when the basis becomes
+  
+  
+  \{ xy^3-xy^2,~ x^2y^2-xy^2,~ x^3y-xy^2,~ x^4-xy \} ~\cup~ \{ 
xy^i-xy^2 ~|~ 4
+  \leqslant i \leqslant 19 \}.
+  
+  
+  
+  (This may be verified on setting InfoLevel(InfoIBNP) 
to one.)
+  
+    Example  
+    
+    gap> CommutativeDivision := "Pommaret";;
+    gap> R0 := PolynomialRing( Rationals, ["x","y"] 
);;
+    gap> x := R0.1;;  y := R0.2;;
+    gap> ord0 := MonomialGrlexOrdering( [x,y] 
);;
+    gap> L0 := [ x^4-x*y, x^3*y-x*y^2 ];;
+    gap> ibasP := InvolutiveBasisCP( R0, L0, ord0 
);
+    #I  reached the involutive abort limit 20
+    fail
+    gap> CommutativeDivision := "Janet";;
+    gap> ibasP := InvolutiveBasisCP( R0, L0, ord0 
);
+    rec( div := "Janet", mvars := [ [ 1, 2 ], [ 1 ], [ 1 ], [ 1 ] ], 

+      polys := [ x*y^3-x*y^2, x^2*y^2-x*y^2, x^3*y-x*y^2, x^4-x*y ] 
)
+    
+  
+  
+  
+  3.3-4 A more detailed example
   
   Here   we   consider  Example  4.5.2  in  the  thesis  [Eva05].  
On  setting
   InfoLevel(InfoIBNP)   to   1  some  of  the  
intermediate  calculations  are
@@ -650,7 +689,7 @@
   
   
   
-  3.3-4 Using homogeneous polynomials
+  3.3-5 Using homogeneous polynomials
   
   If  the polynomials in an initial basis are not homogeneous then 
they may be
   made  homogeneous  by  introducing  an  additional  variable.  The resulting
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chap3_mj.html 
new/IBNP-0.18/doc/chap3_mj.html
--- old/IBNP-0.17/doc/chap3_mj.html     2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chap3_mj.html     2025-11-04 20:43:09.000000000 +0100
@@ -54,9 +54,11 @@
 <span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X7ACAA0847CC0DBCC">3.3-1 <span 
class="Heading">Prolongations and Autoreduction</span></a>
 </span>
 <span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X7B60A306820D4ED2">3.3-2 InvolutiveBasis</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X831D45437DE37177">3.3-3 <span class="Heading">A more 
detailed example</span></a>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X86A1B0998692BA00">3.3-3 <span class="Heading">The process 
may abort</span></a>
 </span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X791740DF84B742A2">3.3-4 <span class="Heading">Using 
homogeneous polynomials</span></a>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X831D45437DE37177">3.3-4 <span class="Heading">A more 
detailed example</span></a>
+</span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap3_mj.html#X791740DF84B742A2">3.3-5 <span class="Heading">Using 
homogeneous polynomials</span></a>
 </span>
 </div></div>
 </div>
@@ -522,9 +524,42 @@
 
 </pre></div>
 
+<p><a id="X86A1B0998692BA00" name="X86A1B0998692BA00"></a></p>
+
+<h5>3.3-3 <span class="Heading">The process may abort</span></h5>
+
+<p>It may happen that the calculation of an involutive basis may start to 
produce an infinite polynomial basis. The constant <code 
class="code">InvolutiveAbortLimit</code> is given an initial value of <span 
class="SimpleMath">\(20\)</span> which may be increased by the user. If the 
size of the basis being produced reaches this limit, then <code 
class="code">fail</code> is returned.</p>
+
+<p>For a simple example, we consider the Pommaret division and start with a 
set of polynomials <span class="SimpleMath">\(L := [ x^3-5y, x^2*y-4y]\)</span> 
all of whose leading monomials contain a power of <span 
class="SimpleMath">\(x\)</span>. Then, for each of these polynomials, <span 
class="SimpleMath">\(x\)</span> is the only involutive divisor, and 
prolongations all involve multiplying by <span class="SimpleMath">\(y\)</span>. 
The process aborts when the basis becomes</p>
+
+<p class="center">\[
+\{ xy^3-xy^2,~ x^2y^2-xy^2,~ x^3y-xy^2,~ x^4-xy \} 
+~\cup~ \{ xy^i-xy^2 ~|~ 4 \leqslant i \leqslant 19 \}. 
+\]</p>
+
+<p>(This may be verified on setting <code 
class="code">InfoLevel(InfoIBNP)</code> to one.)</p>
+
+
+<div class="example"><pre>
+
+<span class="GAPprompt">gap&gt;</span> <span 
class="GAPinput">CommutativeDivision := "Pommaret";;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">R0 := 
PolynomialRing( Rationals, ["x","y"] );;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">x := R0.1;;  y 
:= R0.2;;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">ord0 := 
MonomialGrlexOrdering( [x,y] );;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">L0 := [ x^4-x*y, 
x^3*y-x*y^2 ];;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">ibasP := 
InvolutiveBasisCP( R0, L0, ord0 );</span>
+#I  reached the involutive abort limit 20
+fail
+<span class="GAPprompt">gap&gt;</span> <span 
class="GAPinput">CommutativeDivision := "Janet";;</span>
+<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">ibasP := 
InvolutiveBasisCP( R0, L0, ord0 );</span>
+rec( div := "Janet", mvars := [ [ 1, 2 ], [ 1 ], [ 1 ], [ 1 ] ], 
+  polys := [ x*y^3-x*y^2, x^2*y^2-x*y^2, x^3*y-x*y^2, x^4-x*y ] )
+
+</pre></div>
+
 <p><a id="X831D45437DE37177" name="X831D45437DE37177"></a></p>
 
-<h5>3.3-3 <span class="Heading">A more detailed example</span></h5>
+<h5>3.3-4 <span class="Heading">A more detailed example</span></h5>
 
 <p>Here we consider Example 4.5.2 in the thesis <a 
href="chapBib_mj.html#biBgareth-thesis">[Eva05]</a>. On setting <code 
class="code">InfoLevel(InfoIBNP)</code> to <code class="code">1</code> some of 
the intermediate calculations are displayed. The setting of the problem is a 
rational polynomial ring in three variables with the lex ordering <span 
class="SimpleMath">\([x,y,z]\)</span>, using the Janet involutive division.</p>
 
@@ -634,7 +669,7 @@
 
 <p><a id="X791740DF84B742A2" name="X791740DF84B742A2"></a></p>
 
-<h5>3.3-4 <span class="Heading">Using homogeneous polynomials</span></h5>
+<h5>3.3-5 <span class="Heading">Using homogeneous polynomials</span></h5>
 
 <p>If the polynomials in an initial basis are not homogeneous then they may be 
made homogeneous by introducing an additional variable. The resulting 
involutive basis will contain only homogeneous polynomials. However, if these 
are de-homogenised by setting the additional variable equal to <span 
class="SimpleMath">\(1\)</span>, the resulting basis may not be involutive.</p>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chapInd.html 
new/IBNP-0.18/doc/chapInd.html
--- old/IBNP-0.17/doc/chapInd.html      2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chapInd.html      2025-11-04 20:43:09.000000000 +0100
@@ -38,11 +38,12 @@
 <code class="func">GM2NMList</code>  <a 
href="chap4.html#X8719E2857E26325C">4.1-4</a>  <br />
 GP2NP  <a href="chap2.html#X783C6EC87988B533">2.1</a>  <br />
 <code class="func">GtNPoly</code>  <a 
href="chap5.html#X7996395279064998">5.1-3</a>  <br />
-homogeneous polynomials  <a href="chap3.html#X791740DF84B742A2">3.3-4</a>  <br 
/>
+homogeneous polynomials  <a href="chap3.html#X791740DF84B742A2">3.3-5</a>  <br 
/>
 <code class="func">IAutoreduce</code>  <a 
href="chap3.html#X7C58A339832877E9">3.2-10</a>  <br />
 <code class="func">IAutoreduceCP</code>  <a 
href="chap3.html#X7C58A339832877E9">3.2-10</a>  <br />
 <code class="func">IAutoreduceNP</code>  <a 
href="chap6.html#X8189DEDD87CE1667">6.1-10</a>  <br />
 involutive divisor  <a href="chap3.html#X7E43F2087BC8B4F9">3.2</a>  <br />
+InvolutiveAbortLimit  <a href="chap3.html#X86A1B0998692BA00">3.3-3</a>  <br />
 <code class="func">InvolutiveBasis</code>  <a 
href="chap3.html#X7B60A306820D4ED2">3.3-2</a>  <br />
 <code class="func">InvolutiveBasisCP</code>  <a 
href="chap3.html#X7B60A306820D4ED2">3.3-2</a>  <br />
 <code class="func">InvolutiveBasisNP</code>  <a 
href="chap6.html#X7A71E4CD7B43726B">6.2-1</a>  <br />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chapInd.txt 
new/IBNP-0.18/doc/chapInd.txt
--- old/IBNP-0.17/doc/chapInd.txt       2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chapInd.txt       2025-11-04 20:43:09.000000000 +0100
@@ -15,11 +15,12 @@
   GM2NMList 4.1-4 
   GP2NP 2.1 
   GtNPoly 5.1-3 
-  homogeneous polynomials 3.3-4 
+  homogeneous polynomials 3.3-5 
   IAutoreduce 3.2-10 
   IAutoreduceCP 3.2-10 
   IAutoreduceNP 6.1-10 
   involutive divisor 3.2 
+  InvolutiveAbortLimit 3.3-3 
   InvolutiveBasis 3.3-2 
   InvolutiveBasisCP 3.3-2 
   InvolutiveBasisNP 6.2-1 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/chapInd_mj.html 
new/IBNP-0.18/doc/chapInd_mj.html
--- old/IBNP-0.17/doc/chapInd_mj.html   2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/chapInd_mj.html   2025-11-04 20:43:09.000000000 +0100
@@ -41,11 +41,12 @@
 <code class="func">GM2NMList</code>  <a 
href="chap4_mj.html#X8719E2857E26325C">4.1-4</a>  <br />
 GP2NP  <a href="chap2_mj.html#X783C6EC87988B533">2.1</a>  <br />
 <code class="func">GtNPoly</code>  <a 
href="chap5_mj.html#X7996395279064998">5.1-3</a>  <br />
-homogeneous polynomials  <a href="chap3_mj.html#X791740DF84B742A2">3.3-4</a>  
<br />
+homogeneous polynomials  <a href="chap3_mj.html#X791740DF84B742A2">3.3-5</a>  
<br />
 <code class="func">IAutoreduce</code>  <a 
href="chap3_mj.html#X7C58A339832877E9">3.2-10</a>  <br />
 <code class="func">IAutoreduceCP</code>  <a 
href="chap3_mj.html#X7C58A339832877E9">3.2-10</a>  <br />
 <code class="func">IAutoreduceNP</code>  <a 
href="chap6_mj.html#X8189DEDD87CE1667">6.1-10</a>  <br />
 involutive divisor  <a href="chap3_mj.html#X7E43F2087BC8B4F9">3.2</a>  <br />
+InvolutiveAbortLimit  <a href="chap3_mj.html#X86A1B0998692BA00">3.3-3</a>  <br 
/>
 <code class="func">InvolutiveBasis</code>  <a 
href="chap3_mj.html#X7B60A306820D4ED2">3.3-2</a>  <br />
 <code class="func">InvolutiveBasisCP</code>  <a 
href="chap3_mj.html#X7B60A306820D4ED2">3.3-2</a>  <br />
 <code class="func">InvolutiveBasisNP</code>  <a 
href="chap6_mj.html#X7A71E4CD7B43726B">6.2-1</a>  <br />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/involutive-cp.xml 
new/IBNP-0.18/doc/involutive-cp.xml
--- old/IBNP-0.17/doc/involutive-cp.xml 2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/involutive-cp.xml 2025-11-04 20:43:09.000000000 +0100
@@ -657,6 +657,46 @@
 ]]>
 </Example>
 
+<Subsection Label="subs-abort"> 
+<Heading>The process may abort</Heading>
+It may happen that the calculation of an involutive basis may start to
+produce an infinite polynomial basis. 
+The constant <C>InvolutiveAbortLimit</C> <Index>InvolutiveAbortLimit</Index>
+is given an initial value of <M>20</M> which may be increased by the user.
+If the size of the basis being produced reaches this limit,
+then <C>fail</C> is returned.
+<P/>
+For a simple example, we consider the Pommaret division and start with a set
+of polynomials <M>L := [ x^3-5y, x^2*y-4y]</M> all of whose leading monomials 
contain a power of <M>x</M>.
+Then, for each of these polynomials, <M>x</M> is the only involutive divisor,
+and prolongations all involve multiplying by <M>y</M>.
+The process aborts when the basis becomes
+<Display>
+\{ xy^3-xy^2,~ x^2y^2-xy^2,~ x^3y-xy^2,~ x^4-xy \} 
+~\cup~ \{ xy^i-xy^2 ~|~ 4 \leqslant i \leqslant 19 \}. 
+</Display>
+(This may be verified on setting <C>InfoLevel(InfoIBNP)</C> to one.)
+
+<Example>
+<![CDATA[
+gap> CommutativeDivision := "Pommaret";;
+gap> R0 := PolynomialRing( Rationals, ["x","y"] );;
+gap> x := R0.1;;  y := R0.2;;
+gap> ord0 := MonomialGrlexOrdering( [x,y] );;
+gap> L0 := [ x^4-x*y, x^3*y-x*y^2 ];;
+gap> ibasP := InvolutiveBasisCP( R0, L0, ord0 );
+#I  reached the involutive abort limit 20
+fail
+gap> CommutativeDivision := "Janet";;
+gap> ibasP := InvolutiveBasisCP( R0, L0, ord0 );
+rec( div := "Janet", mvars := [ [ 1, 2 ], [ 1 ], [ 1 ], [ 1 ] ], 
+  polys := [ x*y^3-x*y^2, x^2*y^2-x*y^2, x^3*y-x*y^2, x^4-x*y ] )
+]]>
+</Example>
+
+
+</Subsection>
+
 <Subsection Label="subs-ex452"> 
 <Heading>A more detailed example</Heading>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/manual.lab new/IBNP-0.18/doc/manual.lab
--- old/IBNP-0.17/doc/manual.lab        2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/manual.lab        2025-11-04 20:43:09.000000000 +0100
@@ -19,8 +19,9 @@
 \makelabel{ibnp:Selecting an Ordering}{3.2.3}{X785D706A86DD7343}
 \makelabel{ibnp:Computing a Commutative Involutive 
Basis}{3.3}{X864907F987701716}
 \makelabel{ibnp:Prolongations and Autoreduction}{3.3.1}{X7ACAA0847CC0DBCC}
-\makelabel{ibnp:A more detailed example}{3.3.3}{X831D45437DE37177}
-\makelabel{ibnp:Using homogeneous polynomials}{3.3.4}{X791740DF84B742A2}
+\makelabel{ibnp:The process may abort}{3.3.3}{X86A1B0998692BA00}
+\makelabel{ibnp:A more detailed example}{3.3.4}{X831D45437DE37177}
+\makelabel{ibnp:Using homogeneous polynomials}{3.3.5}{X791740DF84B742A2}
 \makelabel{ibnp:Functions for Noncommutative Monomials}{4}{X872783907DFA29B7}
 \makelabel{ibnp:Basic functions for monomials}{4.1}{X846C3B0F79265278}
 \makelabel{ibnp:Predefined algebras}{4.1.1}{X84F106BB8093FCAE}
@@ -54,7 +55,8 @@
 \makelabel{ibnp:IAutoreduceCP}{3.2.10}{X7C58A339832877E9}
 \makelabel{ibnp:InvolutiveBasis}{3.3.2}{X7B60A306820D4ED2}
 \makelabel{ibnp:InvolutiveBasisCP}{3.3.2}{X7B60A306820D4ED2}
-\makelabel{ibnp:homogeneous polynomials}{3.3.4}{X791740DF84B742A2}
+\makelabel{ibnp:InvolutiveAbortLimit}{3.3.3}{X86A1B0998692BA00}
+\makelabel{ibnp:homogeneous polynomials}{3.3.5}{X791740DF84B742A2}
 \makelabel{ibnp:AlgebraIBNP}{4.1.1}{X84F106BB8093FCAE}
 \makelabel{ibnp:PrintNM}{4.1.2}{X7D53D8657AEDFEB2}
 \makelabel{ibnp:PrintNMList}{4.1.2}{X7D53D8657AEDFEB2}
Binary files old/IBNP-0.17/doc/manual.pdf and new/IBNP-0.18/doc/manual.pdf 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/manual.six new/IBNP-0.18/doc/manual.six
--- old/IBNP-0.17/doc/manual.six        2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/manual.six        2025-11-04 20:43:09.000000000 +0100
@@ -58,53 +58,56 @@
       "\033[1X\033[33X\033[0;-2YProlongations and 
Autoreduction\033[133X\033[101X\
 ", "3.3-1", [ 3, 3, 1 ], 383, 15, "prolongations and autoreduction", 
       "X7ACAA0847CC0DBCC" ], 
+  [ "\033[1X\033[33X\033[0;-2YThe process may abort\033[133X\033[101X", 
+      "3.3-3", [ 3, 3, 3 ], 546, 17, "the process may abort", 
+      "X86A1B0998692BA00" ], 
   [ "\033[1X\033[33X\033[0;-2YA more detailed example\033[133X\033[101X", 
-      "3.3-3", [ 3, 3, 3 ], 546, 17, "a more detailed example", 
+      "3.3-4", [ 3, 3, 4 ], 585, 18, "a more detailed example", 
       "X831D45437DE37177" ], 
   [ "\033[1X\033[33X\033[0;-2YUsing homogeneous polynomials\033[133X\033[101X"
-        , "3.3-4", [ 3, 3, 4 ], 652, 19, "using homogeneous polynomials", 
+        , "3.3-5", [ 3, 3, 5 ], 691, 20, "using homogeneous polynomials", 
       "X791740DF84B742A2" ], 
   [ 
       "\033[1X\033[33X\033[0;-2YFunctions for Noncommutative 
Monomials\033[133X\\
-033[101X", "4", [ 4, 0, 0 ], 1, 20, "functions for noncommutative monomials", 
+033[101X", "4", [ 4, 0, 0 ], 1, 21, "functions for noncommutative monomials", 
       "X872783907DFA29B7" ], 
   [ "\033[1X\033[33X\033[0;-2YBasic functions for monomials\033[133X\033[101X"
-        , "4.1", [ 4, 1, 0 ], 14, 20, "basic functions for monomials", 
+        , "4.1", [ 4, 1, 0 ], 14, 21, "basic functions for monomials", 
       "X846C3B0F79265278" ], 
   [ "\033[1X\033[33X\033[0;-2YPredefined algebras\033[133X\033[101X", 
-      "4.1-1", [ 4, 1, 1 ], 17, 20, "predefined algebras", 
+      "4.1-1", [ 4, 1, 1 ], 17, 21, "predefined algebras", 
       "X84F106BB8093FCAE" ], 
   [ 
       "\033[1X\033[33X\033[0;-2YFunctions for Noncommutative 
Polynomials\033[133X\
-\033[101X", "5", [ 5, 0, 0 ], 1, 25, 
+\033[101X", "5", [ 5, 0, 0 ], 1, 26, 
       "functions for noncommutative polynomials", "X7BD27C5585EF8629" ], 
   [ 
       "\033[1X\033[33X\033[0;-2YBasic functions for 
polynomials\033[133X\033[101X\
-", "5.1", [ 5, 1, 0 ], 4, 25, "basic functions for polynomials", 
+", "5.1", [ 5, 1, 0 ], 4, 26, "basic functions for polynomials", 
       "X80FC94957D03EEA6" ], 
   [ 
       "\033[1X\033[33X\033[0;-2YNoncommutative Involutive 
Bases\033[133X\033[101X\
-", "6", [ 6, 0, 0 ], 1, 28, "noncommutative involutive bases", 
+", "6", [ 6, 0, 0 ], 1, 29, "noncommutative involutive bases", 
       "X797E483A84214975" ], 
   [ 
       "\033[1X\033[33X\033[0;-2YNoncommutative Involutive 
Divisions\033[133X\033[\
-101X", "6.1", [ 6, 1, 0 ], 13, 28, "noncommutative involutive divisions", 
+101X", "6.1", [ 6, 1, 0 ], 13, 29, "noncommutative involutive divisions", 
       "X7A86C2437F6EB83D" ], 
   [ "\033[1X\033[33X\033[0;-2YSelecting a Division\033[133X\033[101X", 
-      "6.1-5", [ 6, 1, 5 ], 166, 30, "selecting a division", 
+      "6.1-5", [ 6, 1, 5 ], 166, 31, "selecting a division", 
       "X83A3B3F77C712DA1" ], 
   [ 
       "\033[1X\033[33X\033[0;-2YComputing a Noncommutative Involutive 
Basis\033[1\
-33X\033[101X", "6.2", [ 6, 2, 0 ], 341, 33, 
+33X\033[101X", "6.2", [ 6, 2, 0 ], 341, 34, 
       "computing a noncommutative involutive basis", "X80C3BE018688AFB7" ], 
   [ "\033[1X\033[33X\033[0;-2YThe Disjoint Cones Conditions\033[133X\033[101X"
-        , "6.3", [ 6, 3, 0 ], 422, 35, "the disjoint cones conditions", 
+        , "6.3", [ 6, 3, 0 ], 422, 36, "the disjoint cones conditions", 
       "X7DB2608C86CA3B04" ], 
-  [ "Bibliography", "bib", [ "Bib", 0, 0 ], 1, 38, "bibliography", 
+  [ "Bibliography", "bib", [ "Bib", 0, 0 ], 1, 39, "bibliography", 
       "X7A6F98FD85F02BFE" ], 
-  [ "References", "bib", [ "Bib", 0, 0 ], 1, 38, "references", 
+  [ "References", "bib", [ "Bib", 0, 0 ], 1, 39, "references", 
       "X7A6F98FD85F02BFE" ], 
-  [ "Index", "ind", [ "Ind", 0, 0 ], 1, 40, "index", "X83A0356F839C696F" ], 
+  [ "Index", "ind", [ "Ind", 0, 0 ], 1, 41, "index", "X83A0356F839C696F" ], 
   [ "GitHub repository", "1.0", [ 1, 0, 0 ], 1, 4, "github repository", 
       "X7DFB63A97E67C0A1" ], 
   [ "NP2GP", "2.1", [ 2, 1, 0 ], 10, 6, "np2gp", "X783C6EC87988B533" ], 
@@ -143,78 +146,80 @@
       "involutivebasis", "X7B60A306820D4ED2" ], 
   [ "\033[2XInvolutiveBasisCP\033[102X", "3.3-2", [ 3, 3, 2 ], 449, 16, 
       "involutivebasiscp", "X7B60A306820D4ED2" ], 
-  [ "homogeneous polynomials", "3.3-4", [ 3, 3, 4 ], 652, 19, 
+  [ "InvolutiveAbortLimit", "3.3-3", [ 3, 3, 3 ], 546, 17, 
+      "involutiveabortlimit", "X86A1B0998692BA00" ], 
+  [ "homogeneous polynomials", "3.3-5", [ 3, 3, 5 ], 691, 20, 
       "homogeneous polynomials", "X791740DF84B742A2" ], 
-  [ "AlgebraIBNP", "4.1-1", [ 4, 1, 1 ], 17, 20, "algebraibnp", 
+  [ "AlgebraIBNP", "4.1-1", [ 4, 1, 1 ], 17, 21, "algebraibnp", 
       "X84F106BB8093FCAE" ], 
-  [ "\033[2XPrintNM\033[102X", "4.1-2", [ 4, 1, 2 ], 35, 20, "printnm", 
+  [ "\033[2XPrintNM\033[102X", "4.1-2", [ 4, 1, 2 ], 35, 21, "printnm", 
       "X7D53D8657AEDFEB2" ], 
-  [ "\033[2XPrintNMList\033[102X", "4.1-2", [ 4, 1, 2 ], 35, 20, 
+  [ "\033[2XPrintNMList\033[102X", "4.1-2", [ 4, 1, 2 ], 35, 21, 
       "printnmlist", "X7D53D8657AEDFEB2" ], 
-  [ "\033[2XNM2GM\033[102X", "4.1-3", [ 4, 1, 3 ], 59, 21, "nm2gm", 
+  [ "\033[2XNM2GM\033[102X", "4.1-3", [ 4, 1, 3 ], 59, 22, "nm2gm", 
       "X7AD4CF167E6B7D2E" ], 
-  [ "\033[2XNM2GMList\033[102X", "4.1-3", [ 4, 1, 3 ], 59, 21, "nm2gmlist", 
+  [ "\033[2XNM2GMList\033[102X", "4.1-3", [ 4, 1, 3 ], 59, 22, "nm2gmlist", 
       "X7AD4CF167E6B7D2E" ], 
-  [ "\033[2XGM2NM\033[102X", "4.1-4", [ 4, 1, 4 ], 78, 21, "gm2nm", 
+  [ "\033[2XGM2NM\033[102X", "4.1-4", [ 4, 1, 4 ], 78, 22, "gm2nm", 
       "X8719E2857E26325C" ], 
-  [ "\033[2XGM2NMList\033[102X", "4.1-4", [ 4, 1, 4 ], 78, 21, "gm2nmlist", 
+  [ "\033[2XGM2NMList\033[102X", "4.1-4", [ 4, 1, 4 ], 78, 22, "gm2nmlist", 
       "X8719E2857E26325C" ], 
-  [ "\033[2XPrefixNM\033[102X", "4.1-5", [ 4, 1, 5 ], 100, 22, "prefixnm", 
+  [ "\033[2XPrefixNM\033[102X", "4.1-5", [ 4, 1, 5 ], 100, 23, "prefixnm", 
       "X7F72641C8441204E" ], 
-  [ "\033[2XSubwordNM\033[102X", "4.1-5", [ 4, 1, 5 ], 100, 22, "subwordnm", 
+  [ "\033[2XSubwordNM\033[102X", "4.1-5", [ 4, 1, 5 ], 100, 23, "subwordnm", 
       "X7F72641C8441204E" ], 
-  [ "\033[2XSuffixNM\033[102X", "4.1-5", [ 4, 1, 5 ], 100, 22, "suffixnm", 
+  [ "\033[2XSuffixNM\033[102X", "4.1-5", [ 4, 1, 5 ], 100, 23, "suffixnm", 
       "X7F72641C8441204E" ], 
-  [ "\033[2XSuffixPrefixPosNM\033[102X", "4.1-6", [ 4, 1, 6 ], 120, 22, 
+  [ "\033[2XSuffixPrefixPosNM\033[102X", "4.1-6", [ 4, 1, 6 ], 120, 23, 
       "suffixprefixposnm", "X8046DF397ACA0E5E" ], 
-  [ "\033[2XSubwordPosNM\033[102X", "4.1-7", [ 4, 1, 7 ], 148, 22, 
+  [ "\033[2XSubwordPosNM\033[102X", "4.1-7", [ 4, 1, 7 ], 148, 23, 
       "subwordposnm", "X82916CB37D346978" ], 
-  [ "\033[2XIsSubwordNM\033[102X", "4.1-7", [ 4, 1, 7 ], 148, 22, 
+  [ "\033[2XIsSubwordNM\033[102X", "4.1-7", [ 4, 1, 7 ], 148, 23, 
       "issubwordnm", "X82916CB37D346978" ], 
-  [ "\033[2XLeadVarNM\033[102X", "4.1-8", [ 4, 1, 8 ], 176, 23, "leadvarnm", 
+  [ "\033[2XLeadVarNM\033[102X", "4.1-8", [ 4, 1, 8 ], 176, 24, "leadvarnm", 
       "X83CF80DD7CD5F166" ], 
-  [ "\033[2XLeadExpNM\033[102X", "4.1-8", [ 4, 1, 8 ], 176, 23, "leadexpnm", 
+  [ "\033[2XLeadExpNM\033[102X", "4.1-8", [ 4, 1, 8 ], 176, 24, "leadexpnm", 
       "X83CF80DD7CD5F166" ], 
-  [ "\033[2XTailNM\033[102X", "4.1-8", [ 4, 1, 8 ], 176, 23, "tailnm", 
+  [ "\033[2XTailNM\033[102X", "4.1-8", [ 4, 1, 8 ], 176, 24, "tailnm", 
       "X83CF80DD7CD5F166" ], 
-  [ "\033[2XDivNM\033[102X", "4.1-9", [ 4, 1, 9 ], 198, 23, "divnm", 
+  [ "\033[2XDivNM\033[102X", "4.1-9", [ 4, 1, 9 ], 198, 24, "divnm", 
       "X7CECFE0C86895946" ], 
-  [ "\033[2XMaxDegreeNP\033[102X", "5.1-1", [ 5, 1, 1 ], 7, 25, 
+  [ "\033[2XMaxDegreeNP\033[102X", "5.1-1", [ 5, 1, 1 ], 7, 26, 
       "maxdegreenp", "X7A1E54F279CCCF65" ], 
-  [ "\033[2XScalarMulNP\033[102X", "5.1-2", [ 5, 1, 2 ], 34, 25, 
+  [ "\033[2XScalarMulNP\033[102X", "5.1-2", [ 5, 1, 2 ], 34, 26, 
       "scalarmulnp", "X7903A443865A3471" ], 
-  [ "\033[2XLtNPoly\033[102X", "5.1-3", [ 5, 1, 3 ], 58, 26, "ltnpoly", 
+  [ "\033[2XLtNPoly\033[102X", "5.1-3", [ 5, 1, 3 ], 58, 27, "ltnpoly", 
       "X7996395279064998" ], 
-  [ "\033[2XGtNPoly\033[102X", "5.1-3", [ 5, 1, 3 ], 58, 26, "gtnpoly", 
+  [ "\033[2XGtNPoly\033[102X", "5.1-3", [ 5, 1, 3 ], 58, 27, "gtnpoly", 
       "X7996395279064998" ], 
-  [ "\033[2XLowestLeadMonomialPosNP\033[102X", "5.1-4", [ 5, 1, 4 ], 89, 26, 
+  [ "\033[2XLowestLeadMonomialPosNP\033[102X", "5.1-4", [ 5, 1, 4 ], 89, 27, 
       "lowestleadmonomialposnp", "X79B2E02082C8799E" ], 
-  [ "\033[2XLeftDivision\033[102X", "6.1-1", [ 6, 1, 1 ], 58, 29, 
+  [ "\033[2XLeftDivision\033[102X", "6.1-1", [ 6, 1, 1 ], 58, 30, 
       "leftdivision", "X8593BCDB8402C46C" ], 
-  [ "\033[2XRightDivision\033[102X", "6.1-2", [ 6, 1, 2 ], 80, 29, 
+  [ "\033[2XRightDivision\033[102X", "6.1-2", [ 6, 1, 2 ], 80, 30, 
       "rightdivision", "X784AF6B87B2B5E5D" ], 
-  [ "\033[2XLeftOverlapDivision\033[102X", "6.1-3", [ 6, 1, 3 ], 95, 29, 
+  [ "\033[2XLeftOverlapDivision\033[102X", "6.1-3", [ 6, 1, 3 ], 95, 30, 
       "leftoverlapdivision", "X7A979BF38311024C" ], 
-  [ "\033[2XRightOverlapDivision\033[102X", "6.1-4", [ 6, 1, 4 ], 146, 30, 
+  [ "\033[2XRightOverlapDivision\033[102X", "6.1-4", [ 6, 1, 4 ], 146, 31, 
       "rightoverlapdivision", "X83CE05CF7CB18611" ], 
-  [ "NoncommutativeDivision", "6.1-5", [ 6, 1, 5 ], 166, 30, 
+  [ "NoncommutativeDivision", "6.1-5", [ 6, 1, 5 ], 166, 31, 
       "noncommutativedivision", "X83A3B3F77C712DA1" ], 
-  [ "\033[2XDivisionRecordNP\033[102X", "6.1-6", [ 6, 1, 6 ], 183, 31, 
+  [ "\033[2XDivisionRecordNP\033[102X", "6.1-6", [ 6, 1, 6 ], 183, 32, 
       "divisionrecordnp", "X86FAAD527E20A573" ], 
-  [ "\033[2XIPolyReduceNP\033[102X", "6.1-7", [ 6, 1, 7 ], 215, 31, 
+  [ "\033[2XIPolyReduceNP\033[102X", "6.1-7", [ 6, 1, 7 ], 215, 32, 
       "ipolyreducenp", "X828DA2AE844847E9" ], 
-  [ "\033[2XLoggedIPolyReduceNP\033[102X", "6.1-8", [ 6, 1, 8 ], 248, 32, 
+  [ "\033[2XLoggedIPolyReduceNP\033[102X", "6.1-8", [ 6, 1, 8 ], 248, 33, 
       "loggedipolyreducenp", "X78935EBD85A02F3F" ], 
-  [ "\033[2XVerifyLoggedRecordNP\033[102X", "6.1-9", [ 6, 1, 9 ], 295, 32, 
+  [ "\033[2XVerifyLoggedRecordNP\033[102X", "6.1-9", [ 6, 1, 9 ], 295, 33, 
       "verifyloggedrecordnp", "X7EBFCE307BE928BA" ], 
-  [ "\033[2XIAutoreduceNP\033[102X", "6.1-10", [ 6, 1, 10 ], 310, 33, 
+  [ "\033[2XIAutoreduceNP\033[102X", "6.1-10", [ 6, 1, 10 ], 310, 34, 
       "iautoreducenp", "X8189DEDD87CE1667" ], 
-  [ "\033[2XInvolutiveBasisNP\033[102X", "6.2-1", [ 6, 2, 1 ], 347, 33, 
+  [ "\033[2XInvolutiveBasisNP\033[102X", "6.2-1", [ 6, 2, 1 ], 347, 34, 
       "involutivebasisnp", "X7A71E4CD7B43726B" ], 
-  [ "disjoint cones", "6.3", [ 6, 3, 0 ], 422, 35, "disjoint cones", 
+  [ "disjoint cones", "6.3", [ 6, 3, 0 ], 422, 36, "disjoint cones", 
       "X7DB2608C86CA3B04" ], 
   [ "\033[2XStrongLeftOverlapDivision\033[102X", "6.3-1", [ 6, 3, 1 ], 430, 
-      35, "strongleftoverlapdivision", "X7D87860878548EF2" ], 
+      36, "strongleftoverlapdivision", "X7D87860878548EF2" ], 
   [ "\033[2XStrongRightOverlapDivision\033[102X", "6.3-2", [ 6, 3, 2 ], 514, 
-      36, "strongrightoverlapdivision", "X819FE8F87ACDB19C" ] ]
+      37, "strongrightoverlapdivision", "X819FE8F87ACDB19C" ] ]
 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/doc/title.xml new/IBNP-0.18/doc/title.xml
--- old/IBNP-0.17/doc/title.xml 2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/doc/title.xml 2025-11-04 20:43:09.000000000 +0100
@@ -9,7 +9,7 @@
     Involutive Bases for Noncommutative Polynomials
   </Subtitle>
   <Version>
-    0.17
+    0.18
   </Version>
   <Author>
     Gareth A. Evans<Alt Only="LaTeX"><Br/></Alt>
@@ -29,7 +29,7 @@
 
   </Author>
   <Date>
-    11 September 2025
+    4 November 2025
   </Date>
   <Abstract>
     The &IBNP; package provides methods for computing an involutive (&Grob;) 
basis <M>B</M> for an ideal <M>J</M> over a polynomial ring <M>R</M> in both 
the commutative and noncommutative cases. <P/>Secondly, methods are provided to 
involutively reduce a given polynomial to its normal form in <M>R/J</M>. 
<P/>Bug reports, comments, suggestions for additional features, and offers to 
implement some of these, will all be very welcome. <P/>Please submit any issues 
at <URL>https://github.com/gap-packages/ibnp/issues/</URL> or send an email to 
the second author at <Email>[email protected]</Email>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/lib/involutive-cp.gi 
new/IBNP-0.18/lib/involutive-cp.gi
--- old/IBNP-0.17/lib/involutive-cp.gi  2025-09-11 18:48:49.000000000 +0200
+++ new/IBNP-0.18/lib/involutive-cp.gi  2025-11-04 20:43:09.000000000 +0100
@@ -489,16 +489,12 @@
         pos := npolys;
         drec := DivisionRecordCP( A, old, ord );
         oldvars := drec.mvars;
-        if ( pl > 2 ) then 
-            Print( "old = ", old, "\n" );
-            Print( "oldvars = ", oldvars, "\n" );
-        fi;
+        Info( InfoIBNP, 2, "old = ", old );
+        Info( InfoIBNP, 2, "oldvars = ", oldvars );
         while ( pos > 0 ) and ( not reduced ) do   ## for each poly in old
             ## extract pos-th element of the basis and reduce using the rest
             oldPoly := old[pos];
-            if ( pl > 2 ) then 
-                Print( "oldPoly = ", oldPoly, "\n" );
-            fi;
+            Info( InfoIBNP, 2, "oldPoly = ", oldPoly );
             ## construct basis without oldPoly
             ## calculate multiplicative Variables if using a local division
             newvars := Concatenation( oldvars{[1..pos-1]},
@@ -507,15 +503,17 @@
             nrec := rec( div := div, mvars := newvars, polys := new );
             ## involutively reduce old polynomial w.r.t. the truncated list
             newPoly := IPolyReduceCP( A, oldPoly, nrec, ord );
-            Info( InfoIBNP, 2, "newPoly = ", newPoly );
-            ## if the polynomial did not reduce to 0
+            ## did the polynomial reduce to 0 or what?
             if ( newPoly = z ) then 
                 ## the polynomial reduced to zero
                 ## remove the polynomial from the list
-                new := Concatenation( new{[1..pos-1]},
-                                      new{[pos+1..npolys]} );
+                old := Concatenation( new{[1..pos-1]},
+                                      new{[pos+1..Length(new)]} );
                 pos := pos - 1;
                 npolys := npolys - 1;
+                reduced := true;
+                Info( InfoIBNP, 2, "the polynomial reduced to zero" );
+                Info( InfoIBNP, 2, "reduction!  now old = ", old );
             elif ( oldPoly = newPoly ) then 
                 ## we may proceed to look at the next polynomial 
                 pos := pos - 1;
@@ -523,6 +521,7 @@
                 ## otherwise some reduction took place so start again
                 ## add the new polynomial onto the list
                 reduced := true;
+                Info( InfoIBNP, 2, "newPoly = ", newPoly );
                 old := Concatenation( new, [ newPoly ]  );
                 Info( InfoIBNP, 2, "reduction!  now old = ", old );
             fi;
@@ -633,8 +632,9 @@
                 found := true; 
                 Add( basis, v );
                 Info( InfoIBNP, 2, "adding ", v );
-                if ( pl > 0 ) and 
-                   ( Length(basis) > InvolutiveAbortLimit ) then
+                if ( Length(basis) > InvolutiveAbortLimit ) then
+                    Print( "#I  reached the involutive abort limit ",
+                           InvolutiveAbortLimit, "\n" );
                       return fail;
                 fi;
                 drec := DivisionRecordCP( A, basis, ord );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/tst/extras/qo-example.tst 
new/IBNP-0.18/tst/extras/qo-example.tst
--- old/IBNP-0.17/tst/extras/qo-example.tst     1970-01-01 01:00:00.000000000 
+0100
+++ new/IBNP-0.18/tst/extras/qo-example.tst     2025-11-04 20:43:09.000000000 
+0100
@@ -0,0 +1,66 @@
+#############################################################################
+##
+#W  qo-example.tst       GAP4 package IBNP       Gareth Evans & Chris Wensley
+##
+
+gap> START_TEST( "qo-example.tst" );
+gap> ibnp_infolevel_saved := InfoLevel( InfoIBNP );; 
+gap> SetInfoLevel( InfoIBNP, 0 );; 
+
+gap> R := PolynomialRing( GF(2), ["x","y"] );;
+gap> e := One(R);;  x:=R.1;;  y:=R.2;;
+gap> ord := MonomialGrlexOrdering( [x,y] );;
+gap> L2 := [ x^6*y^6+x^2*y^2, x^6+x ];;
+gap> p := x^6*y^7 + x*y^7;;
+gap> q := y^8;;
+gap> CommutativeDivision := "Thomas";;
+gap> ibasT := InvolutiveBasis( R, L2, ord );
+rec( div := "Thomas", 
+  mvars := [ [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], 
+      [ 2 ], [ 1 ], [ 1, 2 ] ], 
+  polys := [ x^6+x, x*y^6+x^2*y^2, x^6*y+x*y, x^2*y^6+x^3*y^2, x^6*y^2+x*y^2, 
+      x^3*y^6+x^4*y^2, x^6*y^3+x*y^3, x^4*y^6+x^5*y^2, x^6*y^4+x*y^4, 
+      x^5*y^6+x*y^2, x^6*y^5+x*y^5, x^6*y^6+x^2*y^2 ] )
+gap> rp := LoggedIPolyReduceCP( R, p, ibasT, ord );
+rec( logs := [ 0*Z(2), y, 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 
+      0*Z(2), 0*Z(2), 0*Z(2), y ], 
+  polys := [ x^6+x, x*y^6+x^2*y^2, x^6*y+x*y, x^2*y^6+x^3*y^2, x^6*y^2+x*y^2, 
+      x^3*y^6+x^4*y^2, x^6*y^3+x*y^3, x^4*y^6+x^5*y^2, x^6*y^4+x*y^4, 
+      x^5*y^6+x*y^2, x^6*y^5+x*y^5, x^6*y^6+x^2*y^2 ], result := 0*Z(2) )
+gap> rq := IPolyReduceCP( R, q, ibasT, ord );
+y^8
+gap> ## note that none of the powers of y reduce
+
+gap> CommutativeDivision := "Janet";;
+gap> ibasJ := InvolutiveBasis( R, L2, ord );
+rec( div := "Janet", 
+  mvars := [ [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], 
+      [ 2 ], [ 1 ], [ 1, 2 ] ], 
+  polys := [ x^6+x, x*y^6+x^2*y^2, x^6*y+x*y, x^2*y^6+x^3*y^2, x^6*y^2+x*y^2, 
+      x^3*y^6+x^4*y^2, x^6*y^3+x*y^3, x^4*y^6+x^5*y^2, x^6*y^4+x*y^4, 
+      x^5*y^6+x*y^2, x^6*y^5+x*y^5, x^6*y^6+x^2*y^2 ] )
+gap> ibasT!.polys = ibasJ!.polys;
+true
+gap> ibasT!.mvars = ibasJ!.mvars;
+true
+gap> ##  so the same reductions apply using either division:
+gap> rp := LoggedIPolyReduceCP( R, p, ibasJ, ord );
+rec( logs := [ 0*Z(2), y, 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 
+      0*Z(2), 0*Z(2), 0*Z(2), y ], 
+  polys := [ x^6+x, x*y^6+x^2*y^2, x^6*y+x*y, x^2*y^6+x^3*y^2, x^6*y^2+x*y^2, 
+      x^3*y^6+x^4*y^2, x^6*y^3+x*y^3, x^4*y^6+x^5*y^2, x^6*y^4+x*y^4, 
+      x^5*y^6+x*y^2, x^6*y^5+x*y^5, x^6*y^6+x^2*y^2 ], result := 0*Z(2) )
+gap> rq := IPolyReduceCP( R, q, ibasT, ord );
+y^8
+
+gap> CommutativeDivision := "Pommaret";;
+gap> ibasP := InvolutiveBasisCP( R, L2, ord );
+#I  reached the involutive abort limit 20
+fail
+
+gap> SetInfoLevel( InfoIBNP, ibnp_infolevel_saved );; 
+gap> STOP_TEST( "qo-example.tst", 10000 );
+
+#############################################################################
+##
+#E  qo-example.tst . . . . . . . . . . . . . . . . . . . . . . . . ends here
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IBNP-0.17/tst/manual/involutive-cp.tst 
new/IBNP-0.18/tst/manual/involutive-cp.tst
--- old/IBNP-0.17/tst/manual/involutive-cp.tst  2025-09-11 18:48:49.000000000 
+0200
+++ new/IBNP-0.18/tst/manual/involutive-cp.tst  2025-11-04 20:43:09.000000000 
+0100
@@ -87,6 +87,20 @@
       a^3*b^2-9*a, a^3*b^3-9*a*b ], result := 9*a^2+9*a*b+6*b^2 )
 
 gap> ## Section 3.3.3
+gap> CommutativeDivision := "Pommaret";;
+gap> R0 := PolynomialRing( Rationals, ["x","y"] );;
+gap> x := R0.1;;  y := R0.2;;
+gap> ord0 := MonomialGrlexOrdering( [x,y] );;
+gap> L0 := [ x^4-x*y, x^3*y-x*y^2 ];;
+gap> ibasP := InvolutiveBasisCP( R0, L0, ord0 );
+#I  reached the involutive abort limit 20
+fail
+gap> CommutativeDivision := "Janet";;
+gap> ibasP := InvolutiveBasisCP( R0, L0, ord0 );
+rec( div := "Janet", mvars := [ [ 1, 2 ], [ 1 ], [ 1 ], [ 1 ] ], 
+  polys := [ x*y^3-x*y^2, x^2*y^2-x*y^2, x^3*y-x*y^2, x^4-x*y ] )
+
+gap> ## Section 3.3.4
 gap> ## this implements Example 4.5.2 in the thesis,
 gap> SetInfoLevel( InfoIBNP, 1 );; 
 gap> CommutativeDivision := "Janet";;
@@ -145,7 +159,7 @@
 #I  reduced to: -z^21+y*z^12+z^7
 -z^21+y*z^12+z^7
 
-gap> ## Section 3.3.4
+gap> ## Section 3.3.5
 gap> SetInfoLevel( InfoIBNP, 0 );
 gap> R4 := PolynomialRing( Rationals, [ "x", "y", "z", "t" ] );;
 gap> x := R4.1;; y := R4.2;; z := R4.3;; t := R4.4;;

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.Nm6oK7/_old  2026-06-16 14:01:20.641059625 +0200
+++ /var/tmp/diff_new_pack.Nm6oK7/_new  2026-06-16 14:01:20.645059791 +0200
@@ -1,5 +1,5 @@
-mtime: 1760954419
-commit: 77be88ebacb6b475ad34b4c82746650ae648bf3b1db94e2e0d2088d96010be16
+mtime: 1781538646
+commit: ff341172b99c29558ae887c3f8ae4497b34e4712396cb13e08a3eb20eaefa34e
 url: https://src.opensuse.org/jengelh/gap-ibnp
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-06-15 17:50:46.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to