util-complementarity: Complementarity functions

complR Documentation

Complementarity functions

Description

Classic Complementarity functions

Usage

phiFB(a, b) 
GrAphiFB(a, b) 
GrBphiFB(a, b) 

phipFB(a, b, p) 
GrAphipFB(a, b, p) 
GrBphipFB(a, b, p) 

phirFB(a, b) 
GrAphirFB(a, b) 
GrBphirFB(a, b) 

phiMin(a, b) 
GrAphiMin(a, b) 
GrBphiMin(a, b)

phiMan(a, b, f, fprime)
GrAphiMan(a, b, f, fprime)
GrBphiMan(a, b, f, fprime)

phiKK(a, b, lambda)
GrAphiKK(a, b, lambda)
GrBphiKK(a, b, lambda)


phiLT(a, b, q)
GrAphiLT(a, b, q)
GrBphiLT(a, b, q)

compl.par(type=c("FB", "pFB", "rFB", "Min", "Man", "LT", "KK"), 
	p, f, fprime, q, lambda)

## S3 method for class 'compl.par'
print(x, ...)

## S3 method for class 'compl.par'
summary(object, ...)



Arguments

a

first parameter.

b

second parameter.

f, fprime

a univariate function and its derivative.

lambda

a parameter in [0, 2[.

q

a parameter >1.

p

a parameter >0.

type

a character string for the complementarity function type: either "FB", "Min", "Man", "LT" or "KK".

x, object

an object of class "compl.par".

...

further arguments to pass to print, or summary.

Details

We implement 5 complementarity functions From Facchinei & Pang (2003).

(i) phiFB

the Fischer-Burmeister complementarity function \sqrt{a^2+b^2} - (a+b). The penalized version is phiFB(a,b) - p*max(a,0)*max(b,0), whereas the regularized version is phiFB(a,b) - epsilon.

(ii) phiMin

the minimum complementarity function \min(a,b).

(iii) phiMan

the Mangasarian's family of complementarity function f(|a-b|) - f(a) - f(b), typically f(t)=t or f(t)=t^3.

(iv) phiKK

the Kanzow-Kleinmichel complementarity function (\sqrt( (a-b)^2 + 2*\lambda*a*b ) - (a+b) ) / (2-\lambda).

(v) phiLT

the Luo-Tseng complementarity function (a^q + b^q)^(1/q) - (a+b).

GrAXXX and GrBXXX implements the derivative of the complementarity function XXX with respect to a and b respectively.

compl.par creates an object of class "compl.par" with attributes "type" a character string and "fun","grA","grB" the corresponding functions for a given type. Optional arguments are also available, e.g. lambda for the KK complementarity function.

Value

A numeric or an object of class "compl.par".

Author(s)

Christophe Dutang

References

F. Facchinei and J.S. Pang, Finite-Dimensional Variational Inequalities and Complementarity Problems, Springer-Verlag (New York 2003).

See Also

See also GNE.nseq.

Examples


phiFB(1, 2)
phiLT(1, 2, 2)
phiKK(1, 2, 1)

-2*phiMin(1, 2)
phiMan(1, 2, function(t) t)

complFB <- compl.par("FB") 
summary(complFB)

complKK <- compl.par("KK", lambda=1) 
summary(complKK)

complKK$fun(1, 1, complKK$lambda)
complFB$fun(1, 1)


GNE documentation built on March 31, 2023, 9:25 p.m.