Stan  1.3
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros Pages
rep_matrix.hpp
Go to the documentation of this file.
1 #ifndef __STAN__MATH__REP_MATRIX_HPP__
2 #define __STAN__MATH__REP_MATRIX_HPP__
3 
4 #include <stdexcept>
5 #include <vector>
6 
8 
10 
11 namespace stan {
12 
13  namespace math {
14 
15  template <typename T>
16  inline Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic>
17  rep_matrix(const T& x, int m, int n) {
18  validate_non_negative_rep(m,"rep_matrix rows");
19  validate_non_negative_rep(n,"rep_matrix cols");
20  return Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic>::Constant(m,n,x);
21  }
22 
23  template <typename T>
24  inline Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic>
25  rep_matrix(const Eigen::Matrix<T,Eigen::Dynamic,1>& v, int n) {
26  validate_non_negative_rep(n,"rep_matrix of vector, num rows");
27  Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic> result(v.size(),n);
28  result.colwise() = v;
29  return result;
30  }
31 
32  template <typename T>
33  inline Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic>
34  rep_matrix(const Eigen::Matrix<T,1,Eigen::Dynamic>& rv, int m) {
35  validate_non_negative_rep(m,"rep_matrix of row vector, num cols");
36  Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic> result(m,rv.size());
37  result.rowwise() = rv;
38  return result;
39  }
40  }
41 }
42 
43 #endif

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