Computes the union of two index sets, by concatenating 2 lists and removing duplicates.


#include "petscis.h"  
PetscErrorCode ISExpand(IS is1,IS is2,IS *isout)
Collective on IS

Input Parameter

is1 - first index set
is2 - index values to be added

Output Parameters

isout - is1 + is2 The index set is2 is appended to is1 removing duplicates


Negative values are removed from the lists. This requires O(imax-imin) memory and O(imax-imin) work, where imin and imax are the bounds on the indices in is1 and is2.

The IS's do not need to be sorted.

Level: intermediate

See Also

ISDestroy(), ISView(), ISDifference(), ISSum()