public class org.apache.commons.math3.optimization.direct.PowellOptimizer extends org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer<org.apache.commons.math3.analysis.MultivariateFunction> implements org.apache.commons.math3.optimization.MultivariateOptimizer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.optimization.direct.PowellOptimizer
super_class: org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer
{
private static final double MIN_RELATIVE_TOLERANCE;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final double relativeThreshold;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double absoluteThreshold;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.commons.math3.optimization.direct.PowellOptimizer$LineSearch line;
descriptor: Lorg/apache/commons/math3/optimization/direct/PowellOptimizer$LineSearch;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc 2.0
dconst_1
invokestatic org.apache.commons.math3.util.FastMath.ulp:(D)D
dmul
putstatic org.apache.commons.math3.optimization.direct.PowellOptimizer.MIN_RELATIVE_TOLERANCE:D
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(double, double, org.apache.commons.math3.optimization.ConvergenceChecker<org.apache.commons.math3.optimization.PointValuePair>);
descriptor: (DDLorg/apache/commons/math3/optimization/ConvergenceChecker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
dload 1
dload 3
dload 1
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dload 3
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
aload 5
invokespecial org.apache.commons.math3.optimization.direct.PowellOptimizer.<init>:(DDDDLorg/apache/commons/math3/optimization/ConvergenceChecker;)V
1: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/optimization/direct/PowellOptimizer;
0 2 1 rel D
0 2 3 abs D
0 2 5 checker Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;
Signature: (DDLorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;)V
MethodParameters:
Name Flags
rel
abs
checker
public void <init>(double, double, double, double, org.apache.commons.math3.optimization.ConvergenceChecker<org.apache.commons.math3.optimization.PointValuePair>);
descriptor: (DDDDLorg/apache/commons/math3/optimization/ConvergenceChecker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=6
start local 0 start local 1 start local 3 start local 5 start local 7 start local 9 0: aload 0
aload 9
invokespecial org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer.<init>:(Lorg/apache/commons/math3/optimization/ConvergenceChecker;)V
1: dload 1
getstatic org.apache.commons.math3.optimization.direct.PowellOptimizer.MIN_RELATIVE_TOLERANCE:D
dcmpg
ifge 3
2: new org.apache.commons.math3.exception.NumberIsTooSmallException
dup
dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
getstatic org.apache.commons.math3.optimization.direct.PowellOptimizer.MIN_RELATIVE_TOLERANCE:D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
iconst_1
invokespecial org.apache.commons.math3.exception.NumberIsTooSmallException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Z)V
athrow
3: StackMap locals: org.apache.commons.math3.optimization.direct.PowellOptimizer double double double double org.apache.commons.math3.optimization.ConvergenceChecker
StackMap stack:
dload 3
dconst_0
dcmpg
ifgt 5
4: 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
5: StackMap locals:
StackMap stack:
aload 0
dload 1
putfield org.apache.commons.math3.optimization.direct.PowellOptimizer.relativeThreshold:D
6: aload 0
dload 3
putfield org.apache.commons.math3.optimization.direct.PowellOptimizer.absoluteThreshold:D
7: aload 0
new org.apache.commons.math3.optimization.direct.PowellOptimizer$LineSearch
dup
aload 0
dload 5
8: dload 7
invokespecial org.apache.commons.math3.optimization.direct.PowellOptimizer$LineSearch.<init>:(Lorg/apache/commons/math3/optimization/direct/PowellOptimizer;DD)V
9: putfield org.apache.commons.math3.optimization.direct.PowellOptimizer.line:Lorg/apache/commons/math3/optimization/direct/PowellOptimizer$LineSearch;
10: return
end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/commons/math3/optimization/direct/PowellOptimizer;
0 11 1 rel D
0 11 3 abs D
0 11 5 lineRel D
0 11 7 lineAbs D
0 11 9 checker Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;
Signature: (DDDDLorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;)V
MethodParameters:
Name Flags
rel
abs
lineRel
lineAbs
checker
public void <init>(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
dload 1
dload 3
aconst_null
invokespecial org.apache.commons.math3.optimization.direct.PowellOptimizer.<init>:(DDLorg/apache/commons/math3/optimization/ConvergenceChecker;)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/optimization/direct/PowellOptimizer;
0 2 1 rel D
0 2 3 abs D
MethodParameters:
Name Flags
rel
abs
public void <init>(double, double, double, double);
descriptor: (DDDD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=9, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 7 0: aload 0
dload 1
dload 3
dload 5
dload 7
aconst_null
invokespecial org.apache.commons.math3.optimization.direct.PowellOptimizer.<init>:(DDDDLorg/apache/commons/math3/optimization/ConvergenceChecker;)V
1: return
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/optimization/direct/PowellOptimizer;
0 2 1 rel D
0 2 3 abs D
0 2 5 lineRel D
0 2 7 lineAbs D
MethodParameters:
Name Flags
rel
abs
lineRel
lineAbs
protected org.apache.commons.math3.optimization.PointValuePair doOptimize();
descriptor: ()Lorg/apache/commons/math3/optimization/PointValuePair;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=32, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer.getGoalType:()Lorg/apache/commons/math3/optimization/GoalType;
astore 1
start local 1 1: aload 0
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer.getStartPoint:()[D
astore 2
start local 2 2: aload 2
arraylength
istore 3
start local 3 3: iload 3
iload 3
multianewarray [[D 2
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: org.apache.commons.math3.optimization.direct.PowellOptimizer org.apache.commons.math3.optimization.GoalType double[] int double[][] int
StackMap stack:
aload 4
iload 5
aaload
iload 5
dconst_1
dastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 3
if_icmplt 6
end local 5 9: aload 0
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer.getConvergenceChecker:()Lorg/apache/commons/math3/optimization/ConvergenceChecker;
10: astore 5
start local 5 11: aload 2
astore 6
start local 6 12: aload 0
aload 6
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer.computeObjectiveValue:([D)D
dstore 7
start local 7 13: aload 6
invokevirtual double[].clone:()Ljava/lang/Object;
checkcast double[]
astore 9
start local 9 14: iconst_0
istore 10
start local 10 15: StackMap locals: org.apache.commons.math3.optimization.direct.PowellOptimizer org.apache.commons.math3.optimization.GoalType double[] int double[][] org.apache.commons.math3.optimization.ConvergenceChecker double[] double double[] int
StackMap stack:
iinc 10 1
16: dload 7
dstore 11
start local 11 17: dconst_0
dstore 13
start local 13 18: dconst_0
dstore 15
start local 15 19: iconst_0
istore 17
start local 17 20: dconst_0
dstore 18
start local 18 21: iconst_0
istore 20
start local 20 22: goto 34
23: StackMap locals: org.apache.commons.math3.optimization.direct.PowellOptimizer org.apache.commons.math3.optimization.GoalType double[] int double[][] org.apache.commons.math3.optimization.ConvergenceChecker double[] double double[] int double double double int double int
StackMap stack:
aload 4
iload 20
aaload
invokestatic org.apache.commons.math3.util.MathArrays.copyOf:([D)[D
astore 21
start local 21 24: dload 7
dstore 13
25: aload 0
getfield org.apache.commons.math3.optimization.direct.PowellOptimizer.line:Lorg/apache/commons/math3/optimization/direct/PowellOptimizer$LineSearch;
aload 6
aload 21
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer$LineSearch.search:([D[D)Lorg/apache/commons/math3/optimization/univariate/UnivariatePointValuePair;
astore 22
start local 22 26: aload 22
invokevirtual org.apache.commons.math3.optimization.univariate.UnivariatePointValuePair.getValue:()D
dstore 7
27: aload 22
invokevirtual org.apache.commons.math3.optimization.univariate.UnivariatePointValuePair.getPoint:()D
dstore 18
28: aload 0
aload 6
aload 21
dload 18
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer.newPointAndDirection:([D[DD)[[D
astore 23
start local 23 29: aload 23
iconst_0
aaload
astore 6
30: dload 13
dload 7
dsub
dload 15
dcmpl
ifle 33
31: dload 13
dload 7
dsub
dstore 15
32: iload 20
istore 17
end local 23 end local 22 end local 21 33: StackMap locals:
StackMap stack:
iinc 20 1
StackMap locals:
StackMap stack:
34: iload 20
iload 3
if_icmplt 23
end local 20 35: ldc 2.0
dload 11
dload 7
dsub
dmul
36: aload 0
getfield org.apache.commons.math3.optimization.direct.PowellOptimizer.relativeThreshold:D
dload 11
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dload 7
invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
dadd
dmul
37: aload 0
getfield org.apache.commons.math3.optimization.direct.PowellOptimizer.absoluteThreshold:D
38: dadd
39: dcmpg
ifgt 40
iconst_1
goto 41
StackMap locals:
StackMap stack:
40: iconst_0
StackMap locals:
StackMap stack: int
41: istore 20
start local 20 42: new org.apache.commons.math3.optimization.PointValuePair
dup
aload 9
dload 11
invokespecial org.apache.commons.math3.optimization.PointValuePair.<init>:([DD)V
astore 21
start local 21 43: new org.apache.commons.math3.optimization.PointValuePair
dup
aload 6
dload 7
invokespecial org.apache.commons.math3.optimization.PointValuePair.<init>:([DD)V
astore 22
start local 22 44: iload 20
ifne 46
aload 5
ifnull 46
45: aload 5
iload 10
aload 21
aload 22
invokeinterface org.apache.commons.math3.optimization.ConvergenceChecker.converged:(ILjava/lang/Object;Ljava/lang/Object;)Z
istore 20
46: StackMap locals: int org.apache.commons.math3.optimization.PointValuePair org.apache.commons.math3.optimization.PointValuePair
StackMap stack:
iload 20
ifeq 54
47: aload 1
getstatic org.apache.commons.math3.optimization.GoalType.MINIMIZE:Lorg/apache/commons/math3/optimization/GoalType;
if_acmpne 51
48: dload 7
dload 11
dcmpg
ifge 49
aload 22
goto 50
StackMap locals:
StackMap stack:
49: aload 21
StackMap locals:
StackMap stack: org.apache.commons.math3.optimization.PointValuePair
50: areturn
51: StackMap locals:
StackMap stack:
dload 7
dload 11
dcmpl
ifle 52
aload 22
goto 53
StackMap locals:
StackMap stack:
52: aload 21
StackMap locals:
StackMap stack: org.apache.commons.math3.optimization.PointValuePair
53: areturn
54: StackMap locals:
StackMap stack:
iload 3
newarray 7
astore 23
start local 23 55: iload 3
newarray 7
astore 24
start local 24 56: iconst_0
istore 25
start local 25 57: goto 61
58: StackMap locals: double[] double[] int
StackMap stack:
aload 23
iload 25
aload 6
iload 25
daload
aload 9
iload 25
daload
dsub
dastore
59: aload 24
iload 25
ldc 2.0
aload 6
iload 25
daload
dmul
aload 9
iload 25
daload
dsub
dastore
60: iinc 25 1
StackMap locals:
StackMap stack:
61: iload 25
iload 3
if_icmplt 58
end local 25 62: aload 6
invokevirtual double[].clone:()Ljava/lang/Object;
checkcast double[]
astore 9
63: aload 0
aload 24
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer.computeObjectiveValue:([D)D
dstore 13
64: dload 11
dload 13
dcmpl
ifle 15
65: ldc 2.0
dload 11
dload 13
dadd
ldc 2.0
dload 7
dmul
dsub
dmul
dstore 25
start local 25 66: dload 11
dload 7
dsub
dload 15
dsub
dstore 27
start local 27 67: dload 25
dload 27
dload 27
dmul
dmul
dstore 25
68: dload 11
dload 13
dsub
dstore 27
69: dload 25
dload 15
dload 27
dmul
dload 27
dmul
dsub
dstore 25
70: dload 25
dconst_0
dcmpg
ifge 15
71: aload 0
getfield org.apache.commons.math3.optimization.direct.PowellOptimizer.line:Lorg/apache/commons/math3/optimization/direct/PowellOptimizer$LineSearch;
aload 6
aload 23
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer$LineSearch.search:([D[D)Lorg/apache/commons/math3/optimization/univariate/UnivariatePointValuePair;
astore 29
start local 29 72: aload 29
invokevirtual org.apache.commons.math3.optimization.univariate.UnivariatePointValuePair.getValue:()D
dstore 7
73: aload 29
invokevirtual org.apache.commons.math3.optimization.univariate.UnivariatePointValuePair.getPoint:()D
dstore 18
74: aload 0
aload 6
aload 23
dload 18
invokevirtual org.apache.commons.math3.optimization.direct.PowellOptimizer.newPointAndDirection:([D[DD)[[D
astore 30
start local 30 75: aload 30
iconst_0
aaload
astore 6
76: iload 3
iconst_1
isub
istore 31
start local 31 77: aload 4
iload 17
aload 4
iload 31
aaload
aastore
78: aload 4
iload 31
aload 30
iconst_1
aaload
aastore
end local 31 end local 30 end local 29 end local 27 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 18 end local 17 end local 15 end local 13 end local 11 79: goto 15
end local 10 end local 9 end local 7 end local 6 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 80 0 this Lorg/apache/commons/math3/optimization/direct/PowellOptimizer;
1 80 1 goal Lorg/apache/commons/math3/optimization/GoalType;
2 80 2 guess [D
3 80 3 n I
4 80 4 direc [[D
5 9 5 i I
11 80 5 checker Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;
12 80 6 x [D
13 80 7 fVal D
14 80 9 x1 [D
15 80 10 iter I
17 79 11 fX D
18 79 13 fX2 D
19 79 15 delta D
20 79 17 bigInd I
21 79 18 alphaMin D
22 35 20 i I
24 33 21 d [D
26 33 22 optimum Lorg/apache/commons/math3/optimization/univariate/UnivariatePointValuePair;
29 33 23 result [[D
42 79 20 stop Z
43 79 21 previous Lorg/apache/commons/math3/optimization/PointValuePair;
44 79 22 current Lorg/apache/commons/math3/optimization/PointValuePair;
55 79 23 d [D
56 79 24 x2 [D
57 62 25 i I
66 79 25 t D
67 79 27 temp D
72 79 29 optimum Lorg/apache/commons/math3/optimization/univariate/UnivariatePointValuePair;
75 79 30 result [[D
77 79 31 lastInd I
private double[][] newPointAndDirection(double[], double[], double);
descriptor: ([D[DD)[[D
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
arraylength
istore 5
start local 5 1: iload 5
newarray 7
astore 6
start local 6 2: iload 5
newarray 7
astore 7
start local 7 3: iconst_0
istore 8
start local 8 4: goto 8
5: StackMap locals: org.apache.commons.math3.optimization.direct.PowellOptimizer double[] double[] double int double[] double[] int
StackMap stack:
aload 7
iload 8
aload 2
iload 8
daload
dload 3
dmul
dastore
6: aload 6
iload 8
aload 1
iload 8
daload
aload 7
iload 8
daload
dadd
dastore
7: iinc 8 1
StackMap locals:
StackMap stack:
8: iload 8
iload 5
if_icmplt 5
end local 8 9: iconst_2
anewarray double[]
astore 8
start local 8 10: aload 8
iconst_0
aload 6
aastore
11: aload 8
iconst_1
aload 7
aastore
12: aload 8
areturn
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 13 0 this Lorg/apache/commons/math3/optimization/direct/PowellOptimizer;
0 13 1 p [D
0 13 2 d [D
0 13 3 optimum D
1 13 5 n I
2 13 6 nP [D
3 13 7 nD [D
4 9 8 i I
10 13 8 result [[D
MethodParameters:
Name Flags
p
d
optimum
}
Signature: Lorg/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer<Lorg/apache/commons/math3/analysis/MultivariateFunction;>;Lorg/apache/commons/math3/optimization/MultivariateOptimizer;
SourceFile: "PowellOptimizer.java"
NestMembers:
org.apache.commons.math3.optimization.direct.PowellOptimizer$LineSearch org.apache.commons.math3.optimization.direct.PowellOptimizer$LineSearch$1
InnerClasses:
private LineSearch = org.apache.commons.math3.optimization.direct.PowellOptimizer$LineSearch of org.apache.commons.math3.optimization.direct.PowellOptimizer
RuntimeVisibleAnnotations:
java.lang.Deprecated()