function delta = findDeltaLM(H) %FINDDELTA use Gerschgorin theorem in Levenberg-Marquardt. % delta = findDeltaLM(H) tries to find the parameter delta in % Levenberg-Marquardt method:for hessian H,use Gerschgorin % theorm to find the lower bound of eigenvalues, then shift % the bound above the desired (e.g.,.01 * norm(H,inf)). % % See also MODIFIEDCHOL. % Dianne P. O'Leary oleary@cs.umd.edu % Geping Liu geping@math.umd.edu % 09-21-06 centers = diag(H); radii = sum(abs(H),2) - abs(centers); eigLowerBound = min(centers - radii); desiredBound = 10^(-2) * norm(H,inf); if eigLowerBound >= desiredBound, delta = 0; return; else delta = desiredBound - eigLowerBound; return; end