petsc-3.13.6 2020-09-29
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(), MatCreateSubMatrices(), MatSetValues()
Level
advanced
Location
src/mat/interface/matrix.c
Implementations
MatGetValues_MPIAIJ in src/mat/impls/aij/mpi/mpiaij.c
MatGetValues_SeqAIJ in src/mat/impls/aij/seq/aij.c
MatGetValues_MPIBAIJ in src/mat/impls/baij/mpi/mpibaij.c
MatGetValues_SeqBAIJ in src/mat/impls/baij/seq/baij.c
MatGetValues_MPIDense in src/mat/impls/dense/mpi/mpidense.c
MatGetValues_SeqDense in src/mat/impls/dense/seq/dense.c
MatGetValues_HYPRE in src/mat/impls/hypre/mhypre.c
MatGetValues_MPISBAIJ in src/mat/impls/sbaij/mpi/mpisbaij.c
MatGetValues_SeqSBAIJ in src/mat/impls/sbaij/seq/sbaij.c
MatGetValues_MPISELL in src/mat/impls/sell/mpi/mpisell.c
MatGetValues_SeqSELL in src/mat/impls/sell/seq/sell.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages