SpM Handbook 1.2.4
|
Go to the source code of this file.
Functions | |
void | z_spmIntFltSortAsc (void **const pbase, const spm_int_t n) |
Integer routines. | |
void | z_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 spm_complex64_t. | |
int | z_spmConvertCSC2CSR (spmatrix_t *spm) |
convert a matrix in CSC format to a matrix in CSR format. | |
int | z_spmConvertCSC2IJV (spmatrix_t *spm) |
Convert a matrix in CSC format to a matrix in IJV format. | |
int | z_spmConvertCSR2CSC (spmatrix_t *spm) |
convert a matrix in CSR format to a matrix in CSC format. | |
int | z_spmConvertCSR2IJV (spmatrix_t *spm) |
convert a matrix in CSR format to a matrix in IJV format. | |
int | z_spmConvertIJV2CSC (spmatrix_t *spm) |
convert a matrix in IJV format to a matrix in CSC format. | |
int | z_spmConvertIJV2CSR (spmatrix_t *spm) |
convert a matrix in IJV format to a matrix in CSR format. | |
void | z_spm2dense (const spmatrix_t *spm, spm_complex64_t *A) |
Convert a sparse matrix into a dense matrix. | |
int | spm_zspmv (spm_trans_t trans, spm_complex64_t alpha, const spmatrix_t *A, const spm_complex64_t *x, spm_int_t incx, spm_complex64_t beta, spm_complex64_t *y, spm_int_t incy) |
compute the matrix-vector product: | |
int | spm_zspmm (spm_side_t side, spm_trans_t transA, spm_trans_t transB, spm_int_t K, spm_complex64_t alpha, const spmatrix_t *A, const spm_complex64_t *B, spm_int_t ldb, spm_complex64_t beta, spm_complex64_t *C, spm_int_t ldc) |
Compute a matrix-matrix product. | |
double | z_spmNorm (spm_normtype_t ntype, const spmatrix_t *spm) |
Compute the norm of an spm matrix. | |
double | z_spmNormMat (spm_normtype_t ntype, const spmatrix_t *spm, spm_int_t n, const spm_complex64_t *A, spm_int_t lda) |
Compute the norm of a dense matrix that follows the distribution of an spm matrix. | |
void | z_spmSort (spmatrix_t *spm) |
This routine sorts the spm matrix. | |
spm_int_t | z_spmMergeDuplicate (spmatrix_t *spm) |
This routine merge the multiple entries in a sparse matrix by summing their values together. | |
int | z_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 | z_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 | z_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 | z_spmGatherRHS (int nrhs, const spmatrix_t *spm, const spm_complex64_t *x, spm_int_t ldx, int root, spm_complex64_t *gx, spm_int_t ldgx) |
Gather all the global C coefficients and store the good ones in local. | |
void | z_spmReduceRHS (int nrhs, const spmatrix_t *spm, spm_complex64_t *bglob, spm_int_t ldbg, spm_complex64_t *bloc, spm_int_t ldbl) |
Reduce all the global coefficients of a rhs and store the local ones. | |
void | z_spmExtractLocalRHS (int nrhs, const spmatrix_t *spm, const spm_complex64_t *bglob, spm_int_t ldbg, spm_complex64_t *bloc, spm_int_t ldbl) |
Stores the local values of a global RHS in the local one. | |
void | z_spmPrint (FILE *f, const spmatrix_t *spm) |
Write a spm matrix in a file. | |
void | z_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 | z_spmDensePrint (FILE *f, spm_int_t m, spm_int_t n, const spm_complex64_t *A, spm_int_t lda) |
Print a dense matrix to the given file. | |
void | z_spmExpand (const spmatrix_t *spm_in, spmatrix_t *spm_out) |
Expand a single dof sparse matrix to a multi-dofs sparse matrix. | |
void | z_spmDofExtend (spmatrix_t *spm) |
Extend a single dof sparse matrix to a multi-dof sparse matrix. | |
void | z_spmScal (const double alpha, spmatrix_t *spm) |
Scal the spm: A = alpha * A. | |
int | z_spmRhsGenRndShm (const spmatrix_t *spm, spm_complex64_t scale, spm_int_t n, spm_complex64_t *A, spm_int_t lda, int shift, unsigned long long int seed) |
Generate a set of vectors of random values in shared memory. | |
int | z_spmRhsGenRndDist (const spmatrix_t *spm, spm_complex64_t alpha, spm_int_t n, spm_complex64_t *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 z_spm.h.