This is very far from easy, as the C code used does not return the 
function value.

If you would like to rewrite it and the interface and submit a patch it 
will be considered.

It's hard to imagine an application where this would matter, and you have 
not given one to encourage us to give this more than the lowest priority 
on the wishlist.


On Wed, 21 Feb 2007, [EMAIL PROTECTED] wrote:

> Full_Name: Jelle Goeman
> Version: 2.4.0
> OS: windows XP
> Submission from: (NULL) (145.88.209.33)
>
>
> Hi,
>
> I like to use optimize() to optimize functions whose evaluation is costly in
> terms of computation time. The Brent algorithm which is implemented in 
> optimize
> was designed to optimize a function with as few function evaluations as
> possible. Therefore it bothers me that optimize() always evaluates the 
> function
> twice at the optimal value. This can be seen for example by saying:
>
> square <- function(x) {
>  print(x)
>  x*x
> }
> opt <- optimize(square, c(-5,1), tol=0.1)
>
> Looking at the code of optimize(), I see that the extra function evaluation
> comes when optimize returns
>
> list(minimum = val, objective = f(val, ...))
>
> f(val, ...) is calculated, but f(val, ...) has already been calculated at some
> point during the algorithm.
>
> Would it be possible to let optimize() store its previous function evaluations
> to avoid this unnecessary function evaluation?
>
> Kind regards,
>
> Jelle
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to