GNU Scientific Library Reference Manual - Third Edition (v1.12)by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. Rossi Paperback (6"x9"), 592 pages, 60 figures ISBN 0954612078 RRP £24.95 ($39.95) |

### 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 returns 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`

.

ISBN 0954612078 | GNU Scientific Library Reference Manual - Third Edition (v1.12) | See the print edition |