:orphan:
# NormType
determines what type of norm to compute 
## Synopsis
```
typedef enum {
  NORM_1         = 0,
  NORM_2         = 1,
  NORM_FROBENIUS = 2,
  NORM_INFINITY  = 3,
  NORM_1_AND_2   = 4
} NormType;
```

## Values

- ***`NORM_1` -*** the one norm, ||v|| = sum_i | v_i |. ||A|| = max_j || v_*j ||, maximum column sum
- ***`NORM_2` -*** the two norm, ||v|| = sqrt(sum_i |v_i|^2) (vectors only)
- ***`NORM_FROBENIUS` -*** ||A|| = sqrt(sum_ij |A_ij|^2), same as `NORM_2` for vectors
- ***`NORM_INFINITY` -*** ||v|| = max_i |v_i|. ||A|| = max_i || v_i* ||, maximum row sum
- ***`NORM_1_AND_2` -*** computes both the 1 and 2 norm of a vector





## Note
The `v` above represents a `Vec` while the `A` represents a `Mat`


## See Also
 [](ch_vectors), `Vec`, `Mat`, `VecNorm()`, `VecNormBegin()`, `VecNormEnd()`, `MatNorm()`, `NORM_1`,
`NORM_2`, `NORM_FROBENIUS`, `NORM_INFINITY`, `NORM_1_AND_2`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscvec.h.html#NormType">include/petscvec.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscvec.h)


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