VecSFischer#

Evaluates the Smoothed Fischer-Burmeister function for complementarity problems.

Synopsis#

#include "petsctao.h" 
PetscErrorCode VecSFischer(Vec X, Vec F, Vec L, Vec U, PetscReal mu, Vec FB)

Logically Collective

Input Parameters#

  • X - current point

  • F - function evaluated at x

  • L - lower bounds

  • U - upper bounds

  • mu - smoothing parameter

Output Parameter#

  • FB - The Smoothed Fischer-Burmeister function vector

Notes#

The Smoothed Fischer-Burmeister function is defined as

phi(a,b) := sqrt(a*a + b*b + 2*mu*mu) - 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] - 2mux[i]

  • l[i] == - infinity, u[i] finite – fb[i] = phi(u[i]-x[i], -f[i], mu)

  • l[i] finite, u[i] == infinity - - fb[i] = phi(x[i]-l[i], f[i], mu)

  • l[i] finite < u[i] finite - - fb[i] = phi(x[i]-l[i], phi(u[i]-x[i], -f[u], mu), mu)

  • otherwise l[i] == u[i] - - fb[i] = l[i] - x[i]

See Also#

Vec, VecFischer(), MatDFischer(), MatDSFischer()

Level#

developer

Location#

src/tao/util/tao_util.c


Edit on GitLab

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