# TaoBoundStep
Ensures the correct zero or adjusted step direction values for active variables. 
## Synopsis
```
#include "petsctao.h" 
PetscErrorCode TaoBoundStep(Vec X, Vec XL, Vec XU, IS active_lower, IS active_upper, IS active_fixed, PetscReal scale, Vec S)
```

## Input Parameters

- ***X -*** solution vector
- ***XL -*** lower bound vector
- ***XU -*** upper bound vector
- ***active_lower -*** index set for lower bounded active variables
- ***active_upper -*** index set for lower bounded active variables
- ***active_fixed -*** index set for fixed active variables
- ***scale -*** amplification factor for the step that needs to be taken on actively bounded variables



## Output Parameter

- ***S -*** step direction to be modified




## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/tao/bound/utils/isutil.c.html#TaoBoundStep">src/tao/bound/utils/isutil.c</A>


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


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