/src/main/java/net/finmath/optimizer/LevenbergMarquardt.java
hessianInvalid = false; while ( hessianInvalid && Double.isFinite( lambda) ) {
while ( hessianInvalid && Double.isFinite ( lambda ) ) { hessianInvalid = false;
private void updateParameterTest() throws SolverException { if (!isParameterCurrentDerivativeValid) { this.setDerivatives(parameterCurrent, derivativeCurrent); isParameterCurrentDerivativeValid = true; } boolean hessianInvalid = true; <extra_id_0> for (int i = 0; i < parameterCurrent.length; i++) { for (int j = i; j < parameterCurrent.length; j++) { double hessianElement = 0.0; for (int valueIndex = 0; valueIndex < valueCurrent.length; valueIndex++) { hessianElement += weights[valueIndex] * derivativeCurrent[i][valueIndex] * derivativeCurrent[j][valueIndex]; }