Hessian in optimValues of fminunc

조회 수: 1 (최근 30일)
Alexander Andreychenko
Alexander Andreychenko 2016년 2월 13일
댓글: Alan Weiss 2016년 2월 16일
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)?

채택된 답변

Alan Weiss
Alan Weiss 2016년 2월 16일
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
Alexander Andreychenko
Alexander Andreychenko 2016년 2월 16일
편집: Alexander Andreychenko 2016년 2월 16일
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 2016년 2월 16일
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by