# VecStrideMax
Computes the maximum of subvector of a vector defined by a starting point and a stride and optionally its location. 
## Synopsis
```
#include "petscvec.h" 
PetscErrorCode VecStrideMax(Vec v, PetscInt start, PetscInt *idex, PetscReal *nrm)
```
Collective on Vec


## Input Parameters

- ***v -*** the vector
- ***start -*** starting point of the subvector (defined by a stride)



## Output Parameters

- ***idex -*** the location where the maximum occurred  (pass NULL if not required)
- ***nrm -*** the maximum value in the subvector



## Notes
One must call VecSetBlockSize() before this routine to set the stride
information, or use a vector created from a multicomponent DMDA.

If xa is the array representing the vector x, then this computes the max
of the array (xa[start],xa[start+stride],xa[start+2*stride], ....)

This is useful for computing, say the maximum of the pressure variable when
the pressure is stored (interlaced) with other variables, e.g., density, etc.
This will only work if the desire subvector is a stride subvector.




## See Also
 `VecMax()`, `VecStrideNorm()`, `VecStrideGather()`, `VecStrideScatter()`, `VecStrideMin()`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/utils/vinv.c.html#VecStrideMax">src/vec/vec/utils/vinv.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex70.c.html">src/ksp/ksp/tutorials/ex70.c.html</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/utils/vinv.c)


[Index of all Vec routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
