Gets a block of values from a matrix.


#include "petscmat.h" 
PetscErrorCode  MatGetValues(Mat mat,PetscInt m,const PetscInt idxm[],PetscInt n,const PetscInt idxn[],PetscScalar v[])
Not Collective; currently only returns a local block

Input Parameters

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


The user must allocate space (m*n PetscScalars) for the values, v. The values, v, are then returned in a row-oriented format, analogous to that used by default in MatSetValues().

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.

See Also

MatGetRow(), MatGetSubmatrices(), MatSetValues()

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages