Stan Math Library  2.12.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>
22  read_cov_matrix(const Eigen::Array<T, Eigen::Dynamic, 1>& CPCs,
23  const Eigen::Array<T, Eigen::Dynamic, 1>& sds,
24  T& log_prob) {
25  Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> L
26  = read_cov_L(CPCs, sds, log_prob);
28  }
29 
37  template<typename T>
38  Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>
39  read_cov_matrix(const Eigen::Array<T, Eigen::Dynamic, 1>& CPCs,
40  const Eigen::Array<T, Eigen::Dynamic, 1>& sds) {
41  size_t K = sds.rows();
42  Eigen::DiagonalMatrix<T, Eigen::Dynamic> D(K);
43  D.diagonal() = sds;
44  Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> L
45  = D * read_corr_L(CPCs, K);
47  }
48 
49  }
50 
51 }
52 
53 #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:22
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, const size_t K)
Return the Cholesky factor of the correlation matrix of the specified dimensionality corresponding to...
Definition: read_corr_L.hpp:37

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