#include <math.h>
#include "superlu_zdefs.h"
Functions/Subroutines | |
static void | zcreate_msr_matrix (SuperMatrix *A,int_t update[],int_t N_update,doublecomplex **val,int_t **bindx) |
static void | zPrintMSRmatrix (int, doublecomplex[], int_t[], gridinfo_t *) |
int | pzgsmv_AXglobal_setup (SuperMatrix *A, Glu_persist_t *Glu_persist, gridinfo_t *grid, int_t *m, int_t *update[], doublecomplex *val[], int_t *bindx[], int_t *mv_sup_to_proc) |
int | pzgsmv_AXglobal (int_t m, int_t update[], doublecomplex val[], int_t bindx[], doublecomplex X[], doublecomplex ax[]) |
int | pzgsmv_AXglobal_abs (int_t m, int_t update[], doublecomplex val[], int_t bindx[], doublecomplex X[], double ax[]) |
-- Distributed SuperLU routine (version 1.0) -- Lawrence Berkeley National Lab, Univ. of California Berkeley. September 1, 1999
int pzgsmv_AXglobal | ( | int_t | m, | |
int_t | update[], | |||
doublecomplex | val[], | |||
int_t | bindx[], | |||
doublecomplex | X[], | |||
doublecomplex | ax[] | |||
) |
Performs sparse matrix-vector multiplication.
int pzgsmv_AXglobal_abs | ( | int_t | m, | |
int_t | update[], | |||
doublecomplex | val[], | |||
int_t | bindx[], | |||
doublecomplex | X[], | |||
double | ax[] | |||
) |
int pzgsmv_AXglobal_setup | ( | SuperMatrix * | A, | |
Glu_persist_t * | Glu_persist, | |||
gridinfo_t * | grid, | |||
int_t * | m, | |||
int_t * | update[], | |||
doublecomplex * | val[], | |||
int_t * | bindx[], | |||
int_t * | mv_sup_to_proc | |||
) |
static void zcreate_msr_matrix | ( | SuperMatrix * | A, | |
int_t | update[], | |||
int_t | N_update, | |||
doublecomplex ** | val, | |||
int_t ** | bindx | |||
) | [static] |
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.
static void zPrintMSRmatrix | ( | int | m, | |
doublecomplex | val[], | |||
int_t | bindx[], | |||
gridinfo_t * | grid | |||
) | [static] |