Index of /cpp/polynom
POLYNOM version 0.11 by Pieter Suurmond, january 2, 2020.
A simple C++ API for complex polynomial factoring and expansion.
Latest version available from: https://ecomaan.nl/cpp/polynom
To easily download all files, take polynom-0.11.tar.gz.
All you need to know to use this 'polynom library' resides in headerfile polynom.hpp.
Enjoy! The code works well up to polynomials of the 40th degree (see test-report).
It can be applied in digital signal processing to 'reverse engineer' filter coeffi-
cients back to poles and zero's, or, the opposite: calculate filter coefficients
given some poles and zero's:
INPUT: FUNCTION: OUTPUT:
coefficients
in ascending ---> factor() ---> roots
degree
coefficients
in descending ---> factor_d() ---> roots
degree
coefficients
roots ---> expand() ---> in ascending
degree
coefficients
roots ---> expand_d() ---> in descending
degree
The following sources were used during implementation:
* Numerical Recipes in Pascal, C and C++.
* Numerical Analysis: The Mathematics of Scientific Computing.
D.R. Kincaid & E.W. Cheney. Brooks/Cole Publ., 1990. Section 3.5 Example of
Laguerre's Method (http://www.netlib.org/kincaid-cheney/laguerre.f).
* http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/
(see include/vigra/polynomial.hxx).
* 'Elements of Computer Music' by F. Richard Moore. Prentice Hall, Inc., 1990.
Page 131.
Ideas for future versions of POLYNOM:
* Look for conjugate pairs during rootfinding when coefficients are purely
real.
* Keep the double-API but make it work internally with long doubles (80 or 128
bits).
Thanks to Maarten de Boer, Sam Roig, Eduard Aylon, Niels Bogaards,
Niels Gorisse, Marc Groenewegen, Stijn van Beek and Jorn Lemon.