Releases: stan-dev/math
Releases · stan-dev/math
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)
v4.5.0-rc1 (8 November 2022)
Tagging v4.5.0-rc1
v4.4.0 (1 July 2022)
Complex:
- Added fast Fourier transform (FFT) implementations of 1D and 2D discrete Fourier transform and their inverses. (#2686, #2750)
- Added type traits for detecting whether a type has a value type that is complex. (#2694)
- Added vectorized versions of get_real and get_imag. (#2700)
- Vectorized complex
abs(),to_complex. (#2737, #2749)
New functions:
- Added the incomplete beta function inverse. (#2637)
- Added the
wishart_cholesky_lpdf, which is the Cholesky parameterization of the Wishart distribution of both the input matrix and the scale matrix. (#2710) - Added the inverse Wishart Cholesky parameterization
lpdf\lupdfis available along withinv_wishart_cholesky_rng. (#2713) - Added the Cholesky parameterization of the multivariate Student's T distribution. (#2715)
- Added the quantile function of the standard normal density function with log input. (#2744)
Misc:
- Upgraded Sundials to version 6.1.1. (#2692)
- Updated Boost to 1.78.0. (#2725)
- Added namespace qualifiers to
sizeandapplycalls for C++17 compatibility. (#2693) - Enabled address sanitizer and fix it when running inside Docker in Flatiron CI. (#2702)
- Made
arena_allocatorusable for all std containers. (#2708) - Added gradient calculation for the a2 input in stan-math for the
grad_2F1function and fixes incorrect return values whenzis between -1 and 0. (#2721) - Updated the signatures of
eigenvaluesandeigenvectorsto use our pseudo-concept require templates.(#2728) norm1andnorm2were extended with theapply_vector_unaryto accept general std::vectors as well as the Eigen vectors previously supported. (#2742)- Cleaned up compiler warnings for unused variables and non-consistent use of class and struct for ops_partials_edge. (#2757)
- Fixed the check for
yingamma_lpdfso that it now errors if y is not a positive finite value. (#2758) - Improved numerical stability of gamma_lcdf gradients (#2767)
v4.4.0-rc1 (21 June 2022)
Tagging v4.4.0-rc1
v4.3.2 (25 March 2022)
- Fixed template error for fma with matrix inputs.
- Fixed bug that did not allow for
var<Matrix>types with different compile-time rows/cols to be assigned to one another.
v4.3.1 (2 March 2022)
- Fixed a bug with to_matrix(row_vector) and to_matrix(vector) that cause compile-time issues when the result was not stored in a temporary variable.
v4.3.0 (14 February 2022)
- Changed constants to
static constexprfor efficiency, added Euler's Gamma constant. (#2478) - Added lmultiply function that parallels multiply_log so that the language doesn't have to rename. (#2596)
- Cleaned up tests to include <CL/opencl.hpp> instead of <CL/cl2.hpp>. (#2610)
- Added missing implementations of that shadow the signatures of math functions in the
std::namespace. (#2612) - Bugfix for the bug where 2x2 matrix exponential function outputs NaN for matrices with large eigenvalues. (#2616)
- Add compiler flag
-D_BOOST_LGAMMAto allow users to force use of Boostlgammaimplementation. (#2618) - More informative error messages for ODE solvers. (#2620)
- Force linker to respect rpath set at compile time. (#2627)
- Upgraded Sundials to 6.0.0. (#2629)
- Added
norm1()andnorm2(). (#2636) - Add missing
von_mises_cdf_logandvon_mises_ccdf_logsignatures. (#2640) - Refactored the DAE solver.(#2644)
- Added the inverse of the complementary error function -
inv_erfc(). (#2645) - Updated member functions for accessing tangents in scalar
fvartypes. (#2652) - Added support for the new matrix type for GLM functions. (#2655)