Data Mining Algorithms In R/Packages/optimsimplex/Simplex gradient
Description
editoptimsimplex.gradientfv determines the simplex gradient of the function which is computed by the secondary functions optimsimplex.gradcenter and optimsimplex.gradforward.
Usage
editoptimsimplex.gradientfv(this = NULL, fun = NULL, method = "forward", data = NULL) optimsimplex.gradcenter(this = NULL, fun = NULL, data = NULL) optimsimplex.gradforward(this = NULL)
Arguments
editthis | 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
editoptimsimplex.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
editAuthor of Scilab optimsimplex module: Michael Baudin (INRIA - Digiteo)
Author of R adaptation: Sebastien Bihorel (sb.pmlab@gmail.com)