Skip to content

Releases: stan-dev/math

v2.18.1 - Fixes major threading bug in 2.18.0!

24 Dec 19:31
Compare
Choose a tag to compare

v.2.18.1 (22 December 2018)

Bugfix release - fixes 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)

v2.18.0 **Contains threading bug with map_rect**

13 Jul 15:40
Compare
Choose a tag to compare

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)

v2.17.1

11 Dec 17:35
Compare
Choose a tag to compare

Bug Fixes

  • Fix performance regression in 2.17.0 (#667)

v2.17.0

06 Sep 02:57
Compare
Choose a tag to compare

v.2.17.0 (05 September 2017)

New Features

Other

v2.16.0

15 Jun 18:15
Compare
Choose a tag to compare

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

v2.15.0

13 Apr 19:21
Compare
Choose a tag to compare

v.2.15.0 (13 April 2017)

New Features

  • Efficient blocking algorithm for gradient of the Cholesky (#384)
  • 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)
  • Deprecate _log distribution functions; use _lpdf / _lpmf / _lcdf / _lccdf (#320)

v2.14.0

26 Dec 20:22
Compare
Choose a tag to compare

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 Nov 15:42
Compare
Choose a tag to compare

v2.13.0 (25 November 2016)

New Features

  • vectorization of unary functions (#347)
  • specialized gradients for cov_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 multiple 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

07 Sep 01:55
Compare
Choose a tag to compare

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 Jul 17:29
Compare
Choose a tag to compare

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)