BStri_mult - Multiply the matrix (A - shift*B) by a block of vectors
- A
- - a sparse matrix
- comm_A
- - the communication structure for A
- B
- - a sparse matrix
- comm_B
- - the communication structure for B
- v1
- - the block of vectors to multiply by
- t1
- - a block of work vectors
- t2
- - a block of work vectors
- shift
- - the shift value in (A-shift*B)
- BS
- - the number of vectors in v1
- procinfo
- - the usual processor stuff
- v2
- - the resulting block of vectors
Different code is used to multiply a single vector than is used to multiply a
block of vectors (this improves efficiency). Also different code is used if
shift=0.0. If B is NULL, then we assume that it is the identity matrix.
void BStri_mult(BSpar_mat *A, BScomm *comm_A, BSpar_mat *B, BScomm *comm_B,
FLOAT *v1, FLOAT *v2, FLOAT *t1, FLOAT *t2, FLOAT shift, int BS,
BSprocinfo *procinfo)
BlockSolve95/src/BStri_mult.c