Can the Maple community make exact integrability computations substantially faster?

For a planar polynomial vector field
[
D=A(x,y)\partial_x+B(x,y)\partial_y,
]
a Darboux polynomial is a nonconstant polynomial (f) satisfying
[
D(f)=Kf
]
for a polynomial cofactor (K). These invariant algebraic curves are fundamental building blocks in the search for first integrals and integrating factors.

The subject reaches back to Darboux’s nineteenth-century work and connects with the Prelle–Singer and Singer theories of elementary and Liouvillian integrability. Turning these structural results into effective, reliable programs remains an important computational problem. Given Maple’s long tradition in symbolic differential equations, MaplePrimes seems an ideal place to invite a practical challenge.

The starting point

Bostan, Chèze, Cluzeau and Weil developed algorithms for bounded-degree rational first integrals and Darboux polynomials using local solutions and extactic constructions. Related ideas appear in Chèze–Combot’s algorithms for symbolic first integrals and Combot’s work on symbolic integration of planar differential foliations. These works include Maple implementations.

They provide powerful mathematical frameworks, but their implementations can encounter substantial practical difficulties:

  • coefficient growth in exact truncated series;

  • expression swell in parameter-dependent extactic matrices, polynomial minors and Smith-form computations;

  • expensive matrix assembly, exact linear algebra and reconstruction.

The bottleneck depends on the input and the implementation. Improving the kernel solver alone may achieve little when exact series construction dominates.

Our current baseline

We have implemented practical optimizations within these frameworks: jet-based constructions, truncated-series arithmetic, avoidance of full Smith-form computation in the Darboux code, modular filtering and linear algebra, rational reconstruction, and exact verification.

These are our current best-performing implementations, offered as reproducible baselines for further improvement—not as a claim of universal optimality.

For Darboux polynomials:

restart:
read "PATH/TO/FastDarboux.mpl":

A := 1:
B := 4*x^3 + y - x^4 - 1:
N := 4:

R := FastDarboux:-All(A,B,N,x,y):
R[status];
R[curves];
R[rational_curves];

The records in rational_curves are pairs [f,K]. Algebraic coefficient extensions are represented in curves. The status "finite_complete" certifies complete finite enumeration within the stated scope; rational-first-integral and other exceptional cases have separate statuses.

A single-section calculation is available through:

R := FastDarboux:-Partial(A,B,N,0,x,y):

This searches using the section (x=0); its scope must not be confused with complete enumeration.

For the Liouvillian integrating-factor benchmark:

restart:
read "PATH/TO/Combot.mpl":
read "PATH/TO/slow_example.mpl":

st := time[real]():
R := IntegratingFactor(B/A,[-1,0],27):
time[real]() - st;

The benchmark file supplies (A,B). The implementation prints a completion status.

For this example, on our Maple 2026 test system, the complete call took about 123 seconds:

Stage Time
Exact series construction 100.4 s
Matrix preparation, modular kernels, reconstruction and kernel certification 21.9 s
Total, including integrating-factor recovery 123.1 s

The returned integrating factor was independently verified by exact identities. These measurements describe one benchmark, not a general complexity claim.

Source code: Source code-Huang 
Documentation and mathematical scope: Documentation-Huang 
Benchmark inputs, environment and logs: Benchmark-Huang

The challenge

Improve end-to-end wall-clock time and memory use while preserving soundness and completeness for an explicitly stated bounded problem.

A better asymptotic bound is welcome, but it is not the primary objective. In exact symbolic computation, a field operation has no fixed machine cost: coefficient sizes, normalization, intermediate representations and data movement can outweigh an attractive exponent.

Technical improvements and well-designed heuristics are especially welcome. Possible directions include finite-field series construction, better precision management, adaptive reconstruction, structured linear algebra, improved candidate selection, or entirely different approaches.

Heuristics are welcome when their role is explicit: a failed heuristic must not silently become a proof of nonexistence. Likewise, verifying every returned curve proves soundness, but does not by itself prove completeness.

Please state degree bounds and assumptions, distinguish “no solution within the bound” from “inconclusive,” and handle rational-first-integral or infinite-family cases explicitly. This challenge does not assume that bounded searches settle unrestricted Liouvillian integrability. The current integrating-factor code also does not claim to return a minimal representation.

For performance comparisons, please include the whole computation, including preprocessing, series, reconstruction and certification, and compare tasks with the same mathematical scope.

AI tools have made remarkable progress in mathematical reasoning and programming. This is a concrete opportunity to use them on a longstanding computational problem. Contributions from anyone are welcome, with or without AI assistance: Maple code, compiled backends, mathematical arguments, counterexamples, profiling observations, or small improvements that make an important difference.

Please post suggestions, implementations, benchmarks and supporting arguments directly in the comments. The goal is a faster, reproducible and mathematically trustworthy solver.


Please Wait...