SpM Handbook 1.2.4
|
Go to the source code of this file.
Functions | |
void | s_spmIntFltSortAsc (void **const pbase, const spm_int_t n) |
Integer routines. | |
void | s_spmIntIntFltSortAsc (void **const pbase, const spm_int_t n) |
Sort 2 arrays simultaneously, the first array is an array of spm_int_t and used as key for sorting. The second array is an array of float. | |
int | s_spmConvertCSC2CSR (spmatrix_t *spm) |
convert a matrix in CSC format to a matrix in CSR format. | |
int | s_spmConvertCSC2IJV (spmatrix_t *spm) |
Convert a matrix in CSC format to a matrix in IJV format. | |
int | s_spmConvertCSR2CSC (spmatrix_t *spm) |
convert a matrix in CSR format to a matrix in CSC format. | |
int | s_spmConvertCSR2IJV (spmatrix_t *spm) |
convert a matrix in CSR format to a matrix in IJV format. | |
int | s_spmConvertIJV2CSC (spmatrix_t *spm) |
convert a matrix in IJV format to a matrix in CSC format. | |
int | s_spmConvertIJV2CSR (spmatrix_t *spm) |
convert a matrix in IJV format to a matrix in CSR format. | |
void | s_spm2dense (const spmatrix_t *spm, float *A) |
Convert a sparse matrix into a dense matrix. | |
int | spm_sspmv (spm_trans_t trans, float alpha, const spmatrix_t *A, const float *x, spm_int_t incx, float beta, float *y, spm_int_t incy) |
compute the matrix-vector product: | |
int | spm_sspmm (spm_side_t side, spm_trans_t transA, spm_trans_t transB, spm_int_t K, float alpha, const spmatrix_t *A, const float *B, spm_int_t ldb, float beta, float *C, spm_int_t ldc) |
Compute a matrix-matrix product. | |
float | s_spmNorm (spm_normtype_t ntype, const spmatrix_t *spm) |
Compute the norm of an spm matrix. | |
float | s_spmNormMat (spm_normtype_t ntype, const spmatrix_t *spm, spm_int_t n, const float *A, spm_int_t lda) |
Compute the norm of a dense matrix that follows the distribution of an spm matrix. | |
void | s_spmSort (spmatrix_t *spm) |
This routine sorts the spm matrix. | |
spm_int_t | s_spmMergeDuplicate (spmatrix_t *spm) |
This routine merge the multiple entries in a sparse matrix by summing their values together. | |
int | s_spmGenRHS (spm_rhstype_t type, int nrhs, const spmatrix_t *spm, void *x, int ldx, void *b, int ldb) |
Generate nrhs right hand side vectors associated to a given matrix to test a problem with a solver. | |
int | s_spmGenMat (spm_rhstype_t type, int nrhs, const spmatrix_t *spm, void *alphaptr, unsigned long long int seed, void *A, int lda) |
Generate nrhs right hand side vectors associated to a given matrix to test a problem with a solver. | |
int | s_spmCheckAxb (spm_fixdbl_t eps, int nrhs, const spmatrix_t *spm, void *x0, int ldx0, void *b, int ldb, const void *x, int ldx) |
Check the backward error, and the forward error if x0 is provided. | |
void | s_spmGatherRHS (int nrhs, const spmatrix_t *spm, const float *x, spm_int_t ldx, int root, float *gx, spm_int_t ldgx) |
Gather all the global C coefficients and store the good ones in local. | |
void | s_spmReduceRHS (int nrhs, const spmatrix_t *spm, float *bglob, spm_int_t ldbg, float *bloc, spm_int_t ldbl) |
Reduce all the global coefficients of a rhs and store the local ones. | |
void | s_spmExtractLocalRHS (int nrhs, const spmatrix_t *spm, const float *bglob, spm_int_t ldbg, float *bloc, spm_int_t ldbl) |
Stores the local values of a global RHS in the local one. | |
void | s_spmPrint (FILE *f, const spmatrix_t *spm) |
Write a spm matrix in a file. | |
void | s_spmPrintRHS (FILE *f, const spmatrix_t *spm, int nrhs, const void *x, spm_int_t ldx) |
Write into a file the vectors associated to a spm. | |
void | s_spmDensePrint (FILE *f, spm_int_t m, spm_int_t n, const float *A, spm_int_t lda) |
Print a dense matrix to the given file. | |
void | s_spmExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out) |
Expand a single dof sparse matrix to a multi-dofs sparse matrix. | |
void | s_spmDofExtend (spmatrix_t *spm) |
Extend a single dof sparse matrix to a multi-dof sparse matrix. | |
void | s_spmScal (const float alpha, spmatrix_t *spm) |
Scal the spm: A = alpha * A. | |
int | s_spmRhsGenRndShm (const spmatrix_t *spm, float scale, spm_int_t n, float *A, spm_int_t lda, int shift, unsigned long long int seed) |
Generate a set of vectors of random values in shared memory. | |
int | s_spmRhsGenRndDist (const spmatrix_t *spm, float alpha, spm_int_t n, float *A, spm_int_t lda, int shift, unsigned long long int seed) |
Generate a set of vectors of random values in distributed memory. | |
SParse Matrix package precision dependent header.
Definition in file s_spm.h.