Skip to main content
`Ctrl`+`K`

# ISCreateStride

Creates a data structure for an index set containing a list of evenly spaced integers.

## Synopsis

    #include "petscis.h"
    PetscErrorCode ISCreateStride(MPI_Comm comm, PetscInt n, PetscInt first, PetscInt step, IS *is)

Collective

## Input Parameters

- comm - the MPI communicator

- n - the length of the locally owned portion of the index set

- first - the first element of the locally owned portion of the index set

- step - the change to the next index

## Output Parameter

- is - the new index set

## Notes

`ISStrideSetStride()` may be used to set the stride of an `ISSTRIDE` that already exists

When the communicator is not `MPI_COMM_SELF`, the operations on `IS` are NOT conceptually the same as `MPI_Group` operations. The `IS` are the distributed sets of indices and thus certain operations on them are collective.

## See Also

Low-level Vector Communication, `IS`, `ISStrideSetStride()`, `ISCreateGeneral()`, `ISCreateBlock()`, `ISAllGather()`, `ISSTRIDE`

## Level

beginner

## Location

src/vec/is/is/impls/stride/stride.c

## Examples

src/ksp/ksp/tutorials/ex59.c
src/dm/tutorials/ex22.c
src/ksp/ksp/tutorials/ex73.c
src/ksp/ksp/tutorials/ex84.c
src/dm/impls/plex/tutorials/ex1f90.F90
src/ksp/ksp/tutorials/ex19.c
src/dm/tutorials/ex6.c
src/ksp/ksp/tutorials/ex82.c
src/tao/pde_constrained/tutorials/elliptic.c
src/ksp/ksp/tutorials/ex71.c

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