:orphan: # 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 ## 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 src/tao/util/tao_util.c --- [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](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)