Changelog for hmatrix- -------- * The modules Numeric.GSL.* have been moved to the new package hmatrix-gsl. * The package "hmatrix" now depends only on BLAS and LAPACK and the license has been changed to BSD3. * Added more organized reexport modules: Numeric.LinearAlgebra.HMatrix Numeric.LinearAlgebra.Data Numeric.LinearAlgebra.Devel The documentation is now hidden for Data.Packed.*, Numeric.Container, and the other Numeric.LinearAlgebra.* modules, but they continue to be exposed for backwards compatibility. * Added support for empty arrays, extending automatic conformability (very useful for construction of block matrices). * Added experimental support for sparse linear systems. * Added experimental support for static dimension checking and inference using type-level literals. * Added a different operator for the matrix-vector product. (available from the new reexport module). * "join" deprecated (use "vjoin"). * "dot" now conjugates the first input vector. * Added "udot" (unconjugated dot product). * Added to/from ByteString * Added "sortVector", "roundVector" * Added Monoid instance for Matrix using matrix product. * Added several pretty print functions * Improved "build", "konst", "linspace", "LSDiv", loadMatrix', and other small changes. * In hmatrix-glpk: (:=>:) change to (:>=:). Added L_1 linear system solvers. * Improved error messages. * Added many usage examples in the documentation. -------- * general pinvTol and improved pinv -------- * One-dimensional minimization * Doubly-adaptive quadrature for difficult integrands -------- * Data.Packed.Foreign (additional FFI helpers) * NFData instance of Matrix * Unidimensional root finding * In Numeric.LinearAlgebra.Util: pairwise2D, rowOuters, null1, null1sym, size, unitary, mt, (¦), (?), (¿) * diagBlock * meanCov moved to Container -------- * In Numeric.LinearAlgebra.Util: convolution: corr, conv, corr2, conv2, separable, corrMin kronecker: vec, vech, dup, vtrans -------- * integration over infinite intervals * msadams and msbdf methods for ode * Numeric.LinearAlgebra.Util * (<\>) extended to multiple right-hand sides * orth -------- * tests moved to new package hmatrix-tests -------- * geigSH' (symmetric generalized eigensystem) * mapVectorWithIndex -------- * exported Mul * mapMatrixWithIndex{,M,M_} -------- * flag -fvector default = True * invlndet (inverse and log of determinant) * step, cond * find * assoc, accum -------- * Module reorganization * Support for Float and Complex Float elements (excluding LAPACK computations) * Binary instances for Vector and Matrix * optimiseMult * mapVectorM, mapVectorWithIndexM, unzipVectorWith, and related functions. * diagRect admits diagonal vectors of any length without producing an error, and takes an additional argument for the off-diagonal elements. * different signatures in some functions -------- * flag -fvector to optionally use Data.Vector.Storable.Vector without any conversion. * Simpler module structure. * toBlocks, toBlocksEvery * cholSolve, mbCholSH * GSL Nonlinear Least-Squares fitting using Levenberg-Marquardt. * GSL special functions moved to separate package hmatrix-special. * Added offset of Vector, allowing fast, noncopy subVector (slice). Vector is now identical to Roman Leshchinskiy's Data.Vector.Storable.Vector, so we can convert from/to them in O(1). * Removed Data.Packed.Convert, see examples/vector.hs -------- * odeSolve * Matrix arithmetic automatically replicates matrix with single row/column * latexFormat, dispcf -------- * fromRows/fromColumns now automatically expand vectors of dim 1 to match the common dimension. fromBlocks also replicates single row/column matrices. Previously all dimensions had to be exactly the same. * display utilities: dispf, disps, vecdisp * scalar * minimizeV, minimizeVD, using Vector instead of lists. -------- * runBenchmarks -------- * singularValues, fullSVD, thinSVD, compactSVD, leftSV, rightSV and complete interface to [d|z]gesdd. Algorithms based on the SVD of large matrices can now be significantly faster. * eigenvalues, eigenvaluesSH * linearSolveLS, rq -------- * ranksv -------- * buildVector/buildMatrix * removed NFData instances -------- * added randomVector, gaussianSample, uniformSample, meanCov * added rankSVD, nullspaceSVD * rank, nullspacePrec, and economy svd defined in terms of ranksvd. * economy svd now admits zero rank matrices and return a "degenerate rank 1" decomposition with zero singular value. * added NFData instances for Matrix and Vector. * liftVector, liftVector2 replaced by mapVector, zipVector.