# VecStrideNorm

Computes the norm of subvector of a vector defined by a starting point and a stride.

### Synopsis

    #include "petscvec.h"
    PetscErrorCode  VecStrideNorm(Vec v,PetscInt start,NormType ntype,PetscReal *nrm)

Collective on Vec

### Input Parameter

| v | - the vector
| start | - starting point of the subvector (defined by a stride)
| ntype | - type of norm, one of NORM_1, NORM_2, NORM_INFINITY

### Output Parameter

norm -the norm

### C++ variants

| PetscReal VecStrideNorm(Vec x,PetscInt i,NormType t) |  | -> |  | VecStrideNorm(x,i,t,&r); return r;
| PetscReal VecStrideNorm(Vec x,PetscInt i) |  | -> |  | VecStrideNorm(x,i,NORM_2,&r); return r;

### Notes

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

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

This is useful for computing, say the norm of the pressure variable when the pressure is stored (interlaced) with other variables, say density etc.

This will only work if the desire subvector is a stride subvector

### See Also

VecNorm(), VecStrideGather(), VecStrideScatter(), VecStrideMin(), VecStrideMax()

Level:advanced
Location:src/vec/vec/utils/vinv.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/vec/vec/examples/tutorials/ex11.c.html
src/vec/vec/examples/tutorials/ex11f.F.html
src/snes/examples/tutorials/ex22.c.html