1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
@cindex sparse BLAS
@cindex BLAS, sparse
The Sparse Basic Linear Algebra Subprograms (@sc{blas}) define a set of
fundamental operations on vectors and sparse matrices which can be used
to create optimized higher-level linear algebra functionality.
GSL supports a limited number of BLAS operations for sparse matrices.
@noindent
The header file @file{gsl_spblas.h} contains the prototypes for the
sparse BLAS functions and related declarations.
@menu
* Sparse BLAS operations::
* Sparse BLAS References and Further Reading::
@end menu
@node Sparse BLAS operations
@section Sparse BLAS operations
@cindex sparse matrices, BLAS operations
@deftypefun int gsl_spblas_dgemv (const CBLAS_TRANSPOSE_t TransA, const double @var{alpha}, const gsl_spmatrix * @var{A}, const gsl_vector * @var{x}, const double @var{beta}, gsl_vector * @var{y})
This function computes the matrix-vector product and sum
@math{y \leftarrow \alpha op(A) x + \beta y}, where
@math{op(A) = A}, @math{A^T} for @var{TransA} = @code{CblasNoTrans},
@code{CblasTrans}. In-place computations are not supported, so
@var{x} and @var{y} must be distinct vectors.
The matrix @var{A} may be in triplet or compressed format.
@end deftypefun
@deftypefun int gsl_spblas_dgemm (const double @var{alpha}, const gsl_spmatrix * @var{A}, const gsl_spmatrix * @var{B}, gsl_spmatrix * @var{C})
This function computes the sparse matrix-matrix product
@math{C = \alpha A B}. The matrices must be in compressed format.
@end deftypefun
@node Sparse BLAS References and Further Reading
@section References and Further Reading
@cindex sparse matrices, references
The algorithms used by these functions are described in the
following sources:
@itemize @w{}
@item
T. A. Davis, Direct Methods for Sparse Linear Systems, SIAM, 2006.
@item
CSparse software library, @uref{https://www.cise.ufl.edu/research/sparse/CSparse}
@end itemize
|