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