public class org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization
super_class: java.lang.Object
{
private static final int DEFAULT_MAX_ITERATIONS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
private static final double DEFAULT_THRESHOLD;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0E-5
private final double[][] data;
descriptor: [[D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution fittedModel;
descriptor: Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
flags: (0x0002) ACC_PRIVATE
private double logLikelihood;
descriptor: D
flags: (0x0002) ACC_PRIVATE
public void <init>(double[][]);
descriptor: ([[D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
dconst_0
putfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.logLikelihood:D
2: aload 1
arraylength
iconst_1
if_icmpge 4
3: new org.apache.commons.math3.exception.NotStrictlyPositiveException
dup
aload 1
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial org.apache.commons.math3.exception.NotStrictlyPositiveException.<init>:(Ljava/lang/Number;)V
athrow
4: StackMap locals: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization double[][]
StackMap stack:
aload 0
aload 1
arraylength
aload 1
iconst_0
aaload
arraylength
multianewarray [[D 2
putfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.data:[[D
5: iconst_0
istore 2
start local 2 6: goto 17
7: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
arraylength
aload 1
iconst_0
aaload
arraylength
if_icmpeq 11
8: new org.apache.commons.math3.exception.DimensionMismatchException
dup
aload 1
iload 2
aaload
arraylength
9: aload 1
iconst_0
aaload
arraylength
10: invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
iload 2
aaload
arraylength
iconst_2
if_icmpge 15
12: new org.apache.commons.math3.exception.NumberIsTooSmallException
dup
getstatic org.apache.commons.math3.exception.util.LocalizedFormats.NUMBER_TOO_SMALL:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
13: aload 1
iload 2
aaload
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_1
14: invokespecial org.apache.commons.math3.exception.NumberIsTooSmallException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;Ljava/lang/Number;Ljava/lang/Number;Z)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.data:[[D
iload 2
aload 1
iload 2
aaload
aload 1
iload 2
aaload
arraylength
invokestatic org.apache.commons.math3.util.MathArrays.copyOf:([DI)[D
aastore
16: iinc 2 1
StackMap locals:
StackMap stack:
17: iload 2
aload 1
arraylength
if_icmplt 7
end local 2 18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/commons/math3/distribution/fitting/MultivariateNormalMixtureExpectationMaximization;
0 19 1 data [[D
6 18 2 i I
Exceptions:
throws org.apache.commons.math3.exception.NotStrictlyPositiveException, org.apache.commons.math3.exception.DimensionMismatchException, org.apache.commons.math3.exception.NumberIsTooSmallException
MethodParameters:
Name Flags
data
public void fit(org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution, int, double);
descriptor: (Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;ID)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=27, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iconst_1
if_icmpge 2
1: new org.apache.commons.math3.exception.NotStrictlyPositiveException
dup
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial org.apache.commons.math3.exception.NotStrictlyPositiveException.<init>:(Ljava/lang/Number;)V
athrow
2: StackMap locals:
StackMap stack:
dload 3
ldc 4.9E-324
dcmpg
ifge 4
3: new org.apache.commons.math3.exception.NotStrictlyPositiveException
dup
dload 3
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokespecial org.apache.commons.math3.exception.NotStrictlyPositiveException.<init>:(Ljava/lang/Number;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.data:[[D
arraylength
istore 5
start local 5 5: aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.data:[[D
iconst_0
aaload
arraylength
istore 6
start local 6 6: aload 1
invokevirtual org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.getComponents:()Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 7
start local 7 7: aload 1
invokevirtual org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.getComponents:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.commons.math3.util.Pair
invokevirtual org.apache.commons.math3.util.Pair.getSecond:()Ljava/lang/Object;
checkcast org.apache.commons.math3.distribution.MultivariateNormalDistribution
invokevirtual org.apache.commons.math3.distribution.MultivariateNormalDistribution.getMeans:()[D
arraylength
8: istore 8
start local 8 9: iload 8
iload 6
if_icmpeq 11
10: new org.apache.commons.math3.exception.DimensionMismatchException
dup
iload 8
iload 6
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
11: StackMap locals: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution int double int int int int
StackMap stack:
iconst_0
istore 9
start local 9 12: dconst_0
dstore 10
start local 10 13: aload 0
ldc -Infinity
putfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.logLikelihood:D
14: aload 0
new org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution
dup
aload 1
invokevirtual org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.getComponents:()Ljava/util/List;
invokespecial org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.<init>:(Ljava/util/List;)V
putfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.fittedModel:Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
15: goto 91
16: StackMap locals: int double
StackMap stack:
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.logLikelihood:D
dstore 10
17: dconst_0
dstore 12
start local 12 18: aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.fittedModel:Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
invokevirtual org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.getComponents:()Ljava/util/List;
19: astore 14
start local 14 20: iload 7
newarray 7
astore 15
start local 15 21: iload 7
anewarray org.apache.commons.math3.distribution.MultivariateNormalDistribution
astore 16
start local 16 22: iconst_0
istore 17
start local 17 23: goto 27
24: StackMap locals: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution int double int int int int int double double java.util.List double[] org.apache.commons.math3.distribution.MultivariateNormalDistribution[] int
StackMap stack:
aload 15
iload 17
aload 14
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.commons.math3.util.Pair
invokevirtual org.apache.commons.math3.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dastore
25: aload 16
iload 17
aload 14
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.commons.math3.util.Pair
invokevirtual org.apache.commons.math3.util.Pair.getSecond:()Ljava/lang/Object;
checkcast org.apache.commons.math3.distribution.MultivariateNormalDistribution
aastore
26: iinc 17 1
StackMap locals:
StackMap stack:
27: iload 17
iload 7
if_icmplt 24
end local 17 28: iload 5
iload 7
multianewarray [[D 2
astore 17
start local 17 29: iload 7
newarray 7
astore 18
start local 18 30: iload 7
iload 6
multianewarray [[D 2
astore 19
start local 19 31: iconst_0
istore 20
start local 20 32: goto 47
33: StackMap locals: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution int double int int int int int double double java.util.List double[] org.apache.commons.math3.distribution.MultivariateNormalDistribution[] double[][] double[] double[][] int
StackMap stack:
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.fittedModel:Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.data:[[D
iload 20
aaload
invokevirtual org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.density:([D)D
dstore 21
start local 21 34: dload 12
dload 21
invokestatic org.apache.commons.math3.util.FastMath.log:(D)D
dadd
dstore 12
35: iconst_0
istore 23
start local 23 36: goto 45
37: StackMap locals: double int
StackMap stack:
aload 17
iload 20
aaload
iload 23
aload 15
iload 23
daload
aload 16
iload 23
aaload
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.data:[[D
iload 20
aaload
invokevirtual org.apache.commons.math3.distribution.MultivariateNormalDistribution.density:([D)D
dmul
dload 21
ddiv
dastore
38: aload 18
iload 23
dup2
daload
aload 17
iload 20
aaload
iload 23
daload
dadd
dastore
39: iconst_0
istore 24
start local 24 40: goto 43
41: StackMap locals: int
StackMap stack:
aload 19
iload 23
aaload
iload 24
dup2
daload
aload 17
iload 20
aaload
iload 23
daload
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.data:[[D
iload 20
aaload
iload 24
daload
dmul
dadd
dastore
42: iinc 24 1
StackMap locals:
StackMap stack:
43: iload 24
iload 6
if_icmplt 41
end local 24 44: iinc 23 1
StackMap locals:
StackMap stack:
45: iload 23
iload 7
if_icmplt 37
end local 23 end local 21 46: iinc 20 1
StackMap locals:
StackMap stack:
47: iload 20
iload 5
if_icmplt 33
end local 20 48: aload 0
dload 12
iload 5
i2d
ddiv
putfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.logLikelihood:D
49: iload 7
newarray 7
astore 20
start local 20 50: iload 7
iload 6
multianewarray [[D 2
astore 21
start local 21 51: iconst_0
istore 22
start local 22 52: goto 60
53: StackMap locals: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution int double int int int int int double double java.util.List double[] org.apache.commons.math3.distribution.MultivariateNormalDistribution[] double[][] double[] double[][] double[] double[][] int
StackMap stack:
aload 20
iload 22
aload 18
iload 22
daload
iload 5
i2d
ddiv
dastore
54: iconst_0
istore 23
start local 23 55: goto 58
56: StackMap locals: int
StackMap stack:
aload 21
iload 22
aaload
iload 23
aload 19
iload 22
aaload
iload 23
daload
aload 18
iload 22
daload
ddiv
dastore
57: iinc 23 1
StackMap locals:
StackMap stack:
58: iload 23
iload 6
if_icmplt 56
end local 23 59: iinc 22 1
StackMap locals:
StackMap stack:
60: iload 22
iload 7
if_icmplt 53
end local 22 61: iload 7
anewarray org.apache.commons.math3.linear.RealMatrix
astore 22
start local 22 62: iconst_0
istore 23
start local 23 63: goto 66
64: StackMap locals: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution int double int int int int int double double java.util.List double[] org.apache.commons.math3.distribution.MultivariateNormalDistribution[] double[][] double[] double[][] double[] double[][] org.apache.commons.math3.linear.RealMatrix[] int
StackMap stack:
aload 22
iload 23
new org.apache.commons.math3.linear.Array2DRowRealMatrix
dup
iload 6
iload 6
invokespecial org.apache.commons.math3.linear.Array2DRowRealMatrix.<init>:(II)V
aastore
65: iinc 23 1
StackMap locals:
StackMap stack:
66: iload 23
iload 7
if_icmplt 64
end local 23 67: iconst_0
istore 23
start local 23 68: goto 79
69: StackMap locals:
StackMap stack:
iconst_0
istore 24
start local 24 70: goto 77
71: StackMap locals: int
StackMap stack:
new org.apache.commons.math3.linear.Array2DRowRealMatrix
dup
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.data:[[D
iload 23
aaload
aload 21
iload 24
aaload
invokestatic org.apache.commons.math3.util.MathArrays.ebeSubtract:([D[D)[D
invokespecial org.apache.commons.math3.linear.Array2DRowRealMatrix.<init>:([D)V
72: astore 25
start local 25 73: aload 25
aload 25
invokeinterface org.apache.commons.math3.linear.RealMatrix.transpose:()Lorg/apache/commons/math3/linear/RealMatrix;
invokeinterface org.apache.commons.math3.linear.RealMatrix.multiply:(Lorg/apache/commons/math3/linear/RealMatrix;)Lorg/apache/commons/math3/linear/RealMatrix;
aload 17
iload 23
aaload
iload 24
daload
invokeinterface org.apache.commons.math3.linear.RealMatrix.scalarMultiply:(D)Lorg/apache/commons/math3/linear/RealMatrix;
74: astore 26
start local 26 75: aload 22
iload 24
aload 22
iload 24
aaload
aload 26
invokeinterface org.apache.commons.math3.linear.RealMatrix.add:(Lorg/apache/commons/math3/linear/RealMatrix;)Lorg/apache/commons/math3/linear/RealMatrix;
aastore
end local 26 end local 25 76: iinc 24 1
StackMap locals:
StackMap stack:
77: iload 24
iload 7
if_icmplt 71
end local 24 78: iinc 23 1
StackMap locals:
StackMap stack:
79: iload 23
iload 5
if_icmplt 69
end local 23 80: iload 7
iload 6
iload 6
multianewarray [[[D 3
astore 23
start local 23 81: iconst_0
istore 24
start local 24 82: goto 86
83: StackMap locals: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution int double int int int int int double double java.util.List double[] org.apache.commons.math3.distribution.MultivariateNormalDistribution[] double[][] double[] double[][] double[] double[][] org.apache.commons.math3.linear.RealMatrix[] double[][][] int
StackMap stack:
aload 22
iload 24
aload 22
iload 24
aaload
dconst_1
aload 18
iload 24
daload
ddiv
invokeinterface org.apache.commons.math3.linear.RealMatrix.scalarMultiply:(D)Lorg/apache/commons/math3/linear/RealMatrix;
aastore
84: aload 23
iload 24
aload 22
iload 24
aaload
invokeinterface org.apache.commons.math3.linear.RealMatrix.getData:()[[D
aastore
85: iinc 24 1
StackMap locals:
StackMap stack:
86: iload 24
iload 7
if_icmplt 83
end local 24 87: aload 0
new org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution
dup
aload 20
88: aload 21
89: aload 23
invokespecial org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.<init>:([D[[D[[[D)V
90: putfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.fittedModel:Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 91: StackMap locals: org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution int double int int int int int double
StackMap stack:
iload 9
iinc 9 1
iload 2
if_icmpgt 94
92: dload 10
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.logLikelihood:D
dsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 3
93: dcmpl
ifgt 16
94: StackMap locals:
StackMap stack:
dload 10
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.logLikelihood:D
dsub
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 3
dcmpl
ifle 96
95: new org.apache.commons.math3.exception.ConvergenceException
dup
invokespecial org.apache.commons.math3.exception.ConvergenceException.<init>:()V
athrow
96: StackMap locals:
StackMap stack:
return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 97 0 this Lorg/apache/commons/math3/distribution/fitting/MultivariateNormalMixtureExpectationMaximization;
0 97 1 initialMixture Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
0 97 2 maxIterations I
0 97 3 threshold D
5 97 5 n I
6 97 6 numCols I
7 97 7 k I
9 97 8 numMeanColumns I
12 97 9 numIterations I
13 97 10 previousLogLikelihood D
18 91 12 sumLogLikelihood D
20 91 14 components Ljava/util/List<Lorg/apache/commons/math3/util/Pair<Ljava/lang/Double;Lorg/apache/commons/math3/distribution/MultivariateNormalDistribution;>;>;
21 91 15 weights [D
22 91 16 mvns [Lorg/apache/commons/math3/distribution/MultivariateNormalDistribution;
23 28 17 j I
29 91 17 gamma [[D
30 91 18 gammaSums [D
31 91 19 gammaDataProdSums [[D
32 48 20 i I
34 46 21 rowDensity D
36 46 23 j I
40 44 24 col I
50 91 20 newWeights [D
51 91 21 newMeans [[D
52 61 22 j I
55 59 23 col I
62 91 22 newCovMats [Lorg/apache/commons/math3/linear/RealMatrix;
63 67 23 j I
68 80 23 i I
70 78 24 j I
73 76 25 vec Lorg/apache/commons/math3/linear/RealMatrix;
75 76 26 dataCov Lorg/apache/commons/math3/linear/RealMatrix;
81 91 23 newCovMatArrays [[[D
82 87 24 j I
Exceptions:
throws org.apache.commons.math3.linear.SingularMatrixException, org.apache.commons.math3.exception.NotStrictlyPositiveException, org.apache.commons.math3.exception.DimensionMismatchException
MethodParameters:
Name Flags
initialMixture final
maxIterations final
threshold final
public void fit(org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution);
descriptor: (Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
sipush 1000
ldc 1.0E-5
invokevirtual org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.fit:(Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;ID)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/distribution/fitting/MultivariateNormalMixtureExpectationMaximization;
0 2 1 initialMixture Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
Exceptions:
throws org.apache.commons.math3.linear.SingularMatrixException, org.apache.commons.math3.exception.NotStrictlyPositiveException
MethodParameters:
Name Flags
initialMixture
public static org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution estimate(double[][], int);
descriptor: ([[DI)Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=19, args_size=2
start local 0 start local 1 0: aload 0
arraylength
iconst_2
if_icmpge 2
1: new org.apache.commons.math3.exception.NotStrictlyPositiveException
dup
aload 0
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial org.apache.commons.math3.exception.NotStrictlyPositiveException.<init>:(Ljava/lang/Number;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
iconst_2
if_icmpge 4
3: new org.apache.commons.math3.exception.NumberIsTooSmallException
dup
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_1
invokespecial org.apache.commons.math3.exception.NumberIsTooSmallException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Z)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
aload 0
arraylength
if_icmple 6
5: new org.apache.commons.math3.exception.NumberIsTooLargeException
dup
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_1
invokespecial org.apache.commons.math3.exception.NumberIsTooLargeException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Z)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
arraylength
istore 2
start local 2 7: aload 0
iconst_0
aaload
arraylength
istore 3
start local 3 8: iload 2
anewarray org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow
astore 4
start local 4 9: iconst_0
istore 5
start local 5 10: goto 13
11: StackMap locals: double[][] int int int org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow[] int
StackMap stack:
aload 4
iload 5
new org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow
dup
aload 0
iload 5
aaload
invokespecial org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow.<init>:([D)V
aastore
12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 2
if_icmplt 11
end local 5 14: aload 4
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
15: dconst_1
iload 1
i2d
ddiv
dstore 5
start local 5 16: new java.util.ArrayList
dup
iload 1
invokespecial java.util.ArrayList.<init>:(I)V
17: astore 7
start local 7 18: iconst_0
istore 8
start local 8 19: goto 44
20: StackMap locals: double[][] int int int org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow[] double java.util.List int
StackMap stack:
iload 8
iload 2
imul
iload 1
idiv
istore 9
start local 9 21: iload 8
iconst_1
iadd
iload 2
imul
iload 1
idiv
istore 10
start local 10 22: iload 10
iload 9
isub
istore 11
start local 11 23: iload 11
iload 3
multianewarray [[D 2
astore 12
start local 12 24: iload 3
newarray 7
astore 13
start local 13 25: iload 9
istore 14
start local 14 26: iconst_0
istore 15
start local 15 27: goto 36
28: StackMap locals: double[][] int int int org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow[] double java.util.List int int int int double[][] double[] int int
StackMap stack:
iconst_0
istore 16
start local 16 29: goto 34
30: StackMap locals: int
StackMap stack:
aload 4
iload 14
aaload
invokevirtual org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow.getRow:()[D
iload 16
daload
dstore 17
start local 17 31: aload 13
iload 16
dup2
daload
dload 17
dadd
dastore
32: aload 12
iload 15
aaload
iload 16
dload 17
dastore
end local 17 33: iinc 16 1
StackMap locals:
StackMap stack:
34: iload 16
iload 3
if_icmplt 30
end local 16 35: iinc 14 1
iinc 15 1
StackMap locals:
StackMap stack:
36: iload 14
iload 10
if_icmplt 28
end local 15 end local 14 37: dconst_1
iload 11
i2d
ddiv
aload 13
invokestatic org.apache.commons.math3.util.MathArrays.scaleInPlace:(D[D)V
38: new org.apache.commons.math3.stat.correlation.Covariance
dup
aload 12
invokespecial org.apache.commons.math3.stat.correlation.Covariance.<init>:([[D)V
invokevirtual org.apache.commons.math3.stat.correlation.Covariance.getCovarianceMatrix:()Lorg/apache/commons/math3/linear/RealMatrix;
invokeinterface org.apache.commons.math3.linear.RealMatrix.getData:()[[D
39: astore 14
start local 14 40: new org.apache.commons.math3.distribution.MultivariateNormalDistribution
dup
aload 13
aload 14
invokespecial org.apache.commons.math3.distribution.MultivariateNormalDistribution.<init>:([D[[D)V
41: astore 15
start local 15 42: aload 7
new org.apache.commons.math3.util.Pair
dup
dload 5
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aload 15
invokespecial org.apache.commons.math3.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 43: iinc 8 1
StackMap locals: double[][] int int int org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow[] double java.util.List int
StackMap stack:
44: iload 8
iload 1
if_icmplt 20
end local 8 45: new org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution
dup
aload 7
invokespecial org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.<init>:(Ljava/util/List;)V
areturn
end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 data [[D
0 46 1 numComponents I
7 46 2 numRows I
8 46 3 numCols I
9 46 4 sortedData [Lorg/apache/commons/math3/distribution/fitting/MultivariateNormalMixtureExpectationMaximization$DataRow;
10 14 5 i I
16 46 5 weight D
18 46 7 components Ljava/util/List<Lorg/apache/commons/math3/util/Pair<Ljava/lang/Double;Lorg/apache/commons/math3/distribution/MultivariateNormalDistribution;>;>;
19 45 8 binIndex I
21 43 9 minIndex I
22 43 10 maxIndex I
23 43 11 numBinRows I
24 43 12 binData [[D
25 43 13 columnMeans [D
26 37 14 i I
27 37 15 iBin I
29 35 16 j I
31 33 17 val D
40 43 14 covMat [[D
42 43 15 mvn Lorg/apache/commons/math3/distribution/MultivariateNormalDistribution;
Exceptions:
throws org.apache.commons.math3.exception.NotStrictlyPositiveException, org.apache.commons.math3.exception.DimensionMismatchException
MethodParameters:
Name Flags
data final
numComponents final
public double getLogLikelihood();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.logLikelihood:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/distribution/fitting/MultivariateNormalMixtureExpectationMaximization;
public org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution getFittedModel();
descriptor: ()Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution
dup
aload 0
getfield org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization.fittedModel:Lorg/apache/commons/math3/distribution/MixtureMultivariateNormalDistribution;
invokevirtual org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.getComponents:()Ljava/util/List;
invokespecial org.apache.commons.math3.distribution.MixtureMultivariateNormalDistribution.<init>:(Ljava/util/List;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/distribution/fitting/MultivariateNormalMixtureExpectationMaximization;
}
SourceFile: "MultivariateNormalMixtureExpectationMaximization.java"
NestMembers:
org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow
InnerClasses:
private DataRow = org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization$DataRow of org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization