Stan Math Library: stan/math/prim/mat/fun/read_cov_matrix.hpp Source File

| Stan Math Library 2.10.0 reverse mode automatic differentiation

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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
4 #include <stan/math/prim/mat/fun/read_cov_L.hpp>
5 #include <stan/math/prim/mat/fun/multiply_lower_tri_self_transpose.hpp>
6 #include <stan/math/prim/mat/fun/Eigen.hpp>
7
8 namespace stan {
9
10 namespace math {
11
21 template <typename T>
22 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>
23 read_cov_matrix(const Eigen::Array<T, Eigen::Dynamic, 1>& CPCs,
24 const Eigen::Array<T, Eigen::Dynamic, 1>& sds,
25 T& log_prob) {
26 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> L
27 = read_cov_L(CPCs, sds, log_prob);
28 using stan::math::multiply_lower_tri_self_transpose;
29 return multiply_lower_tri_self_transpose(L);
30 }
31
39 template<typename T>
40 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>
41 read_cov_matrix(const Eigen::Array<T, Eigen::Dynamic, 1>& CPCs,
42 const Eigen::Array<T, Eigen::Dynamic, 1>& sds) {
43 size_t K = sds.rows();
44 Eigen::DiagonalMatrix<T, Eigen::Dynamic> D(K);
45 D.diagonal() = sds;
46 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> L
47 = D * read_corr_L(CPCs, K);
48 using stan::math::multiply_lower_tri_self_transpose;
49 return multiply_lower_tri_self_transpose(L);
50 }
51
52 }
53
54 }
55
56 #endif
stan::math::read_cov_matrix
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...
Definition: read_cov_matrix.hpp:23
multiply_lower_tri_self_transpose.hpp
stan::math::read_cov_L
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:23
stan
Definition: log_sum_exp.hpp:8
stan::math::multiply_lower_tri_self_transpose
Eigen::Matrix< fvar< T >, R, R > multiply_lower_tri_self_transpose(const Eigen::Matrix< fvar< T >, R, C > &m)
Definition: multiply_lower_tri_self_transpose.hpp:17
read_cov_L.hpp
Eigen.hpp
stan::math::read_corr_L
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:41

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