# VecFischer
Evaluates the Fischer-Burmeister function for complementarity problems. 
## Synopsis
```
#include "petsctao.h" 
PetscErrorCode VecFischer(Vec X, Vec F, Vec L, Vec U, Vec FB)
```
Logically Collective on X


## Input Parameters

- ***X -*** current point
- ***F -*** function evaluated at x
- ***L -*** lower bounds
- ***U -*** upper bounds



## Output Parameter

- ***FB -*** The Fischer-Burmeister function vector



## Notes
The Fischer-Burmeister function is defined as
```none
phi(a,b) := sqrt(a*a + b*b) - a - b
```
and is used reformulate a complementarity problem as a semismooth
system of equations.


## The result of this function is done by cases

- ***l[i] == -*** infinity, u[i] == infinity  -- fb[i] = -f[i]
- ***l[i] == -*** infinity, u[i] finite       -- fb[i] = phi(u[i]-x[i], -f[i])
- ***l[i] finite,       u[i] == infinity  -*** - fb[i] = phi(x[i]-l[i],  f[i])
- ***l[i] finite < u[i] finite -*** - fb[i] = phi(x[i]-l[i], phi(u[i]-x[i], -f[u]))
- ***otherwise l[i] == u[i] -*** - fb[i] = l[i] - x[i]





## See Also
 `Vec`, `VecSFischer()`, `MatDFischer()`, `MatDSFischer()`

## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/tao/util/tao_util.c.html#VecFischer">src/tao/util/tao_util.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/tao/util/tao_util.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)  
