VecStrideNorm — PETSc 3.23.0 documentation

Skip to main content
`Ctrl`+`K`

# 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

## Input Parameters

- 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

- nrm - the norm

## Notes

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

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

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

## Level

advanced

## Location

src/vec/vec/utils/vinv.c

## Examples

src/vec/vec/tutorials/ex11f90.F90
src/vec/vec/tutorials/ex11.c
src/ksp/ksp/tutorials/ex42.c
src/snes/tutorials/ex22.c
src/vec/vec/tutorials/ex11f.F90
src/ksp/ksp/tutorials/ex43.c

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