System.out.println();
System.out.println("uncorrected eigenvalues");
eigenMatrix.printD(System.out, "%2.4f ");
+ System.out.println();
double[] eigenVals = eigenMatrix.getD();
q.printStackTrace();
}
System.out.println("final coordinates:");
- repMatrix.print(System.out, "%8.2f");
+ repMatrix.print(System.out, "%1.8f ");
return repMatrix;
}
double alpha = 0.0; // "Levenberg-Marquardt" parameter
double gNorm = 0;
- byte terminationStatus = 0;
+ boolean terminationStatus = false;
int iteration = 0;
while (true)
{
gNorm = MiscMath.norm(g);
- if (terminationStatus != 0 || nfev == maxNfev)
+ if (terminationStatus || nfev == maxNfev)
{
break;
}
// default ftol and xtol = 1e-8
boolean ftolSatisfied = actualReduction < (1e-8 * cost) && ratio > 0.25;
- boolean xtolSatisfied = stepHnorm < (1e-8 * (1e-8 + xNorm));
- terminationStatus = (ftolSatisfied || xtolSatisfied) ? (byte) 1 : (byte) 0;
- if (terminationStatus != 0)
+ boolean xtolSatisfied = stepHnorm < (1e-8 * (1e-8 + MiscMath.norm(hA)));
+ terminationStatus = ftolSatisfied || xtolSatisfied;
+ if (terminationStatus)
{
break;
}