Hessian in optimValues of fminunc

1 visualización (últimos 30 días)
Alexander Andreychenko
Alexander Andreychenko el 13 de Feb. de 2016
Comentada: Alan Weiss el 16 de Feb. de 2016
Hello everyone! I have the function which I minimize with fminunc. So far, no problems with that. I have the analytical expression of the Hessian for my function. I want to be able to plot the conditional number of Hessian during the course of the optimization. Is there any way to pass the Hessian/its conditional number to outputFcn (via optimValues)?

Respuesta aceptada

Alan Weiss
Alan Weiss el 16 de Feb. de 2016
While I am not sure that I understand your question, it seems that you have an analytic expression for the Hessian you want to plot. The syntax of a cutom output function is
function stop = outfun(x,optimValues,state)
So you have the current point x available to your output function, meaning you can calculate the Hessian in your output function.
If I misunderstand what you are asking, please try again.
Alan Weiss
MATLAB mathematical toolbox documentation
  2 comentarios
Alexander Andreychenko
Alexander Andreychenko el 16 de Feb. de 2016
Editada: Alexander Andreychenko el 16 de Feb. de 2016
Thank you for the answer! This is exacly what I did recently. However, this leads to one additional computation of the function (together with the Hessian) which in my case is quite expensive. I was looking for some way to "send" the Hessian matrix via optimValues in the same fashion as it is done for gradient vector. But it seems like it is not possible (at least not by users :)).
Alan Weiss
Alan Weiss el 16 de Feb. de 2016
Oh, I did not realize that what you were looking for was a way to avoid another calculation of the Hessian. It is possible that something along the lines of the nested function technique used in this documentation could save you from computing the Hessian twice.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by