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

Math::GSL Changes

v0.18 - March 23 2008

    - Make Math::GSL play nice with GSL 1.12
    - Added swap() to Vector objects with tests and docs
    - Added p-norms to Vector objects via norm() and normalize()
    - Added operator overloading so that
            abs $vector == $vector->norm
    - Added as_vector() to Matrix and MatrixComplex objects
    - Added inverse(), is_square(), det(),  lndet(), zero() and identity()
        to Matrix objects
    - Added inverse(), is_square(), det(),  lndet(), zero(), identity() 
        and hermitian() to MatrixComplex objects
    - Added dot product to Matrix objects
    - Fixed various typos in documentation
    - Fixed warnings about overloaded operators in Matrix and BLAS
    - Overloaded '==' and '!=' for MatrixComplex and Matrix objects
    - Fixed amd64 -fPIC compile failure
    - Added tests to Monte and refactor Sort tests
    - Refactored and improve error checking in callback interface
    - Fixed 'NaN' test failures (thanks CPANtesters!)

v0.16 - December 14 2008 (Happy Snowpocalypse PDX!)

    - Fixed RT#40947: configure_requires ExtUtils::PkgConfig bug
    - Added reverse() and swap() methods to VectorComplex objects with tests and docs
    - as_list() and get() now work on VectorComplex objects
        as_list() returns a list of Math::Complex objects
        get() returns a list of Math::GSL::Complex objects
    - Math::GSL::Test::ok_status() now takes an optional message argument
    - Added KNOWN_BUGS
    - Added Math::GSL::Test::is_status_ok()
    - New subsytems: VectorComplex and MatrixComplex
    - Operator overloading for addition and subtraction with vectors
    - Added example: examples/matrix/nonsymmetric_eigen
        Shows how to find the eigenvalues of a nonsymmetric matrix
    - Added copy() method to vectors
    - Improved Vector docs
    - Sped up vector dot products by 15x using BLAS function gsl_blas_ddot
        NOTE: using gsl_blas_ddot($x->raw,$y->raw) directly is still about 10 times faster
              than $x * $y due to error checking and function call overhead
    - Separated POD and Perl code out of SWIG interface files, yay for proper syntax
        highlighting
    - Added stub test files for Heapsort, IEEEUtils, Multimin, Siman, Wavelet2D
    - All test files now keep track of how many tests should run
    - Fix an include bug in Histogram2D which caused the build to fail (Thierry)
    - Operator overloading for addition, multiplication and subtraction on Matrix objects (Thierry)

v0.14 - October 21 2008

    - Chebyshev Series Approximation, with tests and docs
    - Examples and new documentation in Statistics, as well as tests (Thierry)
    - Bugfixes relating to compiling on 64bit Red Hat Linux, reported by Michael Roberge
    - Improved FFT, Deriv, Integration, Chebyshev, Combination and Roots docs
    - Documentation for Math::GSL::Test 
    - Improved introduction examples in Math::GSL
    - Improved Minimization subsystem tests, but it is not functional
    - Added examples/fft/forward_real
    - Added example/deriv/basic

        This shows the simple fact that d/dx(sin(x)) = cos(x)

    - Added example/sf/erfc_check (thanks to Keith Lofstrom)

        Script which tests the erfc() special function against computing
        the integral definition with gsl_integration_qagiu()

    - Added example/vector/speed 
    
        This shows a considerable performance boost using Math::GSL::Vectors
        instead of List::Util when searching for the min and max elements of
        large sets of random numbers.

    - Fixed return signature of gsl_deriv_* functions to return a flat list
    - Fixed some failing tests relating to  -Duselongdouble (Sisyphus)
    - Fix location of shared objects (Sisyphus)
    - Added raw() method to RNG objects

v0.12 - September 14 2008

    - Darwin support! 
    - Minimum Perl version changed to 5.8.0
    - Make platform check compile time constants for performance
        aka The Wilhelm Speedup (thanks to Eric Wilhelm <scratchcomputing@gmail.com>)
    - FFT for real data
    - Numerical derivatives fully implemented
    - Integration subsystem, gsl_integrate_qags() and gsl_integrate_qagi(), etc..
        - QNG    : Non-adaptive Gaussian (uses fixed number of sample points in interval)
        - QAG(S) : Adaptive Gaussian (Singluar) (slices interval up based on properties of the function)
        - QAGI   : Adaptive Gaussian with infinite integration range
        - other are supported but not tested
    - Initial Monte tests
    - Initial Multiroots tests
    - More nan/inf fixes on MSWin32 from <sisyphus@cpan.org>
    - Stripping of binaries on Windows, which significantly reduces size
        from <sisyphus@cpan.org>
    - Full support and tests for all functions in the Sort subsystem
    - Added 'examples/benchmark/sort' to show performance of gsl_sort()
    - Added 'examples/clicker/chart' to show graphing of functions
    - Added 'examples/gsl_repl' which is a rapid protyping tool/interactive interpreter
    - Compile support for GSL's as old as 1.8 (test suite still needs to be properly guarded)

v0.10

    - Continued porting to MSWin32, fixing many NaN and Inf handling issues

v0.08

    - Large documentation improvements
    - MSWin32 support thanks to testing and feedback from <sisyphus@cpan.org>

v0.07

    - Initial CPAN release
    

v0.042

    - Started change to Test::Class

v0.01

    - Added swig interface files and swig-ified build script
    - initial tests for special function library gsl_sf <--> Math::GSL::Sf
    - Proof Of Concept: makegsl and testgsl