|
static void | screate_msr_matrix (SuperMatrix *, int_t[], int_t, float **, int_t **) |
|
static void | sPrintMSRmatrix (int, float[], int_t[], gridinfo_t *) |
|
int | psgsmv_AXglobal_setup (SuperMatrix *A, Glu_persist_t *Glu_persist, gridinfo_t *grid, int_t *m, int_t *update[], float *val[], int_t *bindx[], int_t *mv_sup_to_proc) |
|
int | psgsmv_AXglobal (int_t m, int_t update[], float val[], int_t bindx[], float X[], float ax[]) |
|
int | psgsmv_AXglobal_abs (int_t m, int_t update[], float val[], int_t bindx[], float X[], float ax[]) |
|
Performs sparse matrix-vector multiplication.
Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)
All rights reserved.
The source code is distributed under BSD license, see the file License.txt at the top-level directory.
-- Distributed SuperLU routine (version 1.0) --
Lawrence Berkeley National Lab, Univ. of California Berkeley.
September 1, 1999
Create the distributed modified sparse row (MSR) matrix: bindx/val.
For a submatrix of size m-by-n, the MSR arrays are as follows:
bindx[0] = m + 1
bindx[0..m] = pointer to start of each row
bindx[ks..ke] = column indices of the off-diagonal nonzeros in row k,
where, ks = bindx[k], ke = bindx[k+1]-1
val[k] = A(k,k), k < m, diagonal elements
val[m] = not used
val[ki] = A(k, bindx[ki]), where ks <= ki <= ke
Both arrays are of length nnz + 1.