#include <math.h>
#include "superlu_ddefs.h"
Functions | |
static void | dcreate_msr_matrix (SuperMatrix *A,int_t update[],int_t N_update,double **val,int_t **bindx) |
static void | dPrintMSRmatrix (int, double[], int_t[], gridinfo_t *) |
int | pdgsmv_AXglobal_setup (SuperMatrix *A, Glu_persist_t *Glu_persist, gridinfo_t *grid, int_t *m, int_t *update[], double *val[], int_t *bindx[], int_t *mv_sup_to_proc) |
int | pdgsmv_AXglobal (int_t m, int_t update[], double val[], int_t bindx[], double X[], double ax[]) |
int | pdgsmv_AXglobal_abs (int_t m, int_t update[], double val[], int_t bindx[], double X[], double ax[]) |
-- 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. |
|
|
|
Performs sparse matrix-vector multiplication.
|
|
|
|
|