petsc-3.7.3 2016-08-01
Report Typos and Errors

MatGetValues

Gets a block of values from a matrix.

Synopsis

#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

Notes

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.

Negative row or column indices will be ignored and those locations in v[] will be left unchanged.

See Also

MatGetRow(), MatGetSubMatrices(), MatSetValues()

Level:advanced
Location:
src/mat/interface/matrix.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages