MatCreateNest#
Creates a new MATNEST matrix containing several nested submatrices, each stored separately
Synopsis#
#include "petscmat.h"   
PetscErrorCode MatCreateNest(MPI_Comm comm, PetscInt nr, const IS is_row[], PetscInt nc, const IS is_col[], const Mat a[], Mat *B)
Collective
Input Parameters#
- comm - Communicator for the new - MATNEST
- nr - number of nested row blocks 
- is_row - index sets for each nested row block, or - NULLto make contiguous
- nc - number of nested column blocks 
- is_col - index sets for each nested column block, or - NULLto make contiguous
- a - array of nr*nc submatrices, empty submatrices can be passed using - NULL
Output Parameter#
- B - new matrix 
Note#
In both C and Fortran, a must be a row-major order array holding references to the matrices.
For instance, to represent the matrix
\(\begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22}\end{bmatrix}\)
one should use Mat a[4]={A11,A12,A21,A22}.
See Also#
Matrices, Mat, MATNEST, MatCreate(), VecCreateNest(), DMCreateMatrix(), MatNestSetSubMat(),
MatNestGetSubMat(), MatNestGetLocalISs(), MatNestGetSize(),
MatNestGetISs(), MatNestSetSubMats(), MatNestGetSubMats()
Level#
advanced
Location#
Examples#
src/ksp/ksp/tutorials/ex87.c
src/ksp/ksp/tutorials/ex81.c
src/snes/tutorials/ex70.c
src/ksp/ksp/tutorials/ex81a.c
src/ksp/ksp/tutorials/ex27.c
src/snes/tutorials/ex73f90t.F90
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages