Skip to main content
`Ctrl`+`K`

# 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

    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

Index of all Tao routines
Table of Contents for all manual pages
Index of all manual pages