Releases: stan-dev/math
Releases · stan-dev/math
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_nan
to compile under the Microsoft compiler suite. (#2870) - Fixed
csr_to_dense_matrix
to work in case of matrix with empty first row. (#2877) - Fixed a bug where
eigenvalues_sym
would return a matrix with a dynamic number of rows equal to 1, rather than a vector. (#2884) - Updated
eigenvalues_sym
return 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
double
andstd::vector<double>
types toint
andstd::vector<int>
types(#2771) - Added
hypergeometric_2F1
function. (#2792) - Fix bug with vectorised
pow()
incorrectly forcingEigen::Matrix
return instead ofEigen::Array
. (#2793) - Exposed the
hypergeometric_3F2
function and improved its numerical stability. (#2797) - Fixed incorrect return from
log_inv_logit_diff
with positive infinity first argument. (#2798) - Added reverse-mode specializations for
fft2
andinv_fft2
. (#2800) - Removed the cause of the out-of-order initializer compiler warning.(#2808)
- Vectorized
atan2()
.(#2812) - Added
complex_schur_decompose_t
andcomplex_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_signed
function for computinglog_sum_exp
while respecting signs of arguments and tracking the sign of the result. (#2829) stan_print
can now print std::tuple types. (#2835)stan::math::minus
can 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\lupdf
is 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
size
andapply
calls for C++17 compatibility. (#2693) - Enabled address sanitizer and fix it when running inside Docker in Flatiron CI. (#2702)
- Made
arena_allocator
usable for all std containers. (#2708) - Added gradient calculation for the a2 input in stan-math for the
grad_2F1
function and fixes incorrect return values whenz
is between -1 and 0. (#2721) - Updated the signatures of
eigenvalues
andeigenvectors
to use our pseudo-concept require templates.(#2728) norm1
andnorm2
were extended with theapply_vector_unary
to 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
y
ingamma_lpdf
so 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 constexpr
for 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_LGAMMA
to allow users to force use of Boostlgamma
implementation. (#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_log
andvon_mises_ccdf_log
signatures. (#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
fvar
types. (#2652) - Added support for the new matrix type for GLM functions. (#2655)
v4.3.0-rc1 (31 January 2022)
Tagging v4.3.0-rc1