Stan Math Library  2.20.0
reverse mode automatic differentiation
read_cov_L.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_PRIM_MAT_FUN_READ_COV_L_HPP
2 #define STAN_MATH_PRIM_MAT_FUN_READ_COV_L_HPP
3 
6 
7 namespace stan {
8 namespace math {
9 
20 template <typename T>
21 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> read_cov_L(
22  const Eigen::Array<T, Eigen::Dynamic, 1>& CPCs,
23  const Eigen::Array<T, Eigen::Dynamic, 1>& sds, T& log_prob) {
24  size_t K = sds.rows();
25  // adjust due to transformation from correlations to covariances
26  log_prob += (sds.log().sum() + LOG_2) * K;
27  return sds.matrix().asDiagonal() * read_corr_L(CPCs, K, log_prob);
28 }
29 
30 } // namespace math
31 } // namespace stan
32 #endif
const double LOG_2
The natural logarithm of 2, .
Definition: constants.hpp:37
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > read_cov_L(const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, const Eigen::Array< T, Eigen::Dynamic, 1 > &sds, T &log_prob)
This is the function that should be called prior to evaluating the density of any elliptical distribu...
Definition: read_cov_L.hpp:21
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > read_corr_L(const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, size_t K)
Return the Cholesky factor of the correlation matrix of the specified dimensionality corresponding to...
Definition: read_corr_L.hpp:35

     [ Stan Home Page ] © 2011–2018, Stan Development Team.