forked from stan-dev/math
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE-NOTES.txt
313 lines (252 loc) · 11.6 KB
/
RELEASE-NOTES.txt
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
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
Stan Math Library Release Notes
======================================================================
v.2.18.1 (24 December 2018)
======================================================================
Bugfix release - major bug in threading where certain thread count and
job size combinations could result in incorrect output. See
https://discourse.mc-stan.org/t/bug-in-map-rect-with-threading-in-stan-2-18-0/7056
for more details.
Bug Fixes
--------------------------------------------------
* Fix threading batch size bug (#1075)
v.2.18.0 (13 July 2018)
======================================================================
This is our first release with parallelism (through C++11 threads or MPI)!
New Features
--------------------------------------------------
* Support for MPI parallelization with map_rect
* Support for threaded AD and a threaded map_rect implementation (#809)
* New periodic covariance function (#921)
* Integrated Boost's 1 dimensional integrator (#913)
* Added thin QR decomposition (#900)
* New `add_diag` function for adding a real or vector to the diagonal of a matrix (#871)
* New `log_inv_logit_diff` function for the log of the difference of two inverse logits (#856)
* New dot product kernel for GPs (#834)
* Vectorized many more RNGs (#833, #722, #622)
* Add `matrix_exp_action` to calculate `exp(At)*B` (#830)
* `log_mix` vectorized (#751, #664)
* New integrators from CVODES (`integrate_ode_adams`, `_bdf`) (#735)
* New `std_normal` (#609)
* New `std_normal_log` (#728)
* New GLM primitive `normal_id_glm` (#665)
* New `chol2inv` that computes a matrix's inverse from its Cholesky factor (#649)
* New `poisson_log_glm` poisson regression with log link (#647)
* New vectorized `ordered_probit` (#645)
* New `log_modified_bessel_first_kind` that expands where Bessel 1 function can be used (#640)
* New bernoulli logit GLM (#608)
Bug Fixes
--------------------------------------------------
* Rising and falling factorial were not accepting negative arguments (#636)
* Fix normalizing constant for LKJ distribution (#628)
Other
--------------------------------------------------
* Tweaks to `effective_sample_size` for performance and upstream compatibility (#865)
* Switch to sundials package combining CVODES and IDAS, updating versions (#779, #744)
* Now publishing the Math doxygen (http://mc-stan.org/math/)
* Faster `dirichlet_lpdf` accepting more vector types (#788)
* Upgrade to Boost 1.66 (#766)
* Improved derivatives for Gamma CDF (#780)
* Sped up `multi_normal_cholesky` (#753)
* More efficient `mdivide_right_tri` (#715)
* More efficient `integrate_ode_rk45_grad_test` (#714)
* Make algebraic solver easier to use (#703, #697)
* Begin thinking about internal compatibility for complex numbers (#643)
* Faster `pow` (#642)
v.2.17.0 (05 September 2017)
======================================================================
New Features
--------------------------------------------------
* New algebraic solver! (stan-dev/stan#2023, #516)
* append_array now supports vectors of vectors
Other
--------------------------------------------------
* C++11 (and some of 14) now supported; see https://github.com/stan-dev/stan/wiki/Supported-C---Compilers-and-Language-Features
* Updated to Boost 1.64.0 (#599)
* Makefile refactoring (#602, others)
* New forward-mode test kit (#0557, #0568)
* replace copy args with refs (#346)
v.2.16.0 (15 June 2017)
======================================================================
New Features
--------------------------------------------------
* New append_array function
* Add categorical_logit_rng function
Bug Fixes
--------------------------------------------------
* Align gamma_* function parameter names with documentation
Other
--------------------------------------------------
* Update to Eigen 3.3.3
* Support g++ 4.9
* Fix overload logic in mdivide_left_tri_low so that it calls the var version of mdivide_left_tri where appropriate.
* Check consistent size of state and dy_dt in ode_system
* OperandsAndPartials refactor with new multivariate / nested container support
* Update LLT to inplace decomposition per eigen 3.3 doc
* Disable printf functions from CVODES
v.2.15.0 (13 April 2017)
======================================================================
New Features
--------------------------------------------------
* Efficient blocking algorithm for gradient of the Cholesky(#384)
* New distribution functions _lpdf / _lpmf / _lcdf / _lccdf to replace _log function (#320)
* Univariate normal distribution on sufficient statistics(#38)
* New to_matrix function for real arrays(real[]) (#467)
* New specialization of stan::math::array_builder for matrix types(#496)
Bug Fixes
--------------------------------------------------
* Fixes to hypergeometric functions(#487)
Other
--------------------------------------------------
* Speedup for categorical_rng(#503)
* Speedup for non-stiff ODE integration(#512)
* Refactor VectorView into scalar_seq_view(#464)
v.2.14.0 (26 December 2016)
======================================================================
Bug Fixes
--------------------------------------------------
* neg_binomial_2_log problem with large values of phi (#463)
Other
--------------------------------------------------
* Remove check_equal() function (#398)
v2.13.0 (25 November 2016)
======================================================================
New Features
--------------------------------------------------
* vectorization of unary functions (#347)
* specialized gradients for cove_exp_quad for amplitude and/or length-scale
parameters and input data (#353)
* math library is consistent with Eigen 3.2.9 and 3.3.0 (#432, #429)
* added choose(n, k) function (#400)
* added bernoulli_logit_rng function (#258)
Bug Fixes
--------------------------------------------------
* beta_rng no longer returns NaN
* fixed memory issue with cholesky_decompose in reverse-mode (#415)
* no more mulitple definitions when including Stan headers in
multiple source files (#394)
* fixed broken _MSC_VER conditionals and remove math.h includes (#370)
Other
--------------------------------------------------
* chi-square test in RNG testing pulled into utility function (#412)
* error check functions are now all void functions (#382)
* remove math.h includes (#277)
* update to Boost 1.62.0 (#435)
v2.12.0 (6 September 2016)
======================================================================
New Features
--------------------------------------------------
* update to Eigen 3.2.9 (#362)
* lots of unary functions vectorized (#202)
* reverse-mode gradients for matrix/matrix multiply,
matrix/vector multiply, and vector/vector multiply
received rewrites and significant speed ups for
large matrices/vectors (#323)
Bug Fixes
--------------------------------------------------
* fixed exception handling with CVODES for g++6 (#348)
* squashed warnings with g++6 (#345)
* enforce symmetry on cov_matrix parameter inverse transform (#342)
* added int overload for log(), exp(), log2(), and log1p() to resolve
ambiguity with g++6 (#327)
* sort_asc and sort_desc check for NaN (#253)
* wiener_log: raise exception for tau >= y (#150)
* stopped printing matrices in check functions (#146)
* added check for positive definiteness in multi_normal_rng (#44)
Other
--------------------------------------------------
* added multi-core to travis builds (#373)
* fixed makefile to recognize N_TESTS (#367)
* updated error message for check_bounded() (#332)
* made the use of stan::math namespace within the math library
more consistent (#331)
* reimplemented integer division (#329)
* added test for multiple translation units (#328)
* updated costs for Eigen::NumTraits (#233)
* worked on getting the Math library working with Eigen 3.3-beta (#187)
v2.11.0 (27 July 2016)
======================================================================
New Features
--------------------------------------------------
* vectorization of a many unary math functions (#202)
Bug Fixes
--------------------------------------------------
* throw exception on integer divide by 0 (#321)
* allow inclusing of Stan headers in multiple translation units (#311)
v2.10.0 (15 June 2016)
======================================================================
New Features
--------------------------------------------------
* append_row and append_col for scalars (stan-dev/stan #1347)
* PYTHON2 property in makefile for 2.x requirement for
cpplint (#300)
* refactored general ODE interface and add CVODES bdf
integrator (#262, #293, #281, #284, #288)
* rename integrate_ode to integrate_ode_rk45 (#292)
* update to Eigen 3.2.8 (#256)
* efficiency improvement in value_of and value_of_rec (#249)
* generalize dependencies in runTests.py (#247)
* untangle include dependencies, add finer headers (#246)
* std::vector version of value_of and value_of_rec (#243)
* doc for is_vector_like and more tests (#241)
* issue and pull-request templates on GitHub (#237)
* top-level includes by shape and autodiff type (#236)
* upgrade to Boost 1.60 (#221)
* unary vectorization infrastructure (#202)
* ODE integrator fails if precision not reachable (#179)
Bug Fixes
--------------------------------------------------
* fix elementwise division argument cast problem with
operator/(matrix, var) not compiling (#290)
* fix QR decomposition segfault for no-square matrices (#286)
* fix off-by-one bug in nested Jacobian autodiff in degenerate
set_zero_all_adjoints_nested() call (#278)
* squash compiler warnings in OperandsAndPartials (#274)
* ifdef out residual Sundials (CVODES) print statements (#257)
* fix binomial coefficient branch to remove integer division and
rounding (#239)
* refine clean-all make target to remove .d files (#234)
* fix Jacobian bug returning transposed result (#230)
* include stdexcept so container_view header compiles (#223)
v2.9.0 (3 December 2015)
======================================================================
New Features
--------------------------------------------------
* Added container_view (#103)
* Improved derivative calculation for beta_cdf (#124)
* Gradients computed for cholesky_decompose (#125)
* Added functions for sparse matrix multiplication (#159)
* Changed the unit_vector transformation (#204)
Bug Fixes
--------------------------------------------------
* Check inputs for cholesky_decompose (#48)
* Fixed documentation for wiener.hpp (#140)
Other
--------------------------------------------------
* Cleaned up couple_ode_system for clarity (#180)
* Additional forward mode specializations (#16, #17)
* Removed unused chaintable base class (#183)
* Updated clang++ compiler options to supress warnings (#197)
* Fixed some unit tests (#199)
* Replaced top-level using statements (#207)
v2.8.0 (8 September 2015)
======================================================================
New Features
--------------------------------------------------
* Added standard normal quantile function (#148)
* Add sparse matrix (csr format) by dense vector multiplication (#127)
* Faster derivative calculation for cholesky (#125)
* Fixes for MSVC 2008 and 2010 (#134)
Bug Fixes
--------------------------------------------------
* Fixed unit test for `mdivide_right_spd` (#153)
* Reduced compiler warnings for sing comparisons for sign functions (#151)
* Fixed gitignore for test directory (#149)
* Better assignment error messages (#146)
v2.7.0 (8 July 2015; first independent release)
======================================================================
First release
--------------------------------------------------
* Previously included as part of Stan
* Release numbering started at release number of Stan
* All work done up to and including the release of Stan Math 2.7.0
is documented under the Stan C++ 2.7.0 release notes