public class org.apache.commons.math3.linear.LUDecomposition
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.linear.LUDecomposition
super_class: java.lang.Object
{
private static final double DEFAULT_TOO_SMALL;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0E-11
private final double[][] lu;
descriptor: [[D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] pivot;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean even;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean singular;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.math3.linear.RealMatrix cachedL;
descriptor: Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.math3.linear.RealMatrix cachedU;
descriptor: Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.math3.linear.RealMatrix cachedP;
descriptor: Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.commons.math3.linear.RealMatrix);
descriptor: (Lorg/apache/commons/math3/linear/RealMatrix;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 1.0E-11
invokespecial org.apache.commons.math3.linear.LUDecomposition.<init>:(Lorg/apache/commons/math3/linear/RealMatrix;D)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/linear/LUDecomposition;
0 2 1 matrix Lorg/apache/commons/math3/linear/RealMatrix;
MethodParameters:
Name Flags
matrix
public void <init>(org.apache.commons.math3.linear.RealMatrix, double);
descriptor: (Lorg/apache/commons/math3/linear/RealMatrix;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokeinterface org.apache.commons.math3.linear.RealMatrix.isSquare:()Z
ifne 5
2: new org.apache.commons.math3.linear.NonSquareMatrixException
dup
aload 1
invokeinterface org.apache.commons.math3.linear.RealMatrix.getRowDimension:()I
3: aload 1
invokeinterface org.apache.commons.math3.linear.RealMatrix.getColumnDimension:()I
4: invokespecial org.apache.commons.math3.linear.NonSquareMatrixException.<init>:(II)V
athrow
5: StackMap locals: org.apache.commons.math3.linear.LUDecomposition org.apache.commons.math3.linear.RealMatrix double
StackMap stack:
aload 1
invokeinterface org.apache.commons.math3.linear.RealMatrix.getColumnDimension:()I
istore 4
start local 4 6: aload 0
aload 1
invokeinterface org.apache.commons.math3.linear.RealMatrix.getData:()[[D
putfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
7: aload 0
iload 4
newarray 10
putfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
8: aload 0
aconst_null
putfield org.apache.commons.math3.linear.LUDecomposition.cachedL:Lorg/apache/commons/math3/linear/RealMatrix;
9: aload 0
aconst_null
putfield org.apache.commons.math3.linear.LUDecomposition.cachedU:Lorg/apache/commons/math3/linear/RealMatrix;
10: aload 0
aconst_null
putfield org.apache.commons.math3.linear.LUDecomposition.cachedP:Lorg/apache/commons/math3/linear/RealMatrix;
11: iconst_0
istore 5
start local 5 12: goto 15
13: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
iload 5
iload 5
iastore
14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 4
if_icmplt 13
end local 5 16: aload 0
iconst_1
putfield org.apache.commons.math3.linear.LUDecomposition.even:Z
17: aload 0
iconst_0
putfield org.apache.commons.math3.linear.LUDecomposition.singular:Z
18: iconst_0
istore 5
start local 5 19: goto 76
20: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 21: goto 31
22: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 6
aaload
astore 7
start local 7 23: aload 7
iload 5
daload
dstore 8
start local 8 24: iconst_0
istore 10
start local 10 25: goto 28
26: StackMap locals: double[] double int
StackMap stack:
dload 8
aload 7
iload 10
daload
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 10
aaload
iload 5
daload
dmul
dsub
dstore 8
27: iinc 10 1
StackMap locals:
StackMap stack:
28: iload 10
iload 6
if_icmplt 26
end local 10 29: aload 7
iload 5
dload 8
dastore
end local 8 end local 7 30: iinc 6 1
StackMap locals:
StackMap stack:
31: iload 6
iload 5
if_icmplt 22
end local 6 32: iload 5
istore 6
start local 6 33: ldc -Infinity
dstore 7
start local 7 34: iload 5
istore 9
start local 9 35: goto 48
36: StackMap locals: double int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 9
aaload
astore 10
start local 10 37: aload 10
iload 5
daload
dstore 11
start local 11 38: iconst_0
istore 13
start local 13 39: goto 42
40: StackMap locals: double[] double int
StackMap stack:
dload 11
aload 10
iload 13
daload
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 13
aaload
iload 5
daload
dmul
dsub
dstore 11
41: iinc 13 1
StackMap locals:
StackMap stack:
42: iload 13
iload 5
if_icmplt 40
end local 13 43: aload 10
iload 5
dload 11
dastore
44: dload 11
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 7
dcmpl
ifle 47
45: dload 11
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dstore 7
46: iload 9
istore 6
end local 11 end local 10 47: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
48: iload 9
iload 4
if_icmplt 36
end local 9 49: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 6
aaload
iload 5
daload
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 2
dcmpg
ifge 52
50: aload 0
iconst_1
putfield org.apache.commons.math3.linear.LUDecomposition.singular:Z
51: return
52: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmpeq 69
53: dconst_0
dstore 9
start local 9 54: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 6
aaload
astore 11
start local 11 55: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 5
aaload
astore 12
start local 12 56: iconst_0
istore 13
start local 13 57: goto 62
58: StackMap locals: org.apache.commons.math3.linear.LUDecomposition org.apache.commons.math3.linear.RealMatrix double int int int double double double[] double[] int
StackMap stack:
aload 11
iload 13
daload
dstore 9
59: aload 11
iload 13
aload 12
iload 13
daload
dastore
60: aload 12
iload 13
dload 9
dastore
61: iinc 13 1
StackMap locals:
StackMap stack:
62: iload 13
iload 4
if_icmplt 58
end local 13 63: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
iload 6
iaload
istore 13
start local 13 64: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
iload 6
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
iload 5
iaload
iastore
65: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
iload 5
iload 13
iastore
66: aload 0
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.even:Z
ifeq 67
iconst_0
goto 68
StackMap locals:
StackMap stack: org.apache.commons.math3.linear.LUDecomposition
67: iconst_1
StackMap locals: org.apache.commons.math3.linear.LUDecomposition org.apache.commons.math3.linear.RealMatrix double int int int double double double[] double[] int
StackMap stack: org.apache.commons.math3.linear.LUDecomposition int
68: putfield org.apache.commons.math3.linear.LUDecomposition.even:Z
end local 13 end local 12 end local 11 end local 9 69: StackMap locals: org.apache.commons.math3.linear.LUDecomposition org.apache.commons.math3.linear.RealMatrix double int int int double
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 5
aaload
iload 5
daload
dstore 9
start local 9 70: iload 5
iconst_1
iadd
istore 11
start local 11 71: goto 74
72: StackMap locals: double int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 11
aaload
iload 5
dup2
daload
dload 9
ddiv
dastore
73: iinc 11 1
StackMap locals:
StackMap stack:
74: iload 11
iload 4
if_icmplt 72
end local 11 end local 9 end local 7 end local 6 75: iinc 5 1
StackMap locals: org.apache.commons.math3.linear.LUDecomposition org.apache.commons.math3.linear.RealMatrix double int int
StackMap stack:
76: iload 5
iload 4
if_icmplt 20
end local 5 77: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 78 0 this Lorg/apache/commons/math3/linear/LUDecomposition;
0 78 1 matrix Lorg/apache/commons/math3/linear/RealMatrix;
0 78 2 singularityThreshold D
6 78 4 m I
12 16 5 row I
19 77 5 col I
21 32 6 row I
23 30 7 luRow [D
24 30 8 sum D
25 29 10 i I
33 75 6 max I
34 75 7 largest D
35 49 9 row I
37 47 10 luRow [D
38 47 11 sum D
39 43 13 i I
54 69 9 tmp D
55 69 11 luMax [D
56 69 12 luCol [D
57 63 13 i I
64 69 13 temp I
70 75 9 luDiag D
71 75 11 row I
MethodParameters:
Name Flags
matrix
singularityThreshold
public org.apache.commons.math3.linear.RealMatrix getL();
descriptor: ()Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedL:Lorg/apache/commons/math3/linear/RealMatrix;
ifnonnull 14
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.singular:Z
ifne 14
1: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
arraylength
istore 1
start local 1 2: aload 0
iload 1
iload 1
invokestatic org.apache.commons.math3.linear.MatrixUtils.createRealMatrix:(II)Lorg/apache/commons/math3/linear/RealMatrix;
putfield org.apache.commons.math3.linear.LUDecomposition.cachedL:Lorg/apache/commons/math3/linear/RealMatrix;
3: iconst_0
istore 2
start local 2 4: goto 13
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 2
aaload
astore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 10
8: StackMap locals: double[] int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedL:Lorg/apache/commons/math3/linear/RealMatrix;
iload 2
iload 4
aload 3
iload 4
daload
invokeinterface org.apache.commons.math3.linear.RealMatrix.setEntry:(IID)V
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 2
if_icmplt 8
end local 4 11: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedL:Lorg/apache/commons/math3/linear/RealMatrix;
iload 2
iload 2
dconst_1
invokeinterface org.apache.commons.math3.linear.RealMatrix.setEntry:(IID)V
end local 3 12: iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
iload 1
if_icmplt 5
end local 2 end local 1 14: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedL:Lorg/apache/commons/math3/linear/RealMatrix;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/commons/math3/linear/LUDecomposition;
2 14 1 m I
4 14 2 i I
6 12 3 luI [D
7 11 4 j I
public org.apache.commons.math3.linear.RealMatrix getU();
descriptor: ()Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedU:Lorg/apache/commons/math3/linear/RealMatrix;
ifnonnull 13
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.singular:Z
ifne 13
1: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
arraylength
istore 1
start local 1 2: aload 0
iload 1
iload 1
invokestatic org.apache.commons.math3.linear.MatrixUtils.createRealMatrix:(II)Lorg/apache/commons/math3/linear/RealMatrix;
putfield org.apache.commons.math3.linear.LUDecomposition.cachedU:Lorg/apache/commons/math3/linear/RealMatrix;
3: iconst_0
istore 2
start local 2 4: goto 12
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 2
aaload
astore 3
start local 3 6: iload 2
istore 4
start local 4 7: goto 10
8: StackMap locals: double[] int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedU:Lorg/apache/commons/math3/linear/RealMatrix;
iload 2
iload 4
aload 3
iload 4
daload
invokeinterface org.apache.commons.math3.linear.RealMatrix.setEntry:(IID)V
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 1
if_icmplt 8
end local 4 end local 3 11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
iload 1
if_icmplt 5
end local 2 end local 1 13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedU:Lorg/apache/commons/math3/linear/RealMatrix;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/commons/math3/linear/LUDecomposition;
2 13 1 m I
4 13 2 i I
6 11 3 luI [D
7 11 4 j I
public org.apache.commons.math3.linear.RealMatrix getP();
descriptor: ()Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedP:Lorg/apache/commons/math3/linear/RealMatrix;
ifnonnull 8
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.singular:Z
ifne 8
1: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
arraylength
istore 1
start local 1 2: aload 0
iload 1
iload 1
invokestatic org.apache.commons.math3.linear.MatrixUtils.createRealMatrix:(II)Lorg/apache/commons/math3/linear/RealMatrix;
putfield org.apache.commons.math3.linear.LUDecomposition.cachedP:Lorg/apache/commons/math3/linear/RealMatrix;
3: iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedP:Lorg/apache/commons/math3/linear/RealMatrix;
iload 2
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
iload 2
iaload
dconst_1
invokeinterface org.apache.commons.math3.linear.RealMatrix.setEntry:(IID)V
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 1
if_icmplt 5
end local 2 end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.cachedP:Lorg/apache/commons/math3/linear/RealMatrix;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/commons/math3/linear/LUDecomposition;
2 8 1 m I
4 8 2 i I
public int[] getPivot();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/linear/LUDecomposition;
public double getDeterminant();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.singular:Z
ifeq 2
1: dconst_0
dreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
arraylength
istore 1
start local 1 3: aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.even:Z
ifeq 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_m1
StackMap locals:
StackMap stack: int
5: i2d
dstore 2
start local 2 6: iconst_0
istore 4
start local 4 7: goto 10
8: StackMap locals: double int
StackMap stack:
dload 2
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
iload 4
aaload
iload 4
daload
dmul
dstore 2
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 1
if_icmplt 8
end local 4 11: dload 2
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/commons/math3/linear/LUDecomposition;
3 12 1 m I
6 12 2 determinant D
7 11 4 i I
public org.apache.commons.math3.linear.DecompositionSolver getSolver();
descriptor: ()Lorg/apache/commons/math3/linear/DecompositionSolver;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new org.apache.commons.math3.linear.LUDecomposition$Solver
dup
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.lu:[[D
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.pivot:[I
aload 0
getfield org.apache.commons.math3.linear.LUDecomposition.singular:Z
invokespecial org.apache.commons.math3.linear.LUDecomposition$Solver.<init>:([[D[IZ)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/linear/LUDecomposition;
}
SourceFile: "LUDecomposition.java"
NestMembers:
org.apache.commons.math3.linear.LUDecomposition$Solver
InnerClasses:
private Solver = org.apache.commons.math3.linear.LUDecomposition$Solver of org.apache.commons.math3.linear.LUDecomposition