#include "petscmat.h" PetscErrorCode MatGetValues(Mat mat,PetscInt m,const PetscInt idxm[],PetscInt n,const PetscInt idxn[],PetscScalar v[])Not Collective; can only return values that are owned by the give process
mat | - the matrix | |
v | - a logically two-dimensional array for storing the values | |
m, idxm | - the number of rows and their global indices | |
n, idxn | - the number of columns and their global indices |
MatGetValues() uses 0-based row and column numbers in Fortran as well as in C.
MatGetValues() requires that the matrix has been assembled with MatAssemblyBegin()/MatAssemblyEnd(). Thus, calls to MatSetValues() and MatGetValues() CANNOT be made in succession without intermediate matrix assembly.
Negative row or column indices will be ignored and those locations in v[] will be left unchanged.
For the standard row-based matrix formats, idxm[] can only contain rows owned by the requesting MPI rank. That is, rows with global index greater than or equal to restart and less than rend where restart and rend are obtainable from MatGetOwnershipRange(mat,&rstart,&rend).