:orphan:
# SNESVIGetVariableBounds
Gets the lower and upper bounds for the solution vector. xl <= x <= xu. This allows solving (differential) variable inequalities. 
## Synopsis
```
#include "petscsnes.h" 
PetscErrorCode SNESVIGetVariableBounds(SNES snes, Vec *xl, Vec *xu)
```

## Input Parameters

- ***snes -*** the `SNES` context.
- ***xl   -*** lower bound (may be `NULL`)
- ***xu   -*** upper bound (may be `NULL`)





## Notes
These vectors are owned by the `SNESVI` and should not be destroyed by the caller


## See Also
 [](sec_vi), `SNES`, `SNESVISetVariableBounds()`, `SNESVISetComputeVariableBounds()`, `SNESSetFunctionDomainError()`, `SNESSetJacobianDomainError()`, SNESVINEWTONRSLS, SNESVINEWTONSSLS, 'SNESSetType()`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/impls/vi/vi.c.html#SNESVIGetVariableBounds">src/snes/impls/vi/vi.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/impls/vi/vi.c)


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