private LeastSquareResults finish( DoubleMatrix alpha, DecompositionResult decmp, double newChiSqr, DoubleMatrix jacobian, DoubleArray newTheta, DoubleArray sigma) { DoubleMatrix covariance = decmp.solve(DoubleMatrix.identity(alpha.rowCount())); DoubleMatrix bT = getBTranspose(jacobian, sigma); DoubleMatrix inverseJacobian = decmp.solve(bT); return new LeastSquareResults(newChiSqr, newTheta, covariance, inverseJacobian); }
return finish(oldChiSqr, jacobian, theta, sigma); decmp = _decomposition.apply(alpha0); return finish(alpha0, decmp, newChiSqr, jacobian, trialTheta, sigma); LOGGER.warn("Saddle point detected, but no improvement to chi^2 possible by moving away. " + "It is recommended that a different starting point is used."); return finish(newAlpha, decmp, oldChiSqr, jacobian, theta, sigma); return finish(newAlpha, decmp, newChiSqr, jacobian, trialTheta, sigma);