The Basic Linear Algebra Subprograms (blas) define a set of
fundamental operations on vectors and matrices which can be used
to create optimized higher-level linear algebra functionality.
The library provides a low-level layer which corresponds
directly to the C-language blas standard, referred to here as
“cblas”, and a higher-level interface for operations on GSL
vectors and matrices. Users who are interested in simple
operations on GSL vector and matrix objects should use the high-
level layer described in this chapter. The functions are
declared in the file gsl_blas.h and should satisfy the needs of
most users. Note that GSL matrices are implemented using dense-
storage so the interface only includes the corresponding dense-
storage blas functions. The full blas functionality for band-
format and packed-format matrices is available through the low-
level cblas interface. Similarly, GSL vectors are restricted to
positive strides, whereas the low-level cblas interface supports
negative strides as specified in the