Skip to content

Releases: stan-dev/math

v4.6.0 (20 April 2023)

20 Apr 17:12
Compare
Choose a tag to compare
  • 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)

10 Apr 15:17
Compare
Choose a tag to compare
Pre-release
Tagging v4.6.0-rc1

v4.5.0 (21 November 2022)

21 Nov 16:09
Compare
Choose a tag to compare
  • 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 and std::vector<double> types to int and std::vector<int> types(#2771)
  • Added hypergeometric_2F1 function. (#2792)
  • Fix bug with vectorised pow() incorrectly forcing Eigen::Matrix return instead of Eigen::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 and inv_fft2. (#2800)
  • Removed the cause of the out-of-order initializer compiler warning.(#2808)
  • Vectorized atan2().(#2812)
  • Added complex_schur_decompose_t and complex_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 computing log_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 accept std::vector. (#2840)

v4.5.0-rc1 (8 November 2022)

08 Nov 09:55
Compare
Choose a tag to compare
Pre-release
Tagging v4.5.0-rc1

v4.4.0 (1 July 2022)

01 Jul 14:43
Compare
Choose a tag to compare

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 with inv_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 and apply 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 when z is between -1 and 0. (#2721)
  • Updated the signatures of eigenvalues and eigenvectors to use our pseudo-concept require templates.(#2728)
  • norm1 and norm2 were extended with the apply_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 in gamma_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)

21 Jun 16:52
882cd22
Compare
Choose a tag to compare
Pre-release
Tagging v4.4.0-rc1

v4.3.2 (25 March 2022)

25 Mar 08:20
Compare
Choose a tag to compare
  • 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)

02 Mar 13:45
Compare
Choose a tag to compare
  • 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)

14 Feb 14:37
Compare
Choose a tag to compare
  • 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 Boost lgamma 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() and norm2(). (#2636)
  • Add missing von_mises_cdf_log and von_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)

31 Jan 09:46
5fd79f8
Compare
Choose a tag to compare
Pre-release
Tagging v4.3.0-rc1