The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Revision history for Perl extension Math::Polynomial::Solve.

1.00 Wed Feb 14 17:51:04 2001
	- original version

1.01
	- Web site address of Karl's Calculus Tutor has changed.  Document
	  changed with it.
	- Code that popped off leading zero coefficients was flawed.
	  Negative values could get popped off too since the check was
	      $coefficients[0] <= $epsilon
	  instead of
	      abs($coefficients[0]) <= $epsilon.
	- Began writing code for symbolic solutions.
	- And then I got the e-mail from Nick Ing-Simmons.

1.90 March 17 2003
	Nick Ing-Simmons had been working on a perl binding to the GNU
	Scientific Library that performed, among other things, polynomial
	solving.  He graciously (indeed, FAR beyond the call of duty)
	provided a perl version the Fortran code written by Hiroshi
	Murakami, and gave me permission to use the perl version of the code
	in this module (as Hiroshi Murakami gave permission to Nick Ing-Simmons).
	For further information on his efforts, see Math::GSL::Polynomial.
	Putting in the code resulted in:
	- Some formatting changes.  Sorry, I'm a tab user.
	- Removal of some redundant code.  Math::Polynomial::Solve
	  already calculated epsilon, and the wrapper function already
	  removed leading zero coefficients.
	- Coefficients to be passed in from higher power to lower,
	  rather than the reverse.  This matches current usage in this
	  module.
	- Roots to be returned as Complex number objects, rather than paired
	  real and imaginary parts.
	- An early return for the really simple case.

1.99 April 30 2003
	- More documentation changes, including updating links to Dr.
	  Nickalls's paper.
	- Added many, many more tests.
	- Added the set_ and get_hessenberg() functions.
	- Put some code that was in a text file in one of the helper
	  perl files.

2.00 Feb 18 2004
	- For some idiotic reason, I thought that I had already uploaded the
	  module to CPAN.  Time to rectify that mistake.
	- Well, as long as I'm here, reviewed the code again, and found some
	  inconsistant epsilon comparisons ('<' vs. '<=').  Changed them all
	  to '<'.
	- Double-checked the links too.  Dr. Nickall's article keeps moving
	  around
     Apr 3 2006
	- Upgraded the test files to use Test::Simple.
	- Moved the internal structure of the module directory around
	  to match the current layout made by the current h2xs.
	- Added a Build.PL file.
	- Generated a Meta.yml file and a Makefile.PL from Build.PL
	- Added new tests to cubic.t to cover catastrophic
	  cancellation conditions.
	- Re-factored an expression in the ($dis < -$epsilon) branch
	  of cubic_roots(), in preparation for tracking down the
	  cancellation error.  This is the branch that was failing
	  the tests for certain values of the leading coefficient
	  (a negative, for one thing).  Wouldn't you know, the tests
	  passed after doing this.  I suspect that this will not be the
	  final chapter in this story.
	- Updated the link to www.2dcurves.com in the documentation.
     Jun 26 2006
	- Added a test to poly1.t (x**5 + x + 1).  Nothing special
	  except that it's solvable in radicals, and there was an
	  article on Galois theory that missed that.
2.10 Jul 4 2006
	- Released.