The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 2.62_3

  • Aug 23 2012
    • sturm_bisection_roots(), which was supposed to only return a polynomial's real roots, could occasionally return complex roots. This was because the laguerre() function could occasionally slip into the Complex plane while doing its hunting. Put a "no Math::Complex" line at the start of the function to prevent this.
    • Did the same for newtonraphson(), as its primary use is to find real roots.
    • Made sure the documentation makes the real roots only condition of laguerre() and newtonraphson() clear.
  • Jul 18 2012
    • Changed the Test::Pod requirement in pod.t from version 1.00 to 1.41. Didn't put the version requirement in Build.PL because it's silly to block installation because of POD testing.
    • Put "=encoding utf8" command in the first line of my POD. One of my references has a non-ASCII character in his name, and Pod-Simple now warns about that as of May. Some searching seems to indicate that =encoding was introduced in Pod-Simple during perl version 5.10; we'll see whether older perls got the updated Pod-Simple.
  • Jul 10 2012
    • Comment and Smart-Comment changes. Also removed the late Nick Ing-Simmons's e-mail address from comments.
    • Changed the remaining C/Fortran-style down-count loop in hqr_eigen_hessenberg() to a Perl-style loop using reverse. Made sure edge cases were handled, and commented *why* early checks are made in that loop.
    • Made variables $s and $z in hqr_eigen_hessenberg() local to their loops in an attempt to make the algorithm more easily read.
  • Jul 5 2012
    • Changed the first C/Fortran-style down-count loop in hqr_eigen_hessenberg() to a Perl-style loop using reverse.

Changes for version 2.62_2

  • Jan 2 2012
    • And more tests added to derivaluate.t. Up to CPAN we go.
  • Dec 23 2011
    • Bug in poly_derivaluat(). For polynomials degree 5 or higher, was returning the wrong second derivative value. Unfortunately, the testing of the function was only done indirectly in laguerre.t, and it only had third degree polynomials. Extended laguerre.t, and added derivaluate.t to test files.
  • Nov 17 2011
    • Perl version requirement changed to 5.8.3 (from 5.6.0). Support for 5.6.0 in various perl development tools is being dropped, and 5.8.3 seems to be a safe minimum, at least for the next year or so. Change made in Build.PL and Solve.pm.
    • Changed "repository" key in Build.PL from a hash to a string, as seems to be currently required under the version of Module::Build that I'm developing with (the hash form looks to be for a later version that I cannot install yet).

Changes for version 2.62_1

  • Oct 30 2011
    • A couple more changes to Build.PL (dist_author and resources). Time to push this up to git and add it to CPAN.
  • Sep 20 2011
    • CPAN::Meta::Spec had a lot to say about the changes to Build.PL scripts. Made those changes.
  • Sep 19 2011
    • The pre-September items for this version were done separate from the git and github installation. Merged it all in.
  • Sep 9 2011
    • Added carp messages to get_hessenberg() and set_hessenberg(). Now anyone still using these functions gets nagged about it.
  • July 20 2011
    • Emphasize in the documentation the fact that roots are mixed real and Math::Complex - there was some confusion.
  • Mar 24 2011
    • Gah. EXPORT list didn't have poly_tolerance!
    • Put in a check for accidental refs in poly_derivaluate().
  • Mar 23 2011
    • Test file nr.t created, and added to MANIFEST.
    • A couple more keywords added to Build.PL.
  • Mar 12 2011
    • Added Newton-Raphson function newtonraphson() to the module, just to provide a comparison with laguerre().
    • Added Newton-Raphson to the keyword list.
  • Mar 9 2011
    • New function poly_derivaluate(), to be used internally by laguerre(). Added it to the :utility EXPORT list.
    • laguerre() now uses poly_derivaluate().
    • Documented poly_derivaluate().
    • Fixed an L<> typo.
    • Improved the Sturm function documentation.
  • Mar 2 2011
    • Three more tests to cubic.t (polynomial representations of trisecting a 60 deg. angle; duplicating the cube; and construction a septagon; all with straightedge and compass).
    • Instead of a copy of the @cases in cubic.t with negative coefficients, just use poly_constmult() in the loop.
    • Did the same to quartic.t.
    • And quadratic.t.

Modules

Find the roots of polynomial equations.