Data Mining Algorithms In R/Packages/optimsimplex/Simplex gradient

Description edit

optimsimplex.gradientfv determines the simplex gradient of the function which is computed by the secondary functions optimsimplex.gradcenter and optimsimplex.gradforward.

Usage edit

   optimsimplex.gradientfv(this = NULL, fun = NULL, method = "forward", data = NULL)
   optimsimplex.gradcenter(this = NULL, fun = NULL, data = NULL)
   optimsimplex.gradforward(this = NULL)

Arguments edit

this An simplex object
fun The function to compute at vertices. The function is expected to have the following input and output arguments:
   myfunction <- function(x, this){
  ...
   return(list(f=f,this=this))
   }

where x is a row vector and this a user-defined data, i.e. the data argument.

method The method used to compute the simplex gradient. Two methods are available: ’forward’ and ’centered’. The ’forward’ method uses the current simplex to compute the gradient (using optimsimplex.dirmat and optimsimplex.deltafv). The ’centered’ method creates an intermediate simplex and computes the average.
data A user-defined data passed to the function. If data is provided, it is passed to the callback function both as an input and output argument. data may be used if the function uses some additional parameters. It is returned as an output parameter because the function may modify the data while computing the function value. This feature may be used, for example, to count the number of times that the function has been called.

Value edit

optimsimplex.gradientfv returns a list with the following elements:

g A column vector of function gradient (with length this$n).
data The updated user-defined data.

optimsimplex.gradcenter returns a list with the following elements:

g A column vector of function gradient (with length this$n).
data The updated user-defined data.

optimsimplex.gradforward returns a column vector of function gradient (with length this$n).

Authors edit

Author of Scilab optimsimplex module: Michael Baudin (INRIA - Digiteo)
Author of R adaptation: Sebastien Bihorel (sb.pmlab@gmail.com)