Consider the following optimal problem $$ \min_{\mathbf{x}} f(\mathbf{x}) $$ where $f$ is continuously differentiable and positive definite. The Newton iterative scheme is $$ \mathbf{x}_{k+1}=\mathbf{x}_k-(\nabla^2 f(\mathbf{x}_k))^{-1}\nabla f(\mathbf{x}_k) $$ the Newton direction is $-(\nabla^2 f(\mathbf{x}_k))^{-1}\nabla f(\mathbf{x}_k)$. And we have $$ \nabla^Tf(\mathbf{x}_k)\mathbf{d}_k=-\nabla^Tf(\mathbf{x}_k)(\nabla^2 f(\mathbf{x}_k))^{-1}\nabla f(\mathbf{x}_k) < 0 $$ so Newton direction is descending direction in theory, but in numerical experience. It seems not right, the Matlab code is
function x=pure_newton(f,g,h,x0,epsilon)
if (nargin<5)
epsilon=1e-5;
end
x=x0;
gval=g(x);
hval=h(x);
iter=0;
while ((norm(gval)>epsilon)&&(iter<10000))
iter=iter+1;
x=x-hval\gval;
fprintf('iter= %2d f(x)=%10.10f\n',iter,f(x))
gval=g(x);
hval=h(x);
end
if (iter==10000)
fprintf('did not converge')
end
end
The example I used is $$ \min_{x_1,x_2}\sqrt{1+x_1^2}+\sqrt{1+x_2^2} $$ which can be found in 《Introduction to Nonlinear Optimization Theory, Algorithms, and Applications with MATLAB》 page 87. If choose $(10, 10)^T$ as initial point, algorithm will not convergence. Here is running result
>> pure_newton
iter= 1 f(x)=2000.0009999997
iter= 2 f(x)=1999999999.9999990463
iter= 3 f(x)=1999999999999997277796040704.0000000000
iter= 4 f(x)=1999999999999992260078759655214123233773013273847240743173127608710117986469412864.0000000000
iter= 5 f(x)= Inf
My question is newton direction is descending direction,and $\{f(x_k)\}$ is descending sequence,but it seems not true in practice.Thanks in advance for helping