Learn R Programming

GNE (version 0.99-6)

compl: 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 compl.par print(x, ...)

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

Value

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

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.

Author

Christophe Dutang

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.

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

Run this code

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)

Run the code above in your browser using DataLab