I have a large problem that I'm optimizing with Newton method. This involves a large sparse Hessian matrix. For better convergence and not to get stuck prematurely, I'd like to make the Hessian positive semidefinite. I leafed through some material:
and performed some experiments, but I didn't come up with a practical solution. I was wondering if anyone has tips on the matter.
EDIT: to clarify, it works fine when I'm projecting a dense matrix (using Matlab eig), but for large sparse matrices, this approach isn't practical.
My current problem is mesh-related, and I'm able to treat the terms in my energy separately, getting a local 6x6 Hessian, which I project to PSD using eigenvalue decomposition, a-la
It works fine, but I was wondering about a solution to the general problem.
On the subject, I also have (sparse) linear constraints. Incorporating them with the Hessian (Lagrange-multipliers-style), the resulting KKT system (to extract a direction for the line search) becomes [H c; c' 0], which may not be PSD even if H is PSD. Any thoughts about that?
For code examples or libraries, my preference is matlab.