Next: , Previous: Matrix views, Up: Matrices


8.4.6 Creating row and column views

In general there are two ways to access an object, by reference or by copying. The functions described in this section create vector views which allow access to a row or column of a matrix by reference. Modifying elements of the view is equivalent to modifying the matrix, since both the vector view and the matrix point to the same memory block.

— Function: gsl_vector_view gsl_matrix_row (gsl_matrix * m, size_t i)
— Function: gsl_vector_const_view gsl_matrix_const_row (const gsl_matrix * m, size_t i)

These functions return a vector view of the i-th row of the matrix m. The data pointer of the new vector is set to null if i is out of range.

The function gsl_vector_const_row is equivalent to gsl_matrix_row but can be used for matrices which are declared const.

— Function: gsl_vector_view gsl_matrix_column (gsl_matrix * m, size_t j)
— Function: gsl_vector_const_view gsl_matrix_const_column (const gsl_matrix * m, size_t j)

These functions return a vector view of the j-th column of the matrix m. The data pointer of the new vector is set to null if j is out of range.

The function gsl_vector_const_column is equivalent to gsl_matrix_column but can be used for matrices which are declared const.

— Function: gsl_vector_view gsl_matrix_subrow (gsl_matrix * m, size_t i, size_t offset, size_t n)
— Function: gsl_vector_const_view gsl_matrix_const_subrow (const gsl_matrix * m, size_t i, size_t offset, size_t n)

These functions return a vector view of the i-th row of the matrix m beginning at offset elements past the first column and containing n elements. The data pointer of the new vector is set to null if i, offset, or n are out of range.

The function gsl_vector_const_subrow is equivalent to gsl_matrix_subrow but can be used for matrices which are declared const.

— Function: gsl_vector_view gsl_matrix_subcolumn (gsl_matrix * m, size_t j, size_t offset, size_t n)
— Function: gsl_vector_const_view gsl_matrix_const_subcolumn (const gsl_matrix * m, size_t j, size_t offset, size_t n)

These functions return a vector view of the j-th column of the matrix m beginning at offset elements past the first row and containing n elements. The data pointer of the new vector is set to null if j, offset, or n are out of range.

The function gsl_vector_const_subcolumn is equivalent to gsl_matrix_subcolumn but can be used for matrices which are declared const.

— Function: gsl_vector_view gsl_matrix_diagonal (gsl_matrix * m)
— Function: gsl_vector_const_view gsl_matrix_const_diagonal (const gsl_matrix * m)

These functions return a vector view of the diagonal of the matrix m. The matrix m is not required to be square. For a rectangular matrix the length of the diagonal is the same as the smaller dimension of the matrix.

The function gsl_matrix_const_diagonal is equivalent to gsl_matrix_diagonal but can be used for matrices which are declared const.

— Function: gsl_vector_view gsl_matrix_subdiagonal (gsl_matrix * m, size_t k)
— Function: gsl_vector_const_view gsl_matrix_const_subdiagonal (const gsl_matrix * m, size_t k)

These functions return a vector view of the k-th subdiagonal of the matrix m. The matrix m is not required to be square. The diagonal of the matrix corresponds to k = 0.

The function gsl_matrix_const_subdiagonal is equivalent to gsl_matrix_subdiagonal but can be used for matrices which are declared const.

— Function: gsl_vector_view gsl_matrix_superdiagonal (gsl_matrix * m, size_t k)
— Function: gsl_vector_const_view gsl_matrix_const_superdiagonal (const gsl_matrix * m, size_t k)

These functions return a vector view of the k-th superdiagonal of the matrix m. The matrix m is not required to be square. The diagonal of the matrix corresponds to k = 0.

The function gsl_matrix_const_superdiagonal is equivalent to gsl_matrix_superdiagonal but can be used for matrices which are declared const.