Skip to content

Releases: stan-dev/math

v4.9.0 (3 June 2024)

03 Jun 15:02
Compare
Choose a tag to compare
  • Stan now detects if your compiler supports C++17 and will issue a warning if it is not available. Support for pre-C++17 compilers may be removed as early as next version. (#3063)
  • Added a new distribution: wiener_full_lpdf. (#2822)
  • Replaced static const objects with static constexpr when available. (#2830)
  • Gradients for the hypergeometric_pFq function rewritten for increased speed and stability. (#2961)
  • Added the Hypergeometric 1F0 function and gradients. (#2962)
  • Removed macro usage in the definitions of the require_ templates. (#2965)
  • Added a sparse matrix implimentation for arena_matrix. (#2971)
  • Added hand-calculated derivatives for the multivariate normal lpdf. (#2980)
  • Added derivatives for the multi_student_t_cholesky_lpdf. (#2990)
  • Added constrain function for creating matrices holding row or column simplexes. (#2992)
  • Updated TBB Windows build rules for compatibility with RTools make. (#2999)
  • Improved efficiency of von_mises_lpdf gradient calculation, credit to @venpopov. (#3010)
  • Fixed a few additional issues in checking the inputs to distributions defined over cholesky matrices. (#3012)
  • Functions which are wrappers around CVODES and IDAS routines from Sundials now throw domain_error, rather than a mix of domain_error and runtime_error. (#3013)
  • Fixed the stack_allocator being able to return non-8-byte aligned pointers. (#3014)
  • Upgrade bundled Boost headers to 1.84. (#3001, #3018, #3019)
  • Fixed a bug where linspaced_array was returning its results truncated to integers. (#3023)
  • Fixed the return type of max(int, int) being a double. (#3024)
  • Added 'override' to built-in make variables. (#3028)
  • Maded sqrt(x) have a finite gradient at x=0. Allows distance(x,y) to work for x=y too. (#3033)
  • Improved stability of the von_mises_lpdf function to avoid numeric overflow. Now it's no longer necessary to use the normal_lpdf for kappa>100, allowing vectorizing of the likelihood. (#3036)
  • Updated the weibull_cdf and weibull_lcdf functions for numerical stability as well as correct handling of y == 0.0. (#3037)
  • Improved speed of inv_Phi and std_normal_qf functions. (#3046)
  • Fixed spurious linker issue with csr_matrix_times_vector. (#3048, #3053)
  • Improved error messages when variables dimensions do not match in operations that require it. (#3049)
  • Added support for Windows ARM64 with RTools ARM64 toolchain. (#3051)
  • Fixed clean-all error when using external SUNDIALS libraries. (#3054)
  • Fixed several small floating-point accuracy issues with ARM64 platforms. (#3059)
  • The RNGs for the multinomial and multinomial_logit distributions now accept a zero total count, resulting in a zero integer vector. (#3061)
  • Fixed a data race in profiling in multiple threads. (#3066)
  • Backported SUNDIALS bugfix for hashmap integer overflow. (#3072)

v4.9.0-rc2 (23 May 2024)

23 May 09:39
ce63b87
Compare
Choose a tag to compare
Pre-release
Tagging v4.9.0-rc2

v4.9.0-rc1 (13 May 2024)

13 May 11:42
Compare
Choose a tag to compare
Pre-release
Tagging v4.9.0-rc1

v4.8.1 (23 January 2024)

23 Jan 12:55
Compare
Choose a tag to compare
  • The distributions defined over cholesky factors now check that their arguments are in support (#3007)
  • Fixed an issue with the inv_wishart_cholesky_rng function (#3007)

v4.8.0 (16 January 2024)

16 Jan 12:28
Compare
Choose a tag to compare
  • Updated Boost headers to v1.81 (#2955)
  • Added the Dirichlet-Multinomial distribution to the Stan Math library (dirichlet_multinomial_lpmf, dirichlet_multinomial_log, and dirichlet_multinomial_rng). (#2979)
  • binomial_logit_glm_lpmf distribution added (#2946)
  • Improved numerical stability of Bernoulli CDF functions (#2784)
  • Replaced the std::vectors for read/write events in matrix_cl with tbb::concurrent_vectors (#2905)
  • Added framework for generic higher-order autodiff support through finite-differences. (#2929)
  • Minor cleanup of numerical stability, constants, compound functions in OpenCL kernels (#2934)
  • Fixes aliasing issue in adjoint acccumulation for OpenCL (#2943)
  • Improve numerical stability of binomial_logit distribution (#2945)
  • Automatically detect UCRT toolchain use on Windows (#2948)
  • Update multiple functions to delegate to the compound functions (log1p_exp, etc.) where possible (#2950)
  • Fixed the RPATH to the TBB library being passed twice on the command line (#2952)
  • Split eigendecompose mix tests to fix CI memory issues (#2953)
  • Fix distribution test failures with row-vector integer inputs to bernoulli CDF functions (#2954)
  • Simplified usage of ref-type deduction (#2958)
  • Added OpenCL support for the binomial_logit_glm distribution (#2960)
  • Fixed a build configuration issue where the optional tbbmalloc and tbbmalloc_proxy libraries were built unconditionally. (#2969)
  • Remove unused meta requires (#2976)
  • Bugfix for uninitialized var_value<Matrix> types and assignment when the rhs of the assignment is an expression (#2978)
  • Invert the input matrix in-place which reduces the memory requirement for this function. (#2981)
  • Fixes the rng function for the Inverse Wishart Cholesky distribution. (#2984)
  • Fixed a compilation issue with the check_symmetric function on complex-valued inputs under LLVM 17 (#2991)
  • Fixed missing include guard for OpenCL rev headers (#2996)
  • Add helpful context to the failure message for the ad testing framework (#2997)

v4.8.0-rc1 (8 January 2024)

08 Jan 19:52
Compare
Choose a tag to compare
Pre-release
Tagging v4.8.0-rc1

v4.7.0 (5 September 2023)

05 Sep 13:45
Compare
Choose a tag to compare
  • Improved accuracy of matrix_exp_multiply. (#2619)
  • Added framework for vectorising ternary functions (#2642)
  • Added select() function for vectorised ternary operations, as well as the any() and all() boolean reduction functions (#2853)
  • Added a minimum number of iterations (5) to the grad_2f1 function to avoid early convergence (#2858)
  • Fixed some spelling errors in documentation (#2908)
  • Added new function in stan::math::internal, finite_diff_hessian_vector_product_auto (#2914)
  • Fixed an issue with the return type of eigenvalues being incorrect (#2915)
  • Delete jquery files from vendored Boost documentation (#2916)
  • Fixed fvar/higher-order autodiff compatibility with GLM distributions (#2917)
  • Fixed a type issue in the tests for inv_wishart_cholesky. (#2920)
  • The constraint tolerance can now be adjusted by defining the STAN_MATH_CONSTRAINT_TOLERANCE macro before including Stan headers. The default value remains 1E-8. (#2921)
  • Use -dumpfullversion if available in makefiles (#2922)
  • Vectorised binary signature for log_sum_exp (#2930)
  • Added new functions qr_thin, eigendecompose_sym, eigendecompose, complex_schur_decompose, svd, and csr_extract. Each of these is equivalent to calling several existing functions, but should be more efficient due to sharing work. For example, svd(m) is equivalent to (svd_U(m), singular_values(m), svd_V(m)). (#2931)

v4.7.0-rc1 (22 August 2023)

22 Aug 11:50
Compare
Choose a tag to compare
Pre-release
Tagging v4.7.0-rc1

v4.6.2 (15 May 2023)

15 May 19:59
Compare
Choose a tag to compare

Fix an issue in Stan, see release notes.

v4.6.1 (2 May 2023)

02 May 12:09
Compare
Choose a tag to compare
  • Fix an issue when compiling with newer versions of LLVM's libc++ (#2892)