summaryrefslogtreecommitdiff
path: root/packages/base/CHANGELOG
blob: fd1c171ca6e758416378a2b85a052f4258861498 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
0.18.0.0
--------

    * Many new functions and instances in the Static module

    * meanCov and gaussianSample use Herm type

    * thinQR, thinRQ

    * compactSVDTol

    * unitary changed to normalize, also admits Vector (Complex Double)

0.17.0.0
--------

    * eigSH, chol, and other functions that work with Hermitian or symmetric matrices
      now take a special "Herm" argument that can be created by means of "sym"
      or "mTm". The unchecked versions of those functions have been removed and we
      use "trustSym" to create the Herm type when the matrix is known to be Hermitian/symmetric.

    * Improved matrix extraction (??) and rectangular matrix slices without data copy

    * Basic support of Int32 and Int64 elements

    * remap, more general cond, sortIndex

    * Experimental support of type safe modular arithmetic, including linear
      system solver and LU factorization

    * Elementary row operations and inplace matrix slice products in the ST monad

    * Improved development tools.

    * Old compatibility modules removed, simpler organization of internal modules

    * unitary, pairwiseD2, tr'

    * ldlPacked, ldlSolve for indefinite symmetric systems (apparently not faster
      than the general solver based on the LU)

    * LU, LDL, and QR types for these compact decompositions.

0.16.1.0
--------

    * Added (|||) and (===) for "besides" and "above"

    * rowOuters

0.16.0.0
--------

    * 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

      For normal usage we only need to import Numeric.LinearAlgebra.HMatrix.

      (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.


0.15.2.0
--------

    * general pinvTol and improved pinv

0.15.1.0
--------

    * One-dimensional minimization

    * Doubly-adaptive quadrature for difficult integrands

0.15.0.0
--------

    * 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

0.14.1.0
--------

    * In Numeric.LinearAlgebra.Util:
      convolution: corr, conv, corr2, conv2, separable, corrMin
      kronecker: vec, vech, dup, vtrans

0.14.0.0
--------

    * integration over infinite intervals

    * msadams and msbdf methods for ode

    * Numeric.LinearAlgebra.Util

    * (<\>) extended to multiple right-hand sides

    * orth

0.13.0.0
--------

    * tests moved to new package hmatrix-tests

0.11.2.0
--------

    * geigSH' (symmetric generalized eigensystem)

    * mapVectorWithIndex

0.11.1.0
--------

    * exported Mul

    * mapMatrixWithIndex{,M,M_}

0.11.0.0
--------

    * flag -fvector default = True

    * invlndet (inverse and log of determinant)

    * step, cond

    * find

    * assoc, accum

0.10.0.0
--------

    * 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

0.9.3.0
--------

    * 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

0.8.3.0
--------

    * odeSolve

    * Matrix arithmetic automatically replicates matrix with single row/column

    * latexFormat, dispcf

0.8.2.0
--------

    * 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.

0.8.1.0
--------

    * runBenchmarks

0.8.0.0
--------

    * 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

0.7.2.0
--------

    * ranksv

0.7.1.0
--------

    * buildVector/buildMatrix

    * removed NFData instances

0.6.0.0
--------

    * 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.