References and citations
These references document the mathematical literature, external implementations, and teaching material consulted during Nerdamer's development. Each entry identifies where the source relates to the library or its examples.
Foundational textbooks
Algorithms for Computer Algebra
Keith O. Geddes, Stephen R. Czapor, and George Labahn, Algorithms for Computer Algebra, Springer, 1992.
Used in Nerdamer for: a foundational reference for Nerdamer's polynomial arithmetic, rational functions, GCD algorithms, factorization, equation solving, Gröbner bases, and symbolic integration.
Ideals, Varieties, and Algorithms
David A. Cox, John Little, and Donal O'Shea, Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra, Springer.
Used in Nerdamer for: polynomial rings, monomial orderings, multivariate division and reduction, ideals, Gröbner bases, elimination, and the algebraic framework surrounding those algorithms. The publisher link is to the fourth edition; the cited material is foundational material that also appears in earlier editions.
Polynomial GCD
Brown's modular GCD algorithm
W. S. Brown, “On Euclid's Algorithm and the Computation of Polynomial Greatest Common Divisors”, Journal of the ACM, 18(4), 478–504, 1971.
Used in Nerdamer for: modular polynomial GCD computation, including multivariate evaluation and interpolation and the selection of suitable evaluation points.
Modern treatment of Brown's algorithm
Matthew Gibson and Michael Monagan, “Optimizing and Parallelizing the Modular GCD Algorithm”, PASCO '15, Bath, United Kingdom, 2015. Author-hosted paper.
Used in Nerdamer for: a modern description of Brown's multivariate modular GCD algorithm and its treatment of content, leading coefficients, image computation, interpolation, and unsuitable evaluation points.
Gröbner bases
Sugar strategy for Buchberger pair selection
Alessandro Giovini, Teo Mora, Gianfranco Niesi, Lorenzo Robbiano, and Carlo Traverso, “One Sugar Cube, Please” or Selection Strategies in the Buchberger Algorithm, Proceedings of ISSAC '91, 49–54, 1991.
Used in Nerdamer for: the sugar-degree pair-selection strategy used by the Gröbner basis engine.
Inhomogeneous Gröbner bases
Anna Maria Bigatti, Massimo Caboara, and Lorenzo Robbiano, “Computing Inhomogeneous Gröbner Bases”, Journal of Symbolic Computation, 46(5), 498–510, 2011.
Used in Nerdamer for: mathematical background for sugar-based processing of inhomogeneous Gröbner basis computations.
Modular Gröbner bases
Elizabeth A. Arnold, “Modular Algorithms for Computing Gröbner Bases”, Journal of Symbolic Computation, 35(4), 403–419, 2003.
Used in Nerdamer for: modular Gröbner-basis methods over the rational numbers, including prime selection, modular images, lifting, and verification of the reconstructed basis.
Polynomial factorization and finite fields
Berlekamp factorization
Elwyn R. Berlekamp, “Factoring Polynomials Over Finite Fields”, Bell System Technical Journal, 46(8), 1853–1859, 1967.
Used in Nerdamer for: finite-field factorization of square-free univariate polynomial images before Hensel lifting and integer reconstruction.
Berlekamp–Zassenhaus factorization
Jose Divasón, Sebastiaan J. C. Joosten, René Thiemann, and Akihisa Yamada, “A Verified Implementation of the Berlekamp–Zassenhaus Factorization Algorithm”, Journal of Automated Reasoning, 64(4), 699–735, 2020.
Used in Nerdamer for: the Berlekamp–Zassenhaus workflow for integer polynomial factorization, including finite-field factorization, factor bounds, Hensel lifting modulo increasing powers of a prime, and reconstruction over the integers.
Wang multivariate factorization
Paul S. Wang, “An Improved Multivariate Polynomial Factoring Algorithm”, Mathematics of Computation, 32(144), 1215–1231, 1978.
Used in Nerdamer for: evaluation-point selection, leading-coefficient recovery, and the Wang/EEZ multivariate factorization and lifting workflow.
Multivariate Hensel lifting
Joshua A. Grochow, A note on multivariate Hensel lifting, March 6, 2024.
Used in Nerdamer for: mathematical background for multivariate Hensel lifting during polynomial factorization.
Symbolic integration
Table of integrals
Table of Integrals, integral-table.com, revised June 14, 2014.
Used in Nerdamer for: checking and extending symbolic integration rules for common rational, radical, logarithmic, exponential, trigonometric, and hyperbolic forms.
Numerical polynomial roots
Lagrange–Fujiwara root bound
Siegfried M. Rump, “Ten Methods to Bound Multiple Roots of Polynomials”, Journal of Computational and Applied Mathematics, 156(2), 403–432, 2003.
Used in Nerdamer for: the Lagrange–Fujiwara upper bound used by the polynomial solver to limit root magnitudes before numerical root iteration.
External implementations consulted
Selected SymPy source files were consulted during development. They are listed separately from the academic literature and linked to the specific revision that was reviewed. These links identify implementations consulted during development; they do not indicate that the corresponding source code is incorporated into Nerdamer.
- Gröbner bases: groebnertools.py
- Finite-field arithmetic and Berlekamp factorization: galoistools.py
- Square-free and integer factorization: sqfreetools.py and factortools.py
- Sparse modular GCD and interpolation: zippel.py
- Chinese remainder reconstruction: modular.py
- Sparse polynomial operations and monomial ordering: sparsetools.py, monomials.py, and orderings.py
Documentation examples
Multivariable Newton method
Courtney Remani, “Numerical Methods for Solving Systems of Nonlinear Equations”, Honour's Seminar project, Department of Mathematical Sciences, Lakehead University, 2012–2013.
Used in Nerdamer for: the multivariable Newton/Jacobian method demonstrated in the API and scripting examples. The polynomial system shown on the Nerdamer site is an independent illustrative system rather than an example copied from the project.
Coupled oscillators and normal modes
McGill University Department of Physics, PHYS 232 course notes: Coupled oscillators, including the “2 masses and 3 springs” derivation.
Used in Nerdamer for: the two-mass normal-modes example, including the matrix formulation, characteristic equation, symmetric and antisymmetric modes, and mode frequencies.
