1 #ifndef __STAN__MATH__MATRIX_CPP__
2 #define __STAN__MATH__MATRIX_CPP__
13 return m.determinant();
73 for (
int i = 0; i < v1.size(); ++i)
74 prod(i) = v1(i) * v2(i);
81 for (
int i = 0; i < v1.size(); ++i)
82 prod(i) = v1(i) * v2(i);
89 for (
int j = 0; j < m1.cols(); ++j)
90 for (
int i = 0; i < m1.rows(); ++i)
91 prod(i,j) = m1(i,j) * m2(i,j);
98 for (
int i = 0; i < v1.size(); ++i)
99 prod(i) = v1(i) / v2(i);
106 for (
int i = 0; i < v1.size(); ++i)
107 prod(i) = v1(i) / v2(i);
114 for (
int j = 0; j < m2.cols(); ++j)
115 for (
int i = 0; i < m1.rows(); ++i)
116 prod(i,j) = m1(i,j) / m2(i,j);
159 return v.asDiagonal();
163 return v.transpose();
167 return rv.transpose();
171 return m.transpose();
183 softmax<vector_d,double>(x,theta);
190 Eigen::EigenSolver<matrix_d> solver(m,
false);
192 return solver.eigenvalues().real();
198 Eigen::EigenSolver<matrix_d> solver(m);
199 return solver.eigenvectors().real();
205 Eigen::EigenSolver<matrix_d> solver(m);
206 eigenvalues = solver.eigenvalues().real();
207 eigenvectors = solver.eigenvectors().real();
214 Eigen::SelfAdjointEigenSolver<matrix_d> solver(m,Eigen::EigenvaluesOnly);
215 return solver.eigenvalues().real();
221 Eigen::SelfAdjointEigenSolver<matrix_d> solver(m);
222 return solver.eigenvectors().real();
228 Eigen::SelfAdjointEigenSolver<matrix_d> solver(m);
229 eigenvalues = solver.eigenvalues().real();
230 eigenvectors = solver.eigenvectors().real();
235 Eigen::LLT<matrix_d> llt(m.rows());
237 return llt.matrixL();
241 Eigen::JacobiSVD<matrix_d>
svd(m);
242 return svd.singularValues();
246 static const unsigned int THIN_SVD_OPTIONS
247 = Eigen::ComputeThinU | Eigen::ComputeThinV;
248 Eigen::JacobiSVD<matrix_d>
svd(m, THIN_SVD_OPTIONS);
251 s = svd.singularValues();