class oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver extends java.lang.Object implements oadd.org.apache.commons.math.linear.DecompositionSolver
{
private final double[][] qrt;
private final double[] rDiag;
private void <init>(double[][], double[])
{
double[] v;
double[][] v;
oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver v;
v := @this: oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver;
v := @parameter: double[][];
v := @parameter: double[];
specialinvoke v.<java.lang.Object: void <init>()>();
v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt> = v;
v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag> = v;
return;
}
public boolean isNonSingular()
{
byte v;
double[] v;
int v, v;
double v;
oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver v;
v := @this: oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver;
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v cmpl 0.0;
if v != 0 goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public double[] solve(double[]) throws java.lang.IllegalArgumentException, oadd.org.apache.commons.math.linear.InvalidMatrixException
{
java.lang.Integer v, v;
oadd.org.apache.commons.math.linear.SingularMatrixException v;
boolean v;
double[][] v, v, v, v;
oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver v;
java.lang.Object[] v;
double[] v, v, v, v, v, v, v, v;
int 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, v, v;
java.lang.IllegalArgumentException v;
java.lang.Object v;
v := @this: oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver;
v := @parameter: double[];
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt>;
v = lengthof v;
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt>;
v = v[0];
v = lengthof v;
v = lengthof v;
if v == v goto label;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats VECTOR_LENGTH_MISMATCH>;
v = newarray (java.lang.Object)[2];
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <oadd.org.apache.commons.math.MathRuntimeException: java.lang.IllegalArgumentException createIllegalArgumentException(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: boolean isNonSingular()>();
if v != 0 goto label;
v = new oadd.org.apache.commons.math.linear.SingularMatrixException;
specialinvoke v.<oadd.org.apache.commons.math.linear.SingularMatrixException: void <init>()>();
throw v;
label:
v = newarray (double)[v];
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
v = 0;
label:
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
if v >= v goto label;
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt>;
v = v[v];
v = 0.0;
v = v;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = v * v;
v = v + v;
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag>;
v = v[v];
v = v[v];
v = v * v;
v = v / v;
v = v;
label:
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.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag>;
v = lengthof v;
v = v - 1;
label:
if v < 0 goto label;
v = v[v];
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag>;
v = v[v];
v = v / v;
v[v] = v;
v = v[v];
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt>;
v = v[v];
v[v] = v;
v = 0;
label:
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:
return v;
}
public oadd.org.apache.commons.math.linear.RealVector solve(oadd.org.apache.commons.math.linear.RealVector) throws java.lang.IllegalArgumentException, oadd.org.apache.commons.math.linear.InvalidMatrixException
{
oadd.org.apache.commons.math.linear.ArrayRealVector v, v;
double[] v, v;
oadd.org.apache.commons.math.linear.RealVector v;
java.lang.ClassCastException v;
oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver v;
v := @this: oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver;
v := @parameter: oadd.org.apache.commons.math.linear.RealVector;
label:
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: oadd.org.apache.commons.math.linear.ArrayRealVector solve(oadd.org.apache.commons.math.linear.ArrayRealVector)>(v);
label:
return v;
label:
v := @caughtexception;
v = new oadd.org.apache.commons.math.linear.ArrayRealVector;
v = interfaceinvoke v.<oadd.org.apache.commons.math.linear.RealVector: double[] getData()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] solve(double[])>(v);
specialinvoke v.<oadd.org.apache.commons.math.linear.ArrayRealVector: void <init>(double[],boolean)>(v, 0);
return v;
catch java.lang.ClassCastException from label to label with label;
}
public oadd.org.apache.commons.math.linear.ArrayRealVector solve(oadd.org.apache.commons.math.linear.ArrayRealVector) throws java.lang.IllegalArgumentException, oadd.org.apache.commons.math.linear.InvalidMatrixException
{
oadd.org.apache.commons.math.linear.ArrayRealVector v, v;
double[] v, v;
oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver v;
v := @this: oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver;
v := @parameter: oadd.org.apache.commons.math.linear.ArrayRealVector;
v = new oadd.org.apache.commons.math.linear.ArrayRealVector;
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.ArrayRealVector: double[] getDataRef()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] solve(double[])>(v);
specialinvoke v.<oadd.org.apache.commons.math.linear.ArrayRealVector: void <init>(double[],boolean)>(v, 0);
return v;
}
public oadd.org.apache.commons.math.linear.RealMatrix solve(oadd.org.apache.commons.math.linear.RealMatrix) throws java.lang.IllegalArgumentException, oadd.org.apache.commons.math.linear.InvalidMatrixException
{
java.lang.Integer v, v, v;
double[][] v, v, v, v, v, v;
java.lang.Object[] v;
double[] v, v, v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v;
oadd.org.apache.commons.math.linear.BlockRealMatrix v;
oadd.org.apache.commons.math.linear.SingularMatrixException v;
boolean v;
oadd.org.apache.commons.math.linear.RealMatrix v;
oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.IllegalArgumentException v;
v := @this: oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver;
v := @parameter: oadd.org.apache.commons.math.linear.RealMatrix;
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt>;
v = lengthof v;
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt>;
v = v[0];
v = lengthof v;
v = interfaceinvoke v.<oadd.org.apache.commons.math.linear.RealMatrix: int getRowDimension()>();
if v == v goto label;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats DIMENSIONS_MISMATCH_2x2>;
v = newarray (java.lang.Object)[4];
v = interfaceinvoke v.<oadd.org.apache.commons.math.linear.RealMatrix: int getRowDimension()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = interfaceinvoke v.<oadd.org.apache.commons.math.linear.RealMatrix: int getColumnDimension()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v[3] = "n";
v = staticinvoke <oadd.org.apache.commons.math.MathRuntimeException: java.lang.IllegalArgumentException createIllegalArgumentException(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: boolean isNonSingular()>();
if v != 0 goto label;
v = new oadd.org.apache.commons.math.linear.SingularMatrixException;
specialinvoke v.<oadd.org.apache.commons.math.linear.SingularMatrixException: void <init>()>();
throw v;
label:
v = interfaceinvoke v.<oadd.org.apache.commons.math.linear.RealMatrix: int getColumnDimension()>();
v = v + 52;
v = v - 1;
v = v / 52;
v = staticinvoke <oadd.org.apache.commons.math.linear.BlockRealMatrix: double[][] createBlocksLayout(int,int)>(v, v);
v = interfaceinvoke v.<oadd.org.apache.commons.math.linear.RealMatrix: int getRowDimension()>();
v = newmultiarray (double)[v][52];
v = newarray (double)[52];
v = 0;
label:
if v >= v goto label;
v = v * 52;
v = v + 52;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
v = v - v;
v = v - 1;
v = v - 1;
interfaceinvoke v.<oadd.org.apache.commons.math.linear.RealMatrix: void copySubMatrix(int,int,int,int,double[][])>(0, v, v, v, v);
v = 0;
label:
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
if v >= v goto label;
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt>;
v = v[v];
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag>;
v = v[v];
v = v[v];
v = v * v;
v = 1.0 / v;
staticinvoke <java.util.Arrays: void fill(double[],int,int,double)>(v, 0, v, 0.0);
v = v;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = 0;
label:
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 = 0;
label:
if v >= v goto label;
v = v[v];
v = v * v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = 0;
label:
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 = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag>;
v = lengthof v;
v = v - 1;
label:
if v < 0 goto label;
v = v / 52;
v = v * 52;
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag>;
v = v[v];
v = 1.0 / v;
v = v[v];
v = v * v;
v = v + v;
v = v[v];
v = v - v;
v = v * v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v * v;
v[v] = v;
v = v;
v = v + 1;
v = v[v];
v[v] = v;
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[][] qrt>;
v = v[v];
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v[v];
v = 0;
label:
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 = 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>(int,int,double[][],boolean)>(v, v, v, 0);
return v;
}
public oadd.org.apache.commons.math.linear.RealMatrix getInverse() throws oadd.org.apache.commons.math.linear.InvalidMatrixException
{
oadd.org.apache.commons.math.linear.RealMatrix v, v;
double[] v;
int v;
oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver v;
v := @this: oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver;
v = v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: double[] rDiag>;
v = lengthof v;
v = staticinvoke <oadd.org.apache.commons.math.linear.MatrixUtils: oadd.org.apache.commons.math.linear.RealMatrix createRealIdentityMatrix(int)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.linear.QRDecompositionImpl$Solver: oadd.org.apache.commons.math.linear.RealMatrix solve(oadd.org.apache.commons.math.linear.RealMatrix)>(v);
return v;
}
}