petsc-3.14.5 2021-03-03
Report Typos and Errors

# MatMultDiagonalBlock

Computes the matrix-vector product, y = Dx. Where D is defined by the inode or block structure of the diagonal

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatMultDiagonalBlock(Mat mat,Vec x,Vec y)

Collective on Mat

### Input Parameters

| mat | - the matrix
| x | - the vector to be multiplied

### Output Parameters

| y | - the result

### Notes

The vectors x and y cannot be the same. I.e., one cannot call MatMult(A,y,y).

### See Also

MatMultTranspose(), MatMultAdd(), MatMultTransposeAdd()

### Level

developer

### Location

src/mat/interface/matrix.c

### Implementations

MatMultDiagonalBlock_MPIAIJ in src/mat/impls/aij/mpi/mpiaij.c
MatMultDiagonalBlock_SeqAIJ_Inode in src/mat/impls/aij/seq/inode.c
MatMultDiagonalBlock_MPISELL in src/mat/impls/sell/mpi/mpisell.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages