class org.apache.commons.math3.linear.TriDiagonalTransformer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.commons.math3.linear.TriDiagonalTransformer
super_class: java.lang.Object
{
private final double[][] householderVectors;
descriptor: [[D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] main;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double[] secondary;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.apache.commons.math3.linear.RealMatrix cachedQ;
descriptor: Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.math3.linear.RealMatrix cachedQt;
descriptor: Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0002) ACC_PRIVATE
private org.apache.commons.math3.linear.RealMatrix cachedT;
descriptor: Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0002) ACC_PRIVATE
void <init>(org.apache.commons.math3.linear.RealMatrix);
descriptor: (Lorg/apache/commons/math3/linear/RealMatrix;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 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.TriDiagonalTransformer org.apache.commons.math3.linear.RealMatrix
StackMap stack:
aload 1
invokeinterface org.apache.commons.math3.linear.RealMatrix.getRowDimension:()I
istore 2
start local 2 6: aload 0
aload 1
invokeinterface org.apache.commons.math3.linear.RealMatrix.getData:()[[D
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
7: aload 0
iload 2
newarray 7
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.main:[D
8: aload 0
iload 2
iconst_1
isub
newarray 7
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.secondary:[D
9: aload 0
aconst_null
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedQ:Lorg/apache/commons/math3/linear/RealMatrix;
10: aload 0
aconst_null
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedQt:Lorg/apache/commons/math3/linear/RealMatrix;
11: aload 0
aconst_null
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedT:Lorg/apache/commons/math3/linear/RealMatrix;
12: aload 0
invokevirtual org.apache.commons.math3.linear.TriDiagonalTransformer.transform:()V
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/commons/math3/linear/TriDiagonalTransformer;
0 14 1 matrix Lorg/apache/commons/math3/linear/RealMatrix;
6 14 2 m I
MethodParameters:
Name Flags
matrix
public org.apache.commons.math3.linear.RealMatrix getQ();
descriptor: ()Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedQ:Lorg/apache/commons/math3/linear/RealMatrix;
ifnonnull 2
1: aload 0
aload 0
invokevirtual org.apache.commons.math3.linear.TriDiagonalTransformer.getQT:()Lorg/apache/commons/math3/linear/RealMatrix;
invokeinterface org.apache.commons.math3.linear.RealMatrix.transpose:()Lorg/apache/commons/math3/linear/RealMatrix;
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedQ:Lorg/apache/commons/math3/linear/RealMatrix;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedQ:Lorg/apache/commons/math3/linear/RealMatrix;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/math3/linear/TriDiagonalTransformer;
public org.apache.commons.math3.linear.RealMatrix getQT();
descriptor: ()Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=11, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedQt:Lorg/apache/commons/math3/linear/RealMatrix;
ifnonnull 37
1: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
arraylength
istore 1
start local 1 2: iload 1
iload 1
multianewarray [[D 2
astore 2
start local 2 3: iload 1
iconst_1
isub
istore 3
start local 3 4: goto 34
5: StackMap locals: int double[][] int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
iload 3
iconst_1
isub
aaload
astore 4
start local 4 6: aload 2
iload 3
aaload
iload 3
dconst_1
dastore
7: aload 4
iload 3
daload
dconst_0
dcmpl
ifeq 33
8: dconst_1
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.secondary:[D
iload 3
iconst_1
isub
daload
aload 4
iload 3
daload
dmul
ddiv
dstore 5
start local 5 9: dconst_1
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.secondary:[D
iload 3
iconst_1
isub
daload
ddiv
dstore 7
start local 7 10: aload 2
iload 3
aaload
iload 3
dconst_1
dload 7
aload 4
iload 3
daload
dmul
dadd
dastore
11: iload 3
iconst_1
iadd
istore 9
start local 9 12: goto 15
13: StackMap locals: org.apache.commons.math3.linear.TriDiagonalTransformer int double[][] int double[] double double int
StackMap stack:
aload 2
iload 3
aaload
iload 9
dload 7
aload 4
iload 9
daload
dmul
dastore
14: iinc 9 1
StackMap locals:
StackMap stack:
15: iload 9
iload 1
if_icmplt 13
end local 9 16: iload 3
iconst_1
iadd
istore 9
start local 9 17: goto 32
18: StackMap locals:
StackMap stack:
dconst_0
dstore 7
19: iload 3
iconst_1
iadd
istore 10
start local 10 20: goto 23
21: StackMap locals: int
StackMap stack:
dload 7
aload 2
iload 9
aaload
iload 10
daload
aload 4
iload 10
daload
dmul
dadd
dstore 7
22: iinc 10 1
StackMap locals:
StackMap stack:
23: iload 10
iload 1
if_icmplt 21
end local 10 24: dload 7
dload 5
dmul
dstore 7
25: aload 2
iload 9
aaload
iload 3
dload 7
aload 4
iload 3
daload
dmul
dastore
26: iload 3
iconst_1
iadd
istore 10
start local 10 27: goto 30
28: StackMap locals:
StackMap stack:
aload 2
iload 9
aaload
iload 10
dup2
daload
dload 7
aload 4
iload 10
daload
dmul
dadd
dastore
29: iinc 10 1
StackMap locals:
StackMap stack:
30: iload 10
iload 1
if_icmplt 28
end local 10 31: iinc 9 1
StackMap locals:
StackMap stack:
32: iload 9
iload 1
if_icmplt 18
end local 9 end local 7 end local 5 end local 4 33: StackMap locals: org.apache.commons.math3.linear.TriDiagonalTransformer int double[][] int
StackMap stack:
iinc 3 -1
StackMap locals:
StackMap stack:
34: iload 3
iconst_1
if_icmpge 5
end local 3 35: aload 2
iconst_0
aaload
iconst_0
dconst_1
dastore
36: aload 0
aload 2
invokestatic org.apache.commons.math3.linear.MatrixUtils.createRealMatrix:([[D)Lorg/apache/commons/math3/linear/RealMatrix;
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedQt:Lorg/apache/commons/math3/linear/RealMatrix;
end local 2 end local 1 37: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedQt:Lorg/apache/commons/math3/linear/RealMatrix;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/apache/commons/math3/linear/TriDiagonalTransformer;
2 37 1 m I
3 37 2 qta [[D
4 35 3 k I
6 33 4 hK [D
9 33 5 inv D
10 33 7 beta D
12 16 9 i I
17 33 9 j I
20 24 10 i I
27 31 10 i I
public org.apache.commons.math3.linear.RealMatrix getT();
descriptor: ()Lorg/apache/commons/math3/linear/RealMatrix;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedT:Lorg/apache/commons/math3/linear/RealMatrix;
ifnonnull 13
1: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.main:[D
arraylength
istore 1
start local 1 2: iload 1
iload 1
multianewarray [[D 2
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 11
5: StackMap locals: int double[][] int
StackMap stack:
aload 2
iload 3
aaload
iload 3
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.main:[D
iload 3
daload
dastore
6: iload 3
ifle 8
7: aload 2
iload 3
aaload
iload 3
iconst_1
isub
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.secondary:[D
iload 3
iconst_1
isub
daload
dastore
8: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.main:[D
arraylength
iconst_1
isub
if_icmpge 10
9: aload 2
iload 3
aaload
iload 3
iconst_1
iadd
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.secondary:[D
iload 3
daload
dastore
10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
iload 1
if_icmplt 5
end local 3 12: aload 0
aload 2
invokestatic org.apache.commons.math3.linear.MatrixUtils.createRealMatrix:([[D)Lorg/apache/commons/math3/linear/RealMatrix;
putfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedT:Lorg/apache/commons/math3/linear/RealMatrix;
end local 2 end local 1 13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.cachedT: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/TriDiagonalTransformer;
2 13 1 m I
3 13 2 ta [[D
4 12 3 i I
double[][] getHouseholderVectorsRef();
descriptor: ()[[D
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/linear/TriDiagonalTransformer;
double[] getMainDiagonalRef();
descriptor: ()[D
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.main:[D
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/linear/TriDiagonalTransformer;
double[] getSecondaryDiagonalRef();
descriptor: ()[D
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.secondary:[D
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/linear/TriDiagonalTransformer;
private void transform();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=20, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
arraylength
istore 1
start local 1 1: iload 1
newarray 7
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 59
4: StackMap locals: int double[] int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
iload 3
aaload
astore 4
start local 4 5: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.main:[D
iload 3
aload 4
iload 3
daload
dastore
6: dconst_0
dstore 5
start local 5 7: iload 3
iconst_1
iadd
istore 7
start local 7 8: goto 12
9: StackMap locals: double[] double int
StackMap stack:
aload 4
iload 7
daload
dstore 8
start local 8 10: dload 5
dload 8
dload 8
dmul
dadd
dstore 5
end local 8 11: iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
iload 1
if_icmplt 9
end local 7 13: aload 4
iload 3
iconst_1
iadd
daload
dconst_0
dcmpl
ifle 14
dload 5
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dneg
goto 15
StackMap locals:
StackMap stack:
14: dload 5
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
StackMap locals:
StackMap stack: double
15: dstore 7
start local 7 16: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.secondary:[D
iload 3
dload 7
dastore
17: dload 7
dconst_0
dcmpl
ifeq 58
18: aload 4
iload 3
iconst_1
iadd
dup2
daload
dload 7
dsub
dastore
19: ldc -1.0
dload 7
aload 4
iload 3
iconst_1
iadd
daload
dmul
ddiv
dstore 9
start local 9 20: aload 2
iload 3
iconst_1
iadd
iload 1
dconst_0
invokestatic java.util.Arrays.fill:([DIID)V
21: iload 3
iconst_1
iadd
istore 11
start local 11 22: goto 35
23: StackMap locals: double double int
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
iload 11
aaload
astore 12
start local 12 24: aload 4
iload 11
daload
dstore 13
start local 13 25: aload 12
iload 11
daload
dload 13
dmul
dstore 15
start local 15 26: iload 11
iconst_1
iadd
istore 17
start local 17 27: goto 32
28: StackMap locals: org.apache.commons.math3.linear.TriDiagonalTransformer int double[] int double[] double double double int double[] double double int
StackMap stack:
aload 12
iload 17
daload
dstore 18
start local 18 29: dload 15
dload 18
aload 4
iload 17
daload
dmul
dadd
dstore 15
30: aload 2
iload 17
dup2
daload
dload 18
dload 13
dmul
dadd
dastore
end local 18 31: iinc 17 1
StackMap locals:
StackMap stack:
32: iload 17
iload 1
if_icmplt 28
end local 17 33: aload 2
iload 11
dload 9
aload 2
iload 11
daload
dload 15
dadd
dmul
dastore
end local 15 end local 13 end local 12 34: iinc 11 1
StackMap locals: org.apache.commons.math3.linear.TriDiagonalTransformer int double[] int double[] double double double int
StackMap stack:
35: iload 11
iload 1
if_icmplt 23
end local 11 36: dconst_0
dstore 11
start local 11 37: iload 3
iconst_1
iadd
istore 13
start local 13 38: goto 41
39: StackMap locals: org.apache.commons.math3.linear.TriDiagonalTransformer int double[] int double[] double double double double int
StackMap stack:
dload 11
aload 2
iload 13
daload
aload 4
iload 13
daload
dmul
dadd
dstore 11
40: iinc 13 1
StackMap locals:
StackMap stack:
41: iload 13
iload 1
if_icmplt 39
end local 13 42: dload 11
dload 9
ldc 2.0
ddiv
dmul
dstore 11
43: iload 3
iconst_1
iadd
istore 13
start local 13 44: goto 47
45: StackMap locals:
StackMap stack:
aload 2
iload 13
dup2
daload
dload 11
aload 4
iload 13
daload
dmul
dsub
dastore
46: iinc 13 1
StackMap locals:
StackMap stack:
47: iload 13
iload 1
if_icmplt 45
end local 13 48: iload 3
iconst_1
iadd
istore 13
start local 13 49: goto 57
50: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
iload 13
aaload
astore 14
start local 14 51: iload 13
istore 15
start local 15 52: goto 55
53: StackMap locals: double[] int
StackMap stack:
aload 14
iload 15
dup2
daload
aload 4
iload 13
daload
aload 2
iload 15
daload
dmul
aload 2
iload 13
daload
aload 4
iload 15
daload
dmul
dadd
dsub
dastore
54: iinc 15 1
StackMap locals:
StackMap stack:
55: iload 15
iload 1
if_icmplt 53
end local 15 end local 14 56: iinc 13 1
StackMap locals:
StackMap stack:
57: iload 13
iload 1
if_icmplt 50
end local 13 end local 11 end local 9 end local 7 end local 5 end local 4 58: StackMap locals: org.apache.commons.math3.linear.TriDiagonalTransformer int double[] int
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
59: iload 3
iload 1
iconst_1
isub
if_icmplt 4
end local 3 60: aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.main:[D
iload 1
iconst_1
isub
aload 0
getfield org.apache.commons.math3.linear.TriDiagonalTransformer.householderVectors:[[D
iload 1
iconst_1
isub
aaload
iload 1
iconst_1
isub
daload
dastore
61: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lorg/apache/commons/math3/linear/TriDiagonalTransformer;
1 62 1 m I
2 62 2 z [D
3 60 3 k I
5 58 4 hK [D
7 58 5 xNormSqr D
8 13 7 j I
10 11 8 c D
16 58 7 a D
20 58 9 beta D
22 36 11 i I
24 34 12 hI [D
25 34 13 hKI D
26 34 15 zI D
27 33 17 j I
29 31 18 hIJ D
37 58 11 gamma D
38 42 13 i I
44 48 13 i I
49 58 13 i I
51 56 14 hI [D
52 56 15 j I
}
SourceFile: "TriDiagonalTransformer.java"