Esempio n. 1
0
 inline
 Eigen::Matrix<T, 1, Eigen::Dynamic>
 tail(const Eigen::Matrix<T, 1, Eigen::Dynamic>& rv,
      size_t n) {
   if (n != 0)
     check_column_index("tail", "n", rv, n);
   return rv.tail(n);
 }
Esempio n. 2
0
 inline
 Eigen::Matrix<T,1,Eigen::Dynamic>
 tail(const Eigen::Matrix<T,1,Eigen::Dynamic>& rv,
      size_t n) {
   if (n != 0)
     stan::math::check_column_index("tail(%1%)",n,rv,"n",(double*)0);
   return rv.tail(n);
 }
Esempio n. 3
0
 inline
 Eigen::Matrix<T, Eigen::Dynamic, 1>
 tail(const Eigen::Matrix<T, Eigen::Dynamic, 1>& v,
      size_t n) {
   if (n != 0)
     check_row_index("tail", "n", v, n);
   return v.tail(n);
 }
Esempio n. 4
0
 inline
 Eigen::Matrix<T,1,Eigen::Dynamic>
 tail(const Eigen::Matrix<T,1,Eigen::Dynamic>& rv,
      size_t n) {
   if (n != 0)
     validate_column_index(rv, rv.size() - n + 1, "tail");
   return rv.tail(n);
 }
Esempio n. 5
0
 inline
 Eigen::Matrix<T,Eigen::Dynamic,1>
 tail(const Eigen::Matrix<T,Eigen::Dynamic,1>& v,
      size_t n) {
   if (n != 0)
     stan::math::check_row_index("tail(%1%)",n,v,"n",(double*)0);
   return v.tail(n);
 }
Esempio n. 6
0
 inline
 Eigen::Matrix<T,Eigen::Dynamic,1>
 tail(const Eigen::Matrix<T,Eigen::Dynamic,1>& v,
      size_t n) {
   if (n != 0)
     validate_row_index(v, v.size() - n + 1, "tail");
   return v.tail(n);
 }
Esempio n. 7
0
 void rootBounds( double &lb, double &ub )
 {
     Eigen::Matrix<double,deg,1> mycoef = coef.tail(deg).array().abs();
     mycoef /= fabs(coef(0));
     mycoef(0) += 1.;
     ub = mycoef.maxCoeff();
     lb = -ub;
 }
Esempio n. 8
0
void cholesky_update (Eigen::Matrix<double, N, N>& L, Eigen::Matrix<double, N, 1> v) {

	Eigen::JacobiRotation<double> rot;

	for (int i = 0; i < N; ++i) {
		rot.makeGivens(L(i,i), -v(i), &L(i,i)), v(i) = 0;
		if (i < N-1) apply_jacobi_rotation(L.col(i).tail(N-i-1), v.tail(N-i-1), rot);
	}
}
Esempio n. 9
0
 void realRoots(std::vector<double> &roots) const
 {
     if ( coef[0] == 0 )
     {
         Internal::RootFinder<deg-1>::compute(coef.tail(deg),roots);
     } else {
         Internal::RootFinder<deg>::compute(coef,roots);
     }
 }
Esempio n. 10
0
 void realRootsSturm(const double lb, const double ub, std::vector<double> &roots) const
 {
     if ( coef[0] == 0 )
     {
         Internal::SturmRootFinder<deg-1> sturm( coef.tail(deg) );
         sturm.realRoots( lb, ub, roots );
     } else {
         Internal::SturmRootFinder<deg> sturm( coef );
         sturm.realRoots( lb, ub, roots );
     }
 }