:orphan:
# VecStepBoundInfo
See below 
## Synopsis
```
#include "petscvec.h"  
PetscErrorCode VecStepBoundInfo(Vec X, Vec DX, Vec XL, Vec XU, PetscReal *boundmin, PetscReal *wolfemin, PetscReal *boundmax)
```
Collective


## Input Parameters

- ***X  -*** vector with no negative entries
- ***XL -*** lower bounds
- ***XU -*** upper bounds
- ***DX  -*** step direction, can have negative, positive or zero entries



## Output Parameters

- ***boundmin -*** (may be `NULL` this it is not computed) maximum value so that   XL[i] <= X[i] + boundmax*DX[i] <= XU[i]
- ***wolfemin -*** (may be `NULL` this it is not computed)
- ***boundmax -*** (may be `NULL` this it is not computed) minimum value so that X[i] + boundmax*DX[i] <= XL[i]  or  XU[i] <= X[i] + boundmax*DX[i]





## Note
For complex numbers only compares the real part


## See Also
 `Vec`

## Level
advanced

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


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


[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)  
