Stan Math Library  2.20.0
reverse mode automatic differentiation
read_cov_matrix.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_PRIM_MAT_FUN_READ_COV_MATRIX_HPP
2 #define STAN_MATH_PRIM_MAT_FUN_READ_COV_MATRIX_HPP
3 
7 
8 namespace stan {
9 namespace math {
10 
20 template <typename T>
21 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> read_cov_matrix(
22  const Eigen::Array<T, Eigen::Dynamic, 1>& CPCs,
23  const Eigen::Array<T, Eigen::Dynamic, 1>& sds, T& log_prob) {
24  Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> L
25  = read_cov_L(CPCs, sds, log_prob);
27 }
28 
36 template <typename T>
37 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> read_cov_matrix(
38  const Eigen::Array<T, Eigen::Dynamic, 1>& CPCs,
39  const Eigen::Array<T, Eigen::Dynamic, 1>& sds) {
40  size_t K = sds.rows();
41  Eigen::DiagonalMatrix<T, Eigen::Dynamic> D(K);
42  D.diagonal() = sds;
43  Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> L = D * read_corr_L(CPCs, K);
45 }
46 
47 } // namespace math
48 
49 } // namespace stan
50 
51 #endif
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > read_cov_matrix(const Eigen::Array< T, Eigen::Dynamic, 1 > &CPCs, const Eigen::Array< T, Eigen::Dynamic, 1 > &sds, T &log_prob)
A generally worse alternative to call prior to evaluating the density of an elliptical distribution...
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< fvar< T >, R, R > multiply_lower_tri_self_transpose(const Eigen::Matrix< fvar< T >, R, C > &m)
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.