Returns the ranges of matrix columns associated with rows of a vector one multiplies this vector by that are owned by each processor.


#include "petscmat.h" 
PetscErrorCode MatGetOwnershipRangesColumn(Mat mat, const PetscInt **ranges)

Not Collective, unless matrix has not been allocated

Input Parameter#

  • mat - the matrix

Output Parameter#

  • ranges - start of each processors portion plus one more than the total length at the end


If the Mat was obtained from a DM with DMCreateMatrix(), then the range values are determined by the specific DM.

If the Mat was created directly the range values are determined by the local size passed to MatSetSizes() or MatCreateAIJ(). If PETSC_DECIDE was passed as the local size, then the vector uses default values for the range using PetscSplitOwnership().

For certain DM, such as DMDA, it is better to use DM specific routines, such as DMDAGetGhostCorners(), to determine the local values in the matrix.

Returns the columns of the “diagonal blocks”, for most sparse matrix formats. See Matrix Layouts for details on matrix layouts.

See Also#

Matrices, Mat, MatGetOwnershipRange(), MatGetOwnershipRangeColumn(), MatGetOwnershipRanges(), PetscSplitOwnership(), PetscSplitOwnershipBlock(), PetscLayout, MatSetSizes(), MatCreateAIJ(), DMDAGetGhostCorners(), DM





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