The Stan Math Library is a C++ template library for automatic differentiation of any order using forward, reverse, and mixed modes. It includes a range of built-in functions for probabilistic modeling, linear algebra, and equation solving.
pow()
, owens_t()
, log_inv_logit
. (#2546, #2787, #2806)double
and std::vector<double>
types to int
and std::vector<int>
types(#2771)hypergeometric_2F1
function. (#2792)pow()
incorrectly forcing Eigen::Matrix
return instead of Eigen::Array
. (#2793)hypergeometric_3F2
function and improved its numerical stability. (#2797)log_inv_logit_diff
with positive infinity first argument. (#2798)fft2
and inv_fft2
. (#2800)atan2()
.(#2812)complex_schur_decompose_t
and complex_schur_decompose_u
.(#2814)conj()
function. (#2817)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)Complex:
abs()
, to_complex
. (#2737, #2749)New functions:
wishart_cholesky_lpdf
, which is the Cholesky parameterization of the Wishart distribution of both the input matrix and the scale matrix. (#2710)lpdf\lupdf
is available along with inv_wishart_cholesky_rng
. (#2713)Misc:
size
and apply
calls for C++17 compatibility. (#2693)arena_allocator
usable for all std containers. (#2708)grad_2F1
function and fixes incorrect return values when z
is between -1 and 0. (#2721)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)y
in gamma_lpdf
so that it now errors if y is not a positive finite value. (#2758)var<Matrix>
types with different compile-time rows/cols to be assigned to one another.static constexpr
for efficiency, added Euler's Gamma constant. (#2478)std::
namespace. (#2612)-D_BOOST_LGAMMA
to allow users to force use of Boost lgamma
implementation. (#2618)norm1()
and norm2()
. (#2636)von_mises_cdf_log
and von_mises_ccdf_log
signatures. (#2640)inv_erfc()
. (#2645)fvar
types. (#2652)Miscellaneous:
algebra_solver_powell_impl
and algebra_solver_newton_impl
). (#2421)Varmat:
var<Matrix>
overloads for append_row()
, append_col()
, rep_vector()
, rep_row_vector()
, to_vector()
, divide()
. (#2484, #2487, #2521, #2557)var<Matrix>
as well as division.(#2527)var<Matrix>
matrix types(#2535)Complex:
OpenCL:
qr_Q
, qr_R
, qr_thin_Q
, qr_thin_R
. (#2479)block
, eigenvalues_sym
, eigenvectors_sym
. (#2479, #2512)cumulative_sum
. (#2483)identity_matrix
unusable. (#2499)arena_matrix_cl
into matrix_cl
. Before this PR such a conversion invoked kernel generator and made a copy of data. Now only references to data are updated.(#2538)sort_asc
and sort_desc
).(#2550)matrix_cl
.(#2553)