Automatic Differentiation
 
Loading...
Searching...
No Matches
sub_col.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_FUN_SUB_COL_HPP
2#define STAN_MATH_PRIM_FUN_SUB_COL_HPP
3
6
7namespace stan {
8namespace math {
9
20template <
21 typename T, require_matrix_t<T>* = nullptr,
22 require_all_not_nonscalar_prim_or_rev_kernel_expression_t<T>* = nullptr>
23inline auto sub_col(const T& m, size_t i, size_t j, size_t nrows) {
24 check_row_index("sub_col", "i", m, i);
25 if (nrows > 0) {
26 check_row_index("sub_col", "i+nrows-1", m, i + nrows - 1);
27 }
28 check_column_index("sub_col", "j", m, j);
29 return m.col(j - 1).segment(i - 1, nrows);
30}
31
32} // namespace math
33} // namespace stan
34
35#endif
void check_row_index(const char *function, const char *name, const T_y &y, size_t i)
Check if the specified index is a valid row of the matrix This check is 1-indexed by default.
void check_column_index(const char *function, const char *name, const T_y &y, size_t i)
Check if the specified index is a valid column of the matrix.
auto sub_col(T_x &&x, size_t i, size_t j, size_t nrows)
Return a 1 x ncols subrow starting at (i-1, j-1).
Definition sub_col.hpp:23
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...