:orphan: # ISPartitioningCount Takes a `IS` that represents a partitioning (the MPI rank that each local entry belongs to) and determines the number of resulting elements on each (partition) rank ## Synopsis ``` #include "petscis.h" PetscErrorCode ISPartitioningCount(IS part, PetscInt len, PetscInt count[]) ``` Collective ## Input Parameters - ***partitioning -*** a partitioning as generated by `MatPartitioningApply()` or `MatPartitioningApplyND()` - ***len -*** length of the array count, this is the total number of partitions ## Output Parameter - ***count -*** array of length size, to contain the number of elements assigned to each partition, where size is the number of partitions generated (see notes below). ## Notes By default the number of partitions generated (and thus the length of count) is the size of the communicator associated with `IS`, but it can be set by `MatPartitioningSetNParts()`. The resulting array of lengths can for instance serve as input of `PCBJacobiSetTotalBlocks()`. If the partitioning has been obtained by `MatPartitioningApplyND()`, the returned count does not include the separators. ## See Also [](sec_scatter), `IS`, `MatPartitioningCreate()`, `AOCreateBasic()`, `ISPartitioningToNumbering()`, `MatPartitioningSetNParts()`, `MatPartitioningApply()`, `MatPartitioningApplyND()` ## Level advanced ## Location src/vec/is/is/utils/iscoloring.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/is/is/utils/iscoloring.c) [Index of all IS routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)