[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
8.4.2 Accessing matrix elements
The functions for accessing the elements of a matrix use the same range
checking system as vectors. You can turn off range checking by recompiling
your program with the preprocessor definition
GSL_RANGE_CHECK_OFF
.
The elements of the matrix are stored in “C-order”, where the second
index moves continuously through memory. More precisely, the element
accessed by the function gsl_matrix_get(m,i,j)
and
gsl_matrix_set(m,i,j,x)
is
m->data[i * m->tda + j] |
where tda is the physical row-length of the matrix.
- Function: double gsl_matrix_get (const gsl_matrix * m, size_t i, size_t j)
This function returns the (i,j)-th element of a matrix m. If i or j lie outside the allowed range of 0 to n1-1 and 0 to n2-1 then the error handler is invoked and 0 is returned. An inline version of this function is used when
HAVE_INLINE
is defined.
- Function: void gsl_matrix_set (gsl_matrix * m, size_t i, size_t j, double x)
This function sets the value of the (i,j)-th element of a matrix m to x. If i or j lies outside the allowed range of 0 to n1-1 and 0 to n2-1 then the error handler is invoked. An inline version of this function is used when
HAVE_INLINE
is defined.
- Function: double * gsl_matrix_ptr (gsl_matrix * m, size_t i, size_t j)
- Function: const double * gsl_matrix_const_ptr (const gsl_matrix * m, size_t i, size_t j)
These functions return a pointer to the (i,j)-th element of a matrix m. If i or j lie outside the allowed range of 0 to n1-1 and 0 to n2-1 then the error handler is invoked and a null pointer is returned. Inline versions of these functions are used when
HAVE_INLINE
is defined.