public class oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer extends oadd.org.apache.commons.math.optimization.general.AbstractLeastSquaresOptimizer
{
private final boolean useLU;
public void <init>(boolean)
{
oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer v;
boolean v;
v := @this: oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer;
v := @parameter: boolean;
specialinvoke v.<oadd.org.apache.commons.math.optimization.general.AbstractLeastSquaresOptimizer: void <init>()>();
v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: boolean useLU> = v;
return;
}
public oadd.org.apache.commons.math.optimization.VectorialPointValuePair doOptimize() throws oadd.org.apache.commons.math.FunctionEvaluationException, oadd.org.apache.commons.math.optimization.OptimizationException, java.lang.IllegalArgumentException
{
oadd.org.apache.commons.math.linear.QRDecompositionImpl v;
oadd.org.apache.commons.math.optimization.OptimizationException v;
oadd.org.apache.commons.math.optimization.VectorialConvergenceChecker v;
oadd.org.apache.commons.math.linear.InvalidMatrixException v;
boolean v, v;
double[][] v, v;
java.lang.Object[] v;
oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer v;
double[] v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.commons.math.linear.DecompositionSolver v;
oadd.org.apache.commons.math.optimization.VectorialPointValuePair v, v, v;
oadd.org.apache.commons.math.linear.LUDecompositionImpl v;
oadd.org.apache.commons.math.linear.BlockRealMatrix v;
v := @this: oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer;
v = null;
v = 0;
label:
if v != 0 goto label;
virtualinvoke v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: void incrementIterationsCounter()>();
v = v;
virtualinvoke v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: void updateResidualsAndCost()>();
virtualinvoke v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: void updateJacobian()>();
v = new oadd.org.apache.commons.math.optimization.VectorialPointValuePair;
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: double[] point>;
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: double[] objective>;
specialinvoke v.<oadd.org.apache.commons.math.optimization.VectorialPointValuePair: void <init>(double[],double[])>(v, v);
v = v;
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int cols>;
v = newarray (double)[v];
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int cols>;
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int cols>;
v = newmultiarray (double)[v][v];
v = 0;
label:
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int rows>;
if v >= v goto label;
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: double[][] jacobian>;
v = v[v];
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: double[] residualsWeights>;
v = v[v];
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: double[] objective>;
v = v[v];
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: double[] targetValues>;
v = v[v];
v = v - v;
v = v * v;
v = 0;
label:
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int cols>;
if v >= v goto label;
v = v[v];
v = v[v];
v = v * v;
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
v = 0;
label:
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int cols>;
if v >= v goto label;
v = v[v];
v = v[v];
v = v * v;
v = 0;
label:
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int cols>;
if v >= v goto label;
v = v[v];
v = v[v];
v = v * v;
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = new oadd.org.apache.commons.math.linear.BlockRealMatrix;
specialinvoke v.<oadd.org.apache.commons.math.linear.BlockRealMatrix: void <init>(double[][])>(v);
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: boolean useLU>;
if v == 0 goto label;
v = new oadd.org.apache.commons.math.linear.LUDecompositionImpl;
specialinvoke v.<oadd.org.apache.commons.math.linear.LUDecompositionImpl: void <init>(oadd.org.apache.commons.math.linear.RealMatrix)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.LUDecompositionImpl: oadd.org.apache.commons.math.linear.DecompositionSolver getSolver()>();
goto label;
label:
v = new oadd.org.apache.commons.math.linear.QRDecompositionImpl;
specialinvoke v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl: void <init>(oadd.org.apache.commons.math.linear.RealMatrix)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl: oadd.org.apache.commons.math.linear.DecompositionSolver getSolver()>();
label:
v = interfaceinvoke v.<oadd.org.apache.commons.math.linear.DecompositionSolver: double[] solve(double[])>(v);
v = 0;
label:
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int cols>;
if v >= v goto label;
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: double[] point>;
v = v[v];
v = v[v];
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
v := @caughtexception;
v = new oadd.org.apache.commons.math.optimization.OptimizationException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats UNABLE_TO_SOLVE_SINGULAR_PROBLEM>;
v = newarray (java.lang.Object)[0];
specialinvoke v.<oadd.org.apache.commons.math.optimization.OptimizationException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
if v == null goto label;
v = v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: oadd.org.apache.commons.math.optimization.VectorialConvergenceChecker checker>;
v = virtualinvoke v.<oadd.org.apache.commons.math.optimization.general.GaussNewtonOptimizer: int getIterations()>();
v = interfaceinvoke v.<oadd.org.apache.commons.math.optimization.VectorialConvergenceChecker: boolean converged(int,oadd.org.apache.commons.math.optimization.VectorialPointValuePair,oadd.org.apache.commons.math.optimization.VectorialPointValuePair)>(v, v, v);
goto label;
label:
return v;
catch oadd.org.apache.commons.math.linear.InvalidMatrixException from label to label with label;
}
}