Releases: stan-dev/math
Releases · stan-dev/math
v4.8.1 (23 January 2024)
v4.8.0 (16 January 2024)
- 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_lpmfdistribution added (#2946)- Improved numerical stability of Bernoulli CDF functions (#2784)
- Replaced the
std::vectors for read/write events inmatrix_clwithtbb::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_logitdistribution (#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
eigendecomposemix 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_glmdistribution (#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_symmetricfunction 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)
Tagging v4.8.0-rc1
v4.7.0 (5 September 2023)
- Improved accuracy of
matrix_exp_multiply. (#2619) - Added framework for vectorising ternary functions (#2642)
- Added
select()function for vectorised ternary operations, as well as theany()andall()boolean reduction functions (#2853) - Added a minimum number of iterations (5) to the
grad_2f1function 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
eigenvaluesbeing 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_TOLERANCEmacro before including Stan headers. The default value remains1E-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, andcsr_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)
Tagging v4.7.0-rc1
v4.6.2 (15 May 2023)
Fix an issue in Stan, see release notes.
v4.6.1 (2 May 2023)
- Fix an issue when compiling with newer versions of LLVM's libc++ (#2892)
v4.6.0 (20 April 2023)
- Updated to Eigen 3.4 (#2583)
- operands_and_partials expanded to accept 8 parameters. (#2833)
- Added new multidimensional integration routine
hcubature. (#2838) - Added eigenvalues and eigenvectors overloads which accept matrices with complex values. (#2846)
- Allowed Sundials to be linked to separately installed version. (#2861)
- Fixed
is_nanto compile under the Microsoft compiler suite. (#2870) - Fixed
csr_to_dense_matrixto work in case of matrix with empty first row. (#2877) - Fixed a bug where
eigenvalues_symwould return a matrix with a dynamic number of rows equal to 1, rather than a vector. (#2884) - Updated
eigenvalues_symreturn type for RcppEigen compatibility. (#2887) - Various testing improvements. (#2832, #2864, #2869, #2878, #2880)
- Fixed an issue with building TBB on gcc 13. (#2890)
v4.6.0-rc1 (10 April 2023)
Tagging v4.6.0-rc1
v4.5.0 (21 November 2022)
- Added the generalised hypergeometric function. (#2510)
- Added var overloads for
pow(),owens_t(),log_inv_logit. (#2546, #2787, #2806) - Add tuple overload and cleanup code for promote_scalar. (#2706)
- New gradient function allows evaluated gradient to be stored into an array, enabling memory reuse when stan/math called via a FFI. (#2743)
- Added function for casting
doubleandstd::vector<double>types tointandstd::vector<int>types(#2771) - Added
hypergeometric_2F1function. (#2792) - Fix bug with vectorised
pow()incorrectly forcingEigen::Matrixreturn instead ofEigen::Array. (#2793) - Exposed the
hypergeometric_3F2function and improved its numerical stability. (#2797) - Fixed incorrect return from
log_inv_logit_diffwith positive infinity first argument. (#2798) - Added reverse-mode specializations for
fft2andinv_fft2. (#2800) - Removed the cause of the out-of-order initializer compiler warning.(#2808)
- Vectorized
atan2().(#2812) - Added
complex_schur_decompose_tandcomplex_schur_decompose_u.(#2814) - Vectroized the
conj()function. (#2817) - Stan's algebraic solvers now support variadic arguments. (#2820)
- Fixed forward mode autodiff for FFT functions. (#2821)
- Added
log_sum_exp_signedfunction for computinglog_sum_expwhile respecting signs of arguments and tracking the sign of the result. (#2829) stan_printcan now print std::tuple types. (#2835)stan::math::minuscan now acceptstd::vector. (#2840)