ALP User Documentation  0.8.preview
Algebraic Programming User Documentation
Typedefs | Enumerations | Functions
blas_sparse.h File Reference

This is the ALP implementation of a subset of the NIST Sparse BLAS standard. More...

Go to the source code of this file.

Typedefs

typedef void * blas_sparse_matrix
 A sparse matrix. More...
 

Enumerations

enum  blas_order_type
 The supported dense storages. More...
 
enum  blas_trans_type
 The possible transposition types. More...
 

Functions

blas_sparse_matrix BLAS_duscr_begin (const int m, const int n)
 Creates a handle to a new / empty sparse matrix. More...
 
int BLAS_duscr_end (blas_sparse_matrix A)
 Signals that the matrix A can now be finalised – all contents have been added. More...
 
int BLAS_duscr_insert_col (blas_sparse_matrix A, const int j, const int nnz, const double *vals, const int *rows)
 Inserts a column into A. More...
 
int BLAS_duscr_insert_entries (blas_sparse_matrix A, const int nnz, const double *vals, const int *rows, const int *cols)
 Inserts a block of entries into A. More...
 
int BLAS_duscr_insert_entry (blas_sparse_matrix A, const double val, const int row, const int col)
 Inserts a single nonzero entry into A. More...
 
int BLAS_duscr_insert_row (blas_sparse_matrix A, const int i, const int nnz, const double *vals, const int *cols)
 Inserts a row into A. More...
 
int BLAS_dusmm (const enum blas_order_type order, const enum blas_trans_type transa, const int nrhs, const double alpha, const blas_sparse_matrix A, const double *B, const int ldb, const double *C, const int ldc)
 Sparse matrix–dense matrix multiplication. More...
 
int BLAS_dusmv (const enum blas_trans_type transa, const double alpha, const blas_sparse_matrix A, const double *const x, int incx, double *const y, const int incy)
 Sparse matrix–dense vector multiplication. More...
 
int BLAS_usds (blas_sparse_matrix A)
 Frees a given matrix. More...
 
int EXTBLAS_dusm_clear (blas_sparse_matrix A)
 Removes all entries from a finalised sparse matrix. More...
 
int EXTBLAS_dusm_close (const blas_sparse_matrix A)
 Closes a sparse matrix read-out. More...
 
int EXTBLAS_dusm_get (const blas_sparse_matrix A, double *value, int *row, int *col)
 Retrieves a sparse matrix entry. More...
 
int EXTBLAS_dusm_nz (const blas_sparse_matrix A, int *nz)
 Retrieves the number of nonzeroes in a given, finalised, sparse matrix. More...
 
int EXTBLAS_dusm_open (const blas_sparse_matrix A)
 Opens a given sparse matrix for read-out. More...
 
int EXTBLAS_dusmsm (const enum blas_trans_type transa, const double alpha, const blas_sparse_matrix A, const enum blas_trans_type transb, const blas_sparse_matrix B, blas_sparse_matrix C)
 Performs sparse matrix–sparse matrix multiplication. More...
 
int EXTBLAS_dusmsv (const enum blas_trans_type transa, const double alpha, const blas_sparse_matrix A, const extblas_sparse_vector x, extblas_sparse_vector y)
 Performs sparse matrix–sparse vector multiplication. More...
 
int EXTBLAS_free ()
 This function is an implementation-specific extension of SparseBLAS that clears any buffer memory that preceding SparseBLAS operations may have created and used. More...
 

Detailed Description

This is the ALP implementation of a subset of the NIST Sparse BLAS standard.

While the API is standardised, this header makes some implementation-specific extensions.

Author
A. N. Yzelman
Date
2023