petsc-3.7.1 2016-05-15
Report Typos and Errors

MatCreateMPIBAIJWithArrays

creates a MPI BAIJ matrix using arrays that contain in standard CSR format the local rows.

Synopsis

#include "petscmat.h"  
PetscErrorCode  MatCreateMPIBAIJWithArrays(MPI_Comm comm,PetscInt bs,PetscInt m,PetscInt n,PetscInt M,PetscInt N,const PetscInt i[],const PetscInt j[],const PetscScalar a[],Mat *mat)
Collective on MPI_Comm Many br

Input Parameters

comm - MPI communicator Many br
bs - the block size, only a block size of 1 is supported Many br
m - number of local rows (Cannot be PETSC_DECIDE) Many br
n - This value should be the same as the local size used in creating the Many brx vector for the matrix-vector product y = Ax. (or PETSC_DECIDE to have Many brcalculated if N is given) For square matrices n is almost always m. Many br
M - number of global rows (or PETSC_DETERMINE to have calculated if m is given) Many br
N - number of global columns (or PETSC_DETERMINE to have calculated if n is given) Many br
i - row indices Many br
j - column indices Many br
a - matrix values Many br

Output Parameter

mat -the matrix Many br

Many br

Notes

The i, j, and a arrays ARE copied by this routine into the internal format used by PETSc; Many brthus you CANNOT change the matrix entries by changing the values of a[] after you have Many brcalled this routine. Use MatCreateMPIAIJWithSplitArrays() to avoid needing to copy the arrays. Many br

The order of the entries in values is the same as the block compressed sparse row storage format; that is, it is Many brthe same as a three dimensional array in Fortran values(bs,bs,nnz) that contains the first column of the first Many brblock, followed by the second column of the first block etc etc. That is, the blocks are contiguous in memory Many brwith column-major ordering within blocks. Many br

The i and j indices are 0 based, and i indices are indices corresponding to the local j array. Many br

Keywords

matrix, aij, compressed row, sparse, parallel

See Also

MatCreate(), MatCreateSeqAIJ(), MatSetValues(), MatMPIAIJSetPreallocation(), MatMPIAIJSetPreallocationCSR(),
MPIAIJ, MatCreateAIJ(), MatCreateMPIAIJWithSplitArrays() Many br

Level:intermediate
Location:
src/mat/impls/baij/mpi/mpibaij.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages