```
=head1 Math::GSL Changes
=head1 v0.19_02 - April 2008
- Improvements to callbacks, thanks to patches from piotrj
- Fixed + added test for RT#45044 math-gsl eigenpair bug, reported with patch by Ian Malone
- The following improvements were merged from Vincent Danjean's git repo
- New callback implementation, still in testing
- Correct handling of double, float and size_t on x64
- Removed duplicate definition of fopen/fclose in VectorComplex
=head1 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!)
=head1 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)
=head1 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
=head1 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)
=head1 v0.10
- Continued porting to MSWin32, fixing many NaN and Inf handling issues
=head1 v0.08
- Large documentation improvements
- MSWin32 support thanks to testing and feedback from <sisyphus@cpan.org>
=head1 v0.07
- Initial CPAN release
=head1 v0.042
- Started change to Test::Class
=head1 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
```