git-svn-id: http://moon:8086/svn/matlab/trunk@91 801c6759-fa7c-4059-a304-17956f83a07c
13 lines
371 B
Matlab
13 lines
371 B
Matlab
function [Hv] = autoHv(v,x,g,useComplex,funObj,varargin)
|
|
% [Hv] = autoHv(v,x,g,useComplex,funObj,varargin)
|
|
%
|
|
% Numerically compute Hessian-vector product H*v of funObj(x,varargin{:})
|
|
% based on gradient values
|
|
|
|
if useComplex
|
|
mu = 1e-150i;
|
|
else
|
|
mu = 2*sqrt(1e-12)*(1+norm(x))/norm(v);
|
|
end
|
|
[f,finDif] = funObj(x + v*mu,varargin{:});
|
|
Hv = (finDif-g)/mu; |