summaryrefslogtreecommitdiff
path: root/gi/posterior-regularisation/prjava/lib/optimization.jar
blob: f6839c5b68eaa6c6686abb7b78ac9a455ee26de1 (plain)
ofshex dumpascii
0000 50 4b 03 04 14 00 08 00 08 00 47 7d e6 3c 00 00 00 00 00 00 00 00 00 00 00 00 14 00 04 00 4d 45 PK........G}.<................ME
0020 54 41 2d 49 4e 46 2f 4d 41 4e 49 46 45 53 54 2e 4d 46 fe ca 00 00 f3 4d cc cb 4c 4b 2d 2e d1 0d TA-INF/MANIFEST.MF.....M..LK-...
0040 4b 2d 2a ce cc cf b3 52 30 d4 33 e0 e5 e2 e5 02 00 50 4b 07 08 b2 7f 02 ee 1b 00 00 00 19 00 00 K-*....R0.3......PK.............
0060 00 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 82 66 eb 69 73 01 00 00 73 01 00 00 08 00 00 00 2e .PK.........i.<.f.is...s........
0080 70 72 6f 6a 65 63 74 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 project<?xml.version="1.0".encod
00a0 69 6e 67 3d 22 55 54 46 2d 38 22 3f 3e 0a 3c 70 72 6f 6a 65 63 74 44 65 73 63 72 69 70 74 69 6f ing="UTF-8"?>.<projectDescriptio
00c0 6e 3e 0a 09 3c 6e 61 6d 65 3e 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 3c 2f 6e 61 6d 65 3e 0a 09 3c n>..<name>optimization</name>..<
00e0 63 6f 6d 6d 65 6e 74 3e 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 09 3c 70 72 6f 6a 65 63 74 73 3e 0a 09 comment></comment>..<projects>..
0100 3c 2f 70 72 6f 6a 65 63 74 73 3e 0a 09 3c 62 75 69 6c 64 53 70 65 63 3e 0a 09 09 3c 62 75 69 6c </projects>..<buildSpec>...<buil
0120 64 43 6f 6d 6d 61 6e 64 3e 0a 09 09 09 3c 6e 61 6d 65 3e 6f 72 67 2e 65 63 6c 69 70 73 65 2e 6a dCommand>....<name>org.eclipse.j
0140 64 74 2e 63 6f 72 65 2e 6a 61 76 61 62 75 69 6c 64 65 72 3c 2f 6e 61 6d 65 3e 0a 09 09 09 3c 61 dt.core.javabuilder</name>....<a
0160 72 67 75 6d 65 6e 74 73 3e 0a 09 09 09 3c 2f 61 72 67 75 6d 65 6e 74 73 3e 0a 09 09 3c 2f 62 75 rguments>....</arguments>...</bu
0180 69 6c 64 43 6f 6d 6d 61 6e 64 3e 0a 09 3c 2f 62 75 69 6c 64 53 70 65 63 3e 0a 09 3c 6e 61 74 75 ildCommand>..</buildSpec>..<natu
01a0 72 65 73 3e 0a 09 09 3c 6e 61 74 75 72 65 3e 6f 72 67 2e 65 63 6c 69 70 73 65 2e 6a 64 74 2e 63 res>...<nature>org.eclipse.jdt.c
01c0 6f 72 65 2e 6a 61 76 61 6e 61 74 75 72 65 3c 2f 6e 61 74 75 72 65 3e 0a 09 3c 2f 6e 61 74 75 72 ore.javanature</nature>..</natur
01e0 65 73 3e 0a 3c 2f 70 72 6f 6a 65 63 74 44 65 73 63 72 69 70 74 69 6f 6e 3e 0a 50 4b 03 04 0a 00 es>.</projectDescription>.PK....
0200 00 00 00 00 b3 69 d6 3c f7 ae 83 af 5e 05 00 00 5e 05 00 00 09 00 00 00 62 75 69 6c 64 2e 78 6d .....i.<....^...^.......build.xm
0220 6c 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 3f 3e 0d 0a 3c 70 72 6f 6a 65 63 l<?xml.version="1.0".?>..<projec
0240 74 20 6e 61 6d 65 3d 22 70 72 2d 70 61 72 73 69 6e 67 22 20 64 65 66 61 75 6c 74 3d 22 61 6c 6c t.name="pr-parsing".default="all
0260 22 20 62 61 73 65 64 69 72 3d 22 2e 22 3e 0d 0a 20 20 20 20 3c 64 65 73 63 72 69 70 74 69 6f 6e ".basedir=".">......<description
0280 3e 0d 0a 09 62 75 69 6c 64 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 0d 0a 20 20 20 20 3c 2f 64 65 >...build.all.packages......</de
02a0 73 63 72 69 70 74 69 6f 6e 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 20 73 65 74 20 67 6c 6f 62 61 scription>........<!--.set.globa
02c0 6c 20 70 72 6f 70 65 72 74 69 65 73 20 66 6f 72 20 74 68 69 73 20 62 75 69 6c 64 20 2d 2d 3e 0d l.properties.for.this.build.-->.
02e0 0a 20 20 20 20 3c 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 3d 22 73 72 63 22 20 6c 6f 63 61 74 69 .....<property.name="src".locati
0300 6f 6e 3d 22 73 72 63 22 2f 3e 0d 0a 20 20 20 20 3c 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 3d 22 on="src"/>......<property.name="
0320 62 75 69 6c 64 22 20 6c 6f 63 61 74 69 6f 6e 3d 22 63 6c 61 73 73 22 2f 3e 0d 0a 20 20 20 20 3c build".location="class"/>......<
0340 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 3d 22 64 69 73 74 22 20 6c 6f 63 61 74 69 6f 6e 3d 22 64 property.name="dist".location="d
0360 69 73 74 22 2f 3e 0d 0a 0d 0a 20 20 20 20 3c 74 61 72 67 65 74 20 6e 61 6d 65 3d 22 69 6e 69 74 ist"/>........<target.name="init
0380 22 3e 0d 0a 20 20 20 20 20 20 20 20 3c 74 73 74 61 6d 70 2f 3e 0d 0a 09 3c 6d 6b 64 69 72 20 64 ">..........<tstamp/>...<mkdir.d
03a0 69 72 3d 22 24 7b 62 75 69 6c 64 7d 22 2f 3e 0d 0a 20 20 20 20 3c 2f 74 61 72 67 65 74 3e 0d 0a ir="${build}"/>......</target>..
03c0 0d 0a 20 20 20 20 3c 74 61 72 67 65 74 20 6e 61 6d 65 3d 22 61 6c 6c 22 20 64 65 70 65 6e 64 73 ......<target.name="all".depends
03e0 3d 22 63 6f 6d 70 69 6c 65 22 2f 3e 0d 0a 0d 0a 20 20 20 20 3c 74 61 72 67 65 74 20 6e 61 6d 65 ="compile"/>........<target.name
0400 3d 22 6a 61 72 22 20 64 65 70 65 6e 64 73 3d 22 63 6f 6d 70 69 6c 65 22 3e 0d 0a 09 3c 6d 6b 64 ="jar".depends="compile">...<mkd
0420 69 72 20 64 69 72 3d 22 24 7b 64 69 73 74 7d 22 2f 3e 0d 0a 09 3c 6a 61 72 20 64 65 73 74 66 69 ir.dir="${dist}"/>...<jar.destfi
0440 6c 65 3d 22 24 7b 64 69 73 74 7d 2f 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2d 30 2e 31 2e 6a 61 72 le="${dist}/optimization-0.1.jar
0460 22 20 3e 0d 0a 09 20 20 20 20 3c 66 69 6c 65 73 65 74 20 64 69 72 3d 22 24 7b 62 75 69 6c 64 7d ".>.......<fileset.dir="${build}
0480 22 20 2f 3e 0d 0a 09 20 20 20 20 3c 66 69 6c 65 73 65 74 20 64 69 72 3d 22 24 7b 73 72 63 7d 22 "./>.......<fileset.dir="${src}"
04a0 2f 3e 0d 0a 09 3c 2f 6a 61 72 3e 0d 0a 20 20 20 20 3c 2f 74 61 72 67 65 74 3e 0d 0a 20 0d 0a 20 />...</jar>......</target>......
04c0 20 20 20 3c 21 2d 2d 20 43 6f 6d 70 69 6c 65 20 74 68 65 20 6a 61 76 61 20 63 6f 64 65 20 66 72 ...<!--.Compile.the.java.code.fr
04e0 6f 6d 20 24 7b 73 72 63 7d 20 69 6e 74 6f 20 24 7b 62 75 69 6c 64 7d 20 2d 2d 3e 0d 0a 20 20 20 om.${src}.into.${build}.-->.....
0500 20 3c 74 61 72 67 65 74 20 6e 61 6d 65 3d 22 63 6f 6d 70 69 6c 65 22 20 64 65 70 65 6e 64 73 3d .<target.name="compile".depends=
0520 22 69 6e 69 74 22 20 64 65 73 63 72 69 70 74 69 6f 6e 3d 22 63 6f 6d 70 69 6c 65 20 74 68 65 20 "init".description="compile.the.
0540 73 6f 75 72 63 65 22 20 3e 0d 0a 20 20 20 20 20 20 20 20 3c 6a 61 76 61 63 20 73 72 63 64 69 72 source".>..........<javac.srcdir
0560 3d 22 24 7b 73 72 63 7d 22 20 64 65 73 74 64 69 72 3d 22 24 7b 62 75 69 6c 64 7d 22 20 64 65 62 ="${src}".destdir="${build}".deb
0580 75 67 3d 22 74 72 75 65 22 3e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6c 61 73 73 70 61 ug="true">..............<classpa
05a0 74 68 3e 0d 0a 09 20 20 20 20 3c 70 61 74 68 65 6c 65 6d 65 6e 74 20 6c 6f 63 61 74 69 6f 6e 3d th>.......<pathelement.location=
05c0 22 24 7b 43 4c 41 53 53 50 41 54 48 7d 22 2f 3e 0d 0a 09 20 20 20 20 3c 70 61 74 68 65 6c 65 6d "${CLASSPATH}"/>.......<pathelem
05e0 65 6e 74 20 6c 6f 63 61 74 69 6f 6e 3d 22 6c 69 62 2f 74 72 6f 76 65 2d 32 2e 30 2e 32 2e 6a 61 ent.location="lib/trove-2.0.2.ja
0600 72 22 2f 3e 20 0d 0a 09 20 20 20 20 3c 70 61 74 68 65 6c 65 6d 65 6e 74 20 6c 6f 63 61 74 69 6f r"/>........<pathelement.locatio
0620 6e 3d 22 6c 69 62 2f 61 72 67 73 34 6a 2d 32 2e 30 2e 31 30 2e 6a 61 72 22 2f 3e 0d 0a 09 20 20 n="lib/args4j-2.0.10.jar"/>.....
0640 20 20 3c 70 61 74 68 65 6c 65 6d 65 6e 74 20 6c 6f 63 61 74 69 6f 6e 3d 22 6c 69 62 2f 63 6f 6d ..<pathelement.location="lib/com
0660 6d 6f 6e 73 2d 6d 61 74 68 2d 32 2e 30 2e 6a 61 72 22 2f 3e 20 0d 0a 09 20 20 20 20 3c 2f 63 6c mons-math-2.0.jar"/>........</cl
0680 61 73 73 70 61 74 68 3e 0d 0a 09 3c 2f 6a 61 76 61 63 3e 0d 0a 20 20 20 20 3c 2f 74 61 72 67 65 asspath>...</javac>......</targe
06a0 74 3e 0d 0a 0d 0a 20 20 20 20 3c 21 2d 2d 20 72 65 6d 6f 76 65 20 74 68 65 20 61 75 74 6f 2d 67 t>........<!--.remove.the.auto-g
06c0 65 6e 65 72 61 74 65 64 20 73 74 75 66 66 20 2d 2d 3e 0d 0a 20 20 20 20 3c 74 61 72 67 65 74 20 enerated.stuff.-->......<target.
06e0 6e 61 6d 65 3d 22 63 6c 65 61 6e 22 20 64 65 73 63 72 69 70 74 69 6f 6e 3d 22 52 65 6d 6f 76 65 name="clean".description="Remove
0700 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 66 69 6c 65 73 22 3e 0d 0a 09 3c 64 65 6c 65 74 .auto-generated.files">...<delet
0720 65 20 64 69 72 3d 22 6a 61 76 61 64 6f 63 22 2f 3e 0d 0a 09 3c 64 65 6c 65 74 65 20 64 69 72 3d e.dir="javadoc"/>...<delete.dir=
0740 22 63 6c 61 73 73 22 2f 3e 0d 0a 09 3c 64 65 6c 65 74 65 20 64 69 72 3d 22 64 69 73 74 22 2f 3e "class"/>...<delete.dir="dist"/>
0760 0d 0a 20 20 20 20 3c 2f 74 61 72 67 65 74 3e 0d 0a 0d 0a 3c 2f 70 72 6f 6a 65 63 74 3e 0d 0a 50 ......</target>....</project>..P
0780 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 3f d8 ff 41 07 12 00 00 07 12 00 00 20 00 00 00 6f 70 74 K.........Y.<?..A............opt
07a0 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 78 32 79 32 2e 63 6c 61 73 73 ca fe ba imization/examples/x2y2.class...
07c0 be 00 00 00 32 00 c1 07 00 02 01 00 1a 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c ....2........optimization/exampl
07e0 65 73 2f 78 32 79 32 07 00 04 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 es/x2y2.....+optimization/gradie
0800 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 01 00 01 61 01 00 01 44 ntBasedMethods/Objective...a...D
0820 01 00 01 62 01 00 06 3c 69 6e 69 74 3e 01 00 05 28 44 44 29 56 01 00 04 43 6f 64 65 0a 00 03 00 ...b...<init>...(DD)V...Code....
0840 0c 0c 00 08 00 0d 01 00 03 28 29 56 09 00 01 00 0f 0c 00 05 00 06 09 00 01 00 11 0c 00 07 00 06 .........()V....................
0860 09 00 01 00 13 0c 00 14 00 15 01 00 0a 70 61 72 61 6d 65 74 65 72 73 01 00 02 5b 44 06 40 10 00 .............parameters...[D.@..
0880 00 00 00 00 00 09 00 01 00 19 0c 00 1a 00 15 01 00 08 67 72 61 64 69 65 6e 74 01 00 0f 4c 69 6e ..................gradient...Lin
08a0 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c eNumberTable...LocalVariableTabl
08c0 65 01 00 04 74 68 69 73 01 00 1c 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 e...this...Loptimization/example
08e0 73 2f 78 32 79 32 3b 01 00 08 67 65 74 56 61 6c 75 65 01 00 03 28 29 44 09 00 01 00 22 0c 00 23 s/x2y2;...getValue...()D...."..#
0900 00 24 01 00 0d 66 75 6e 63 74 69 6f 6e 43 61 6c 6c 73 01 00 01 49 01 00 0b 67 65 74 47 72 61 64 .$...functionCalls...I...getGrad
0920 69 65 6e 74 01 00 04 28 29 5b 44 09 00 01 00 28 0c 00 29 00 24 01 00 0d 67 72 61 64 69 65 6e 74 ient...()[D....(..).$...gradient
0940 43 61 6c 6c 73 06 40 00 00 00 00 00 00 00 01 00 1b 6f 70 74 69 6d 69 7a 65 57 69 74 68 47 72 61 Calls.@..........optimizeWithGra
0960 64 69 65 6e 74 44 65 73 63 65 6e 74 01 00 81 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 dientDescent...(Loptimization/li
0980 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 4c 6f 70 74 69 6d nesearch/LineSearchMethod;Loptim
09a0 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 ization/gradientBasedMethods/sta
09c0 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f ts/OptimizerStats;Loptimization/
09e0 65 78 61 6d 70 6c 65 73 2f 78 32 79 32 3b 29 56 07 00 2f 01 00 31 6f 70 74 69 6d 69 7a 61 74 69 examples/x2y2;)V../..1optimizati
0a00 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 47 72 61 64 69 65 6e 74 on/gradientBasedMethods/Gradient
0a20 44 65 73 63 65 6e 74 0a 00 2e 00 31 0c 00 08 00 32 01 00 2d 28 4c 6f 70 74 69 6d 69 7a 61 74 69 Descent....1....2..-(Loptimizati
0a40 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 29 on/linesearch/LineSearchMethod;)
0a60 56 07 00 34 01 00 28 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 V..4..(optimization/stopCriteria
0a80 2f 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 06 3f 50 62 4d d2 f1 a9 fc 0a 00 33 00 38 0c 00 08 /GradientL2Norm.?PbM......3.8...
0aa0 00 39 01 00 04 28 44 29 56 0a 00 2e 00 3b 0c 00 3c 00 3d 01 00 10 73 65 74 4d 61 78 49 74 65 72 .9...(D)V....;..<.=...setMaxIter
0ac0 61 74 69 6f 6e 73 01 00 04 28 49 29 56 0a 00 2e 00 3f 0c 00 40 00 41 01 00 08 6f 70 74 69 6d 69 ations...(I)V....?..@.A...optimi
0ae0 7a 65 01 00 93 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 ze...(Loptimization/gradientBase
0b00 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e dMethods/Objective;Loptimization
0b20 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 /gradientBasedMethods/stats/Opti
0b40 6d 69 7a 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 mizerStats;Loptimization/stopCri
0b60 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 5a 09 00 43 00 45 07 00 44 teria/StopingCriteria;)Z..C.E..D
0b80 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 46 00 47 01 00 03 6f 75 74 01 00 ...java/lang/System..F.G...out..
0ba0 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 00 49 01 00 17 6a 61 76 61 .Ljava/io/PrintStream;..I...java
0bc0 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 4b 01 00 23 45 6e 64 65 64 20 6f /lang/StringBuilder..K..#Ended.o
0be0 70 74 69 6d 7a 61 74 69 6f 6e 20 47 72 61 64 69 65 6e 74 20 44 65 73 63 65 6e 74 0a 0a 00 48 00 ptimzation.Gradient.Descent...H.
0c00 4d 0c 00 08 00 4e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 M....N...(Ljava/lang/String;)V..
0c20 50 00 52 07 00 51 01 00 36 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 P.R..Q..6optimization/gradientBa
0c40 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 0c sedMethods/stats/OptimizerStats.
0c60 00 53 00 54 01 00 0b 70 72 65 74 74 79 50 72 69 6e 74 01 00 15 28 49 29 4c 6a 61 76 61 2f 6c 61 .S.T...prettyPrint...(I)Ljava/la
0c80 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 48 00 56 0c 00 57 00 58 01 00 06 61 70 70 65 6e 64 01 00 2d ng/String;..H.V..W.X...append..-
0ca0 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 (Ljava/lang/String;)Ljava/lang/S
0cc0 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 48 00 5a 0c 00 5b 00 5c 01 00 08 74 6f 53 74 72 69 tringBuilder;..H.Z..[.\...toStri
0ce0 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 5e 00 60 07 00 ng...()Ljava/lang/String;..^.`..
0d00 5f 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 61 00 4e 01 00 07 70 _...java/io/PrintStream..a.N...p
0d20 72 69 6e 74 6c 6e 08 00 63 01 00 0e 53 6f 6c 75 74 69 6f 6e 3a 20 20 78 30 20 0a 00 48 00 65 0c rintln..c...Solution:..x0...H.e.
0d40 00 57 00 66 01 00 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 .W.f...(D)Ljava/lang/StringBuild
0d60 65 72 3b 08 00 68 01 00 04 20 78 31 20 08 00 6a 01 00 16 45 6e 64 65 64 20 6f 70 74 69 6d 69 7a er;..h....x1...j...Ended.optimiz
0d80 61 74 69 6f 6e 20 69 6e 20 0a 00 2e 00 6c 0c 00 6d 00 6e 01 00 13 67 65 74 43 75 72 72 65 6e 74 ation.in.....l..m.n...getCurrent
0da0 49 74 65 72 61 74 69 6f 6e 01 00 03 28 29 49 0a 00 48 00 70 0c 00 57 00 71 01 00 1c 28 49 29 4c Iteration...()I..H.p..W.q...(I)L
0dc0 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 73 01 00 12 46 61 java/lang/StringBuilder;..s...Fa
0de0 69 6c 65 64 20 74 6f 20 6f 70 74 69 6d 69 7a 65 01 00 02 6c 73 01 00 2a 4c 6f 70 74 69 6d 69 7a iled.to.optimize...ls..*Loptimiz
0e00 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f ation/linesearch/LineSearchMetho
0e20 64 3b 01 00 05 73 74 61 74 73 01 00 38 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 d;...stats..8Loptimization/gradi
0e40 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 entBasedMethods/stats/OptimizerS
0e60 74 61 74 73 3b 01 00 01 6f 01 00 09 6f 70 74 69 6d 69 7a 65 72 01 00 33 4c 6f 70 74 69 6d 69 7a tats;...o...optimizer..3Loptimiz
0e80 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 47 72 61 64 69 ation/gradientBasedMethods/Gradi
0ea0 65 6e 74 44 65 73 63 65 6e 74 3b 01 00 04 73 74 6f 70 01 00 2b 4c 6f 70 74 69 6d 69 7a 61 74 69 entDescent;...stop..+Loptimizati
0ec0 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b on/stopCriteria/StopingCriteria;
0ee0 01 00 06 73 75 63 63 65 64 01 00 01 5a 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 07 00 81 ...succed...Z...StackMapTable...
0f00 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f ..)optimization/stopCriteria/Sto
0f20 70 69 6e 67 43 72 69 74 65 72 69 61 01 00 1d 6f 70 74 69 6d 69 7a 65 57 69 74 68 43 6f 6e 6a 75 pingCriteria...optimizeWithConju
0f40 67 61 74 65 47 72 61 64 69 65 6e 74 07 00 84 01 00 33 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 gateGradient.....3optimization/g
0f60 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 43 6f 6e 6a 75 67 61 74 65 47 72 61 radientBasedMethods/ConjugateGra
0f80 64 69 65 6e 74 0a 00 83 00 31 0a 00 83 00 3b 0a 00 83 00 3f 08 00 89 01 00 25 45 6e 64 65 64 20 dient....1....;....?.....%Ended.
0fa0 6f 70 74 69 6d 7a 61 74 69 6f 6e 20 43 6f 6e 6a 75 67 61 74 65 20 47 72 61 64 69 65 6e 74 0a 0a optimzation.Conjugate.Gradient..
0fc0 00 83 00 6c 01 00 35 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 ...l..5Loptimization/gradientBas
0fe0 65 64 4d 65 74 68 6f 64 73 2f 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 3b 01 00 11 6f edMethods/ConjugateGradient;...o
1000 70 74 69 6d 69 7a 65 57 69 74 68 4c 42 46 47 53 07 00 8e 01 00 27 6f 70 74 69 6d 69 7a 61 74 69 ptimizeWithLBFGS.....'optimizati
1020 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4c 42 46 47 53 0a 00 8d on/gradientBasedMethods/LBFGS...
1040 00 90 0c 00 08 00 91 01 00 2e 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 ..........(Loptimization/linesea
1060 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 49 29 56 0a 00 8d 00 3b 0a 00 8d rch/LineSearchMethod;I)V....;...
1080 00 3f 08 00 95 01 00 18 45 6e 64 65 64 20 6f 70 74 69 6d 7a 61 74 69 6f 6e 20 4c 42 46 47 53 0a .?......Ended.optimzation.LBFGS.
10a0 0a 00 8d 00 6c 01 00 29 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 ....l..)Loptimization/gradientBa
10c0 73 65 64 4d 65 74 68 6f 64 73 2f 4c 42 46 47 53 3b 01 00 04 6d 61 69 6e 01 00 16 28 5b 4c 6a 61 sedMethods/LBFGS;...main...([Lja
10e0 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 06 40 24 00 00 00 00 00 00 0a 00 01 00 9d 0c va/lang/String;)V.@$............
1100 00 08 00 09 08 00 9f 01 00 1a 53 74 61 72 74 69 6e 67 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 ..........Starting.optimization.
1120 20 78 30 20 0a 00 01 00 a1 0c 00 a2 00 3d 01 00 0d 73 65 74 44 65 62 75 67 4c 65 76 65 6c 07 00 .x0..........=...setDebugLevel..
1140 a4 01 00 2a 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c 66 ...*optimization/linesearch/Wolf
1160 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 07 00 a6 01 00 2c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e RuleLineSearch.....,optimization
1180 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 /linesearch/GenericPickFirstStep
11a0 0a 00 a5 00 38 06 3f ec cc cc cc cc cc cd 0a 00 a3 00 ab 0c 00 08 00 ac 01 00 33 28 4c 6f 70 74 ....8.?...................3(Lopt
11c0 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b imization/linesearch/GenericPick
11e0 46 69 72 73 74 53 74 65 70 3b 44 44 29 56 0a 00 50 00 0c 0a 00 01 00 af 0c 00 2c 00 2d 0a 00 01 FirstStep;DD)V..P.........,.-...
1200 00 b1 0c 00 82 00 2d 0a 00 01 00 b3 0c 00 8c 00 2d 01 00 04 61 72 67 73 01 00 13 5b 4c 6a 61 76 ......-.........-...args...[Ljav
1220 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 05 77 6f 6c 66 65 08 00 b8 01 00 04 50 31 3a 20 a/lang/String;...wolfe......P1:.
1240 08 00 ba 01 00 05 20 50 32 3a 20 08 00 bc 01 00 07 20 76 61 6c 75 65 20 0a 00 01 00 be 0c 00 1f .......P2:........value.........
1260 00 20 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 09 78 32 79 32 2e 6a 61 76 61 00 21 00 01 00 .....SourceFile...x2y2.java.!...
1280 03 00 00 00 02 00 00 00 05 00 06 00 00 00 00 00 07 00 06 00 00 00 08 00 01 00 08 00 09 00 01 00 ................................
12a0 0a 00 00 00 89 00 04 00 05 00 00 00 2f 2a b7 00 0b 2a 27 b5 00 0e 2a 29 b5 00 10 2a 05 bc 07 b5 ............/*...*'...*)...*....
12c0 00 12 2a b4 00 12 03 14 00 16 52 2a b4 00 12 04 14 00 16 52 2a 05 bc 07 b5 00 18 b1 00 00 00 02 ..*.......R*.......R*...........
12e0 00 1b 00 00 00 22 00 08 00 00 00 1a 00 04 00 1b 00 09 00 1c 00 0e 00 1d 00 15 00 1e 00 1e 00 1f ....."..........................
1300 00 27 00 20 00 2e 00 21 00 1c 00 00 00 20 00 03 00 00 00 2f 00 1d 00 1e 00 00 00 00 00 2f 00 05 .'.....!.........../........./..
1320 00 06 00 01 00 00 00 2f 00 07 00 06 00 03 00 01 00 1f 00 20 00 01 00 0a 00 00 00 5e 00 06 00 01 ......./...................^....
1340 00 00 00 30 2a 59 b4 00 21 04 60 b5 00 21 2a b4 00 0e 2a b4 00 12 03 31 6b 2a b4 00 12 03 31 6b ...0*Y..!.`..!*...*....1k*....1k
1360 2a b4 00 10 2a b4 00 12 04 31 6b 2a b4 00 12 04 31 6b 63 af 00 00 00 02 00 1b 00 00 00 0a 00 02 *...*....1k*....1kc.............
1380 00 00 00 24 00 0a 00 25 00 1c 00 00 00 0c 00 01 00 00 00 30 00 1d 00 1e 00 00 00 01 00 25 00 26 ...$...%...........0.........%.&
13a0 00 01 00 0a 00 00 00 6f 00 06 00 01 00 00 00 39 2a 59 b4 00 27 04 60 b5 00 27 2a b4 00 18 03 14 .......o.......9*Y..'.`..'*.....
13c0 00 2a 2a b4 00 0e 6b 2a b4 00 12 03 31 6b 52 2a b4 00 18 04 14 00 2a 2a b4 00 10 6b 2a b4 00 12 .**...k*....1kR*......**...k*...
13e0 04 31 6b 52 2a b4 00 18 b0 00 00 00 02 00 1b 00 00 00 12 00 04 00 00 00 29 00 0a 00 2a 00 1f 00 .1kR*...................)...*...
1400 2b 00 34 00 2c 00 1c 00 00 00 0c 00 01 00 00 00 39 00 1d 00 1e 00 00 00 01 00 2c 00 2d 00 01 00 +.4.,...........9.........,.-...
1420 0a 00 00 01 33 00 04 00 07 00 00 00 96 bb 00 2e 59 2b b7 00 30 3a 04 bb 00 33 59 14 00 35 b7 00 ....3...........Y+..0:...3Y..5..
1440 37 3a 05 19 04 10 64 b6 00 3a 19 04 2d 2c 19 05 b6 00 3e 36 06 b2 00 42 bb 00 48 59 12 4a b7 00 7:....d..:..-,....>6...B..HY.J..
1460 4c 2c 04 b6 00 4f b6 00 55 b6 00 59 b6 00 5d b2 00 42 bb 00 48 59 12 62 b7 00 4c 2d b4 00 12 03 L,...O..U..Y..]..B..HY.b..L-....
1480 31 b6 00 64 12 67 b6 00 55 2d b4 00 12 04 31 b6 00 64 b6 00 59 b6 00 5d 15 06 99 00 20 b2 00 42 1..d.g..U-....1..d..Y..].......B
14a0 bb 00 48 59 12 69 b7 00 4c 19 04 b6 00 6b b6 00 6f b6 00 59 b6 00 5d a7 00 0b b2 00 42 12 72 b6 ..HY.i..L....k..o..Y..].....B.r.
14c0 00 5d b1 00 00 00 03 00 1b 00 00 00 2a 00 0a 00 00 00 3c 00 0a 00 3d 00 16 00 3f 00 1d 00 40 00 .]..........*.....<...=...?...@.
14e0 28 00 41 00 42 00 42 00 6b 00 43 00 70 00 44 00 8d 00 46 00 95 00 48 00 1c 00 00 00 48 00 07 00 (.A.B.B.k.C.p.D...F...H.....H...
1500 00 00 96 00 1d 00 1e 00 00 00 00 00 96 00 74 00 75 00 01 00 00 00 96 00 76 00 77 00 02 00 00 00 ..............t.u.......v.w.....
1520 96 00 78 00 1e 00 03 00 0a 00 8c 00 79 00 7a 00 04 00 16 00 80 00 7b 00 7c 00 05 00 28 00 6e 00 ..x.........y.z.......{.|...(.n.
1540 7d 00 7e 00 06 00 7f 00 00 00 0d 00 02 fe 00 8d 07 00 2e 07 00 80 01 07 00 01 00 82 00 2d 00 01 }.~..........................-..
1560 00 0a 00 00 01 33 00 04 00 07 00 00 00 96 bb 00 83 59 2b b7 00 85 3a 04 bb 00 33 59 14 00 35 b7 .....3...........Y+...:...3Y..5.
1580 00 37 3a 05 19 04 10 0a b6 00 86 19 04 2d 2c 19 05 b6 00 87 36 06 b2 00 42 bb 00 48 59 12 88 b7 .7:..........-,.....6...B..HY...
15a0 00 4c 2c 04 b6 00 4f b6 00 55 b6 00 59 b6 00 5d b2 00 42 bb 00 48 59 12 62 b7 00 4c 2d b4 00 12 .L,...O..U..Y..]..B..HY.b..L-...
15c0 03 31 b6 00 64 12 67 b6 00 55 2d b4 00 12 04 31 b6 00 64 b6 00 59 b6 00 5d 15 06 99 00 20 b2 00 .1..d.g..U-....1..d..Y..].......
15e0 42 bb 00 48 59 12 69 b7 00 4c 19 04 b6 00 8a b6 00 6f b6 00 59 b6 00 5d a7 00 0b b2 00 42 12 72 B..HY.i..L.......o..Y..].....B.r
1600 b6 00 5d b1 00 00 00 03 00 1b 00 00 00 2a 00 0a 00 00 00 4b 00 0a 00 4c 00 16 00 4e 00 1d 00 4f ..]..........*.....K...L...N...O
1620 00 28 00 50 00 42 00 51 00 6b 00 52 00 70 00 53 00 8d 00 55 00 95 00 57 00 1c 00 00 00 48 00 07 .(.P.B.Q.k.R.p.S...U...W.....H..
1640 00 00 00 96 00 1d 00 1e 00 00 00 00 00 96 00 74 00 75 00 01 00 00 00 96 00 76 00 77 00 02 00 00 ...............t.u.......v.w....
1660 00 96 00 78 00 1e 00 03 00 0a 00 8c 00 79 00 8b 00 04 00 16 00 80 00 7b 00 7c 00 05 00 28 00 6e ...x.........y.........{.|...(.n
1680 00 7d 00 7e 00 06 00 7f 00 00 00 0d 00 02 fe 00 8d 07 00 83 07 00 80 01 07 00 01 00 8c 00 2d 00 .}.~..........................-.
16a0 01 00 0a 00 00 01 35 00 04 00 07 00 00 00 98 bb 00 8d 59 2b 10 0a b7 00 8f 3a 04 bb 00 33 59 14 ......5...........Y+.....:...3Y.
16c0 00 35 b7 00 37 3a 05 19 04 10 0a b6 00 92 19 04 2d 2c 19 05 b6 00 93 36 06 b2 00 42 bb 00 48 59 .5..7:..........-,.....6...B..HY
16e0 12 94 b7 00 4c 2c 04 b6 00 4f b6 00 55 b6 00 59 b6 00 5d b2 00 42 bb 00 48 59 12 62 b7 00 4c 2d ....L,...O..U..Y..]..B..HY.b..L-
1700 b4 00 12 03 31 b6 00 64 12 67 b6 00 55 2d b4 00 12 04 31 b6 00 64 b6 00 59 b6 00 5d 15 06 99 00 ....1..d.g..U-....1..d..Y..]....
1720 20 b2 00 42 bb 00 48 59 12 69 b7 00 4c 19 04 b6 00 96 b6 00 6f b6 00 59 b6 00 5d a7 00 0b b2 00 ...B..HY.i..L.......o..Y..].....
1740 42 12 72 b6 00 5d b1 00 00 00 03 00 1b 00 00 00 2a 00 0a 00 00 00 5a 00 0c 00 5b 00 18 00 5c 00 B.r..]..........*.....Z...[...\.
1760 1f 00 5d 00 2a 00 5e 00 44 00 5f 00 6d 00 60 00 72 00 61 00 8f 00 63 00 97 00 65 00 1c 00 00 00 ..].*.^.D._.m.`.r.a...c...e.....
1780 48 00 07 00 00 00 98 00 1d 00 1e 00 00 00 00 00 98 00 74 00 75 00 01 00 00 00 98 00 76 00 77 00 H.................t.u.......v.w.
17a0 02 00 00 00 98 00 78 00 1e 00 03 00 0c 00 8c 00 79 00 97 00 04 00 18 00 80 00 7b 00 7c 00 05 00 ......x.........y.........{.|...
17c0 2a 00 6e 00 7d 00 7e 00 06 00 7f 00 00 00 0d 00 02 fe 00 8f 07 00 8d 07 00 80 01 07 00 09 00 98 *.n.}.~.........................
17e0 00 99 00 01 00 0a 00 00 01 68 00 07 00 04 00 00 00 e8 bb 00 01 59 0f 14 00 9a b7 00 9c 4c b2 00 .........h...........Y.......L..
1800 42 bb 00 48 59 12 9e b7 00 4c 2b b4 00 12 03 31 b6 00 64 12 67 b6 00 55 2b b4 00 12 04 31 b6 00 B..HY....L+....1..d.g..U+....1..
1820 64 b6 00 59 b6 00 5d 2b 07 b6 00 a0 bb 00 a3 59 bb 00 a5 59 0f b7 00 a7 14 00 35 14 00 a8 b7 00 d..Y..]+.......Y...Y......5.....
1840 aa 4d bb 00 50 59 b7 00 ad 4e 2b 2c 2d 2b b6 00 ae bb 00 01 59 0f 14 00 9a b7 00 9c 4c b2 00 42 .M..PY...N+,-+......Y.......L..B
1860 bb 00 48 59 12 9e b7 00 4c 2b b4 00 12 03 31 b6 00 64 12 67 b6 00 55 2b b4 00 12 04 31 b6 00 64 ..HY....L+....1..d.g..U+....1..d
1880 b6 00 59 b6 00 5d bb 00 50 59 b7 00 ad 4e 2b 2c 2d 2b b6 00 b0 bb 00 01 59 0f 14 00 9a b7 00 9c ..Y..]..PY...N+,-+......Y.......
18a0 4c b2 00 42 bb 00 48 59 12 9e b7 00 4c 2b b4 00 12 03 31 b6 00 64 12 67 b6 00 55 2b b4 00 12 04 L..B..HY....L+....1..d.g..U+....
18c0 31 b6 00 64 b6 00 59 b6 00 5d bb 00 50 59 b7 00 ad 4e 2b 2c 2d 2b b6 00 b2 b1 00 00 00 02 00 1b 1..d..Y..]..PY...N+,-+..........
18e0 00 00 00 3e 00 0f 00 00 00 68 00 0c 00 69 00 35 00 6a 00 3a 00 6b 00 50 00 6d 00 58 00 6e 00 5f ...>.....h...i.5.j.:.k.P.m.X.n._
1900 00 6f 00 6b 00 70 00 94 00 72 00 9c 00 73 00 a3 00 74 00 af 00 75 00 d8 00 77 00 e0 00 78 00 e7 .o.k.p...r...s...t...u...w...x..
1920 00 79 00 1c 00 00 00 2a 00 04 00 00 00 e8 00 b4 00 b5 00 00 00 0c 00 dc 00 78 00 1e 00 01 00 50 .y.....*.................x.....P
1940 00 98 00 b6 00 75 00 02 00 58 00 90 00 76 00 77 00 03 00 01 00 5b 00 5c 00 01 00 0a 00 00 00 5a .....u...X...v.w.....[.\.......Z
1960 00 03 00 01 00 00 00 30 bb 00 48 59 12 b7 b7 00 4c 2a b4 00 12 03 31 b6 00 64 12 b9 b6 00 55 2a .......0..HY....L*....1..d....U*
1980 b4 00 12 04 31 b6 00 64 12 bb b6 00 55 2a b6 00 bd b6 00 64 b6 00 59 b0 00 00 00 02 00 1b 00 00 ....1..d....U*.....d..Y.........
19a0 00 06 00 01 00 00 00 7c 00 1c 00 00 00 0c 00 01 00 00 00 30 00 1d 00 1e 00 00 00 01 00 bf 00 00 .......|...........0............
19c0 00 02 00 c0 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 29 2d 1e 8d 4d 11 00 00 4d 11 00 00 1f 00 ....PK.........i.<)-..M...M.....
19e0 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 78 32 79 32 2e 6a 61 76 ..optimization/examples/x2y2.jav
1a00 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 65 78 61 6d 70 6c 65 73 3b 0a apackage.optimization.examples;.
1a20 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 ..import.optimization.gradientBa
1a40 73 65 64 4d 65 74 68 6f 64 73 2e 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 3b 0a 0a 69 sedMethods.ConjugateGradient;..i
1a60 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 mport.optimization.gradientBased
1a80 4d 65 74 68 6f 64 73 2e 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 3b 0a 69 6d 70 6f 72 74 20 Methods.GradientDescent;.import.
1aa0 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 optimization.gradientBasedMethod
1ac0 73 2e 4c 42 46 47 53 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 s.LBFGS;.import.optimization.gra
1ae0 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 dientBasedMethods.Objective;.imp
1b00 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 ort.optimization.gradientBasedMe
1b20 74 68 6f 64 73 2e 73 74 61 74 73 2e 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 0a 69 6d 70 6f thods.stats.OptimizerStats;.impo
1b40 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 47 65 6e 65 72 rt.optimization.linesearch.Gener
1b60 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 icPickFirstStep;.import.optimiza
1b80 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 tion.linesearch.LineSearchMethod
1ba0 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 ;.import.optimization.linesearch
1bc0 2e 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 .WolfRuleLineSearch;.import.opti
1be0 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 47 72 61 64 69 65 6e 74 4c 32 mization.stopCriteria.GradientL2
1c00 4e 6f 72 6d 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 Norm;.import.optimization.stopCr
1c20 69 74 65 72 69 61 2e 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 0a 0a 0a 2f 2a 2a 0a 20 2a iteria.StopingCriteria;.../**..*
1c40 20 40 61 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 63 6c 61 73 .@author.javg..*..*/.public.clas
1c60 73 20 78 32 79 32 20 65 78 74 65 6e 64 73 20 4f 62 6a 65 63 74 69 76 65 7b 0a 0a 09 0a 09 2f 2f s.x2y2.extends.Objective{.....//
1c80 49 6d 70 6c 65 6d 65 6e 74 73 20 66 75 6e 63 74 69 6f 6e 20 61 78 32 2b 20 62 79 32 20 0a 09 64 Implements.function.ax2+.by2...d
1ca0 6f 75 62 6c 65 20 61 2c 20 62 3b 0a 09 70 75 62 6c 69 63 20 78 32 79 32 28 64 6f 75 62 6c 65 20 ouble.a,.b;..public.x2y2(double.
1cc0 61 2c 20 64 6f 75 62 6c 65 20 62 29 7b 0a 09 09 74 68 69 73 2e 61 20 3d 20 61 3b 0a 09 09 74 68 a,.double.b){...this.a.=.a;...th
1ce0 69 73 2e 62 20 3d 20 62 3b 0a 09 09 70 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 64 6f 75 is.b.=.b;...parameters.=.new.dou
1d00 62 6c 65 5b 32 5d 3b 0a 09 09 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 20 3d 20 34 3b 0a 09 09 70 ble[2];...parameters[0].=.4;...p
1d20 61 72 61 6d 65 74 65 72 73 5b 31 5d 20 3d 20 34 3b 0a 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6e arameters[1].=.4;...gradient.=.n
1d40 65 77 20 64 6f 75 62 6c 65 5b 32 5d 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c ew.double[2];..}....public.doubl
1d60 65 20 67 65 74 56 61 6c 75 65 28 29 20 7b 0a 09 09 66 75 6e 63 74 69 6f 6e 43 61 6c 6c 73 2b 2b e.getValue().{...functionCalls++
1d80 3b 0a 09 09 72 65 74 75 72 6e 20 61 2a 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 2a 70 61 72 61 6d ;...return.a*parameters[0]*param
1da0 65 74 65 72 73 5b 30 5d 2b 62 2a 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 2a 70 61 72 61 6d 65 74 eters[0]+b*parameters[1]*paramet
1dc0 65 72 73 5b 31 5d 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 ers[1];..}...public.double[].get
1de0 47 72 61 64 69 65 6e 74 28 29 20 7b 0a 09 09 67 72 61 64 69 65 6e 74 43 61 6c 6c 73 2b 2b 3b 0a Gradient().{...gradientCalls++;.
1e00 09 09 67 72 61 64 69 65 6e 74 5b 30 5d 3d 32 2a 61 2a 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 3b ..gradient[0]=2*a*parameters[0];
1e20 0a 09 09 67 72 61 64 69 65 6e 74 5b 31 5d 3d 32 2a 62 2a 70 61 72 61 6d 65 74 65 72 73 5b 31 5d ...gradient[1]=2*b*parameters[1]
1e40 3b 0a 09 09 72 65 74 75 72 6e 20 67 72 61 64 69 65 6e 74 3b 0a 2f 2f 09 09 69 66 28 64 65 62 75 ;...return.gradient;.//..if(debu
1e60 67 4c 65 76 65 6c 20 3e 3d 32 29 7b 0a 2f 2f 09 09 09 64 6f 75 62 6c 65 5b 5d 20 6e 75 6d 65 72 gLevel.>=2){.//...double[].numer
1e80 69 63 61 6c 47 72 61 64 69 65 6e 74 20 3d 20 44 65 62 75 67 48 65 6c 70 65 72 73 2e 67 65 74 4e icalGradient.=.DebugHelpers.getN
1ea0 75 6d 65 72 69 63 61 6c 47 72 61 64 69 65 6e 74 28 74 68 69 73 2c 20 70 61 72 61 6d 65 74 65 72 umericalGradient(this,.parameter
1ec0 73 2c 20 30 2e 30 30 30 30 30 31 29 3b 0a 2f 2f 09 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 s,.0.000001);.//...for(int.i.=.0
1ee0 3b 20 69 20 3c 20 70 61 72 61 6d 65 74 65 72 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 2f ;.i.<.parameters.length;.i++){./
1f00 2f 09 09 09 09 64 6f 75 62 6c 65 20 64 69 66 66 20 3d 20 4d 61 74 68 2e 61 62 73 28 67 72 61 64 /....double.diff.=.Math.abs(grad
1f20 69 65 6e 74 5b 69 5d 2d 6e 75 6d 65 72 69 63 61 6c 47 72 61 64 69 65 6e 74 5b 69 5d 29 3b 0a 2f ient[i]-numericalGradient[i]);./
1f40 2f 09 09 09 09 69 66 28 64 69 66 66 20 3e 20 30 2e 30 30 30 30 31 29 7b 0a 2f 2f 09 09 09 09 09 /....if(diff.>.0.00001){.//.....
1f60 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4e 75 6d 65 72 69 63 61 6c 20 47 72 System.out.println("Numerical.Gr
1f80 61 64 69 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 22 29 3b 0a 2f 2f 09 09 09 09 09 adient.does.not.match");.//.....
1fa0 53 79 73 74 65 6d 2e 65 78 69 74 28 31 29 3b 0a 2f 2f 09 09 09 09 7d 0a 2f 2f 09 09 09 7d 0a 2f System.exit(1);.//....}.//...}./
1fc0 2f 09 09 7d 0a 09 7d 0a 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 6f 70 74 69 6d 69 /..}..}.......public.void.optimi
1fe0 7a 65 57 69 74 68 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 28 4c 69 6e 65 53 65 61 72 63 68 zeWithGradientDescent(LineSearch
2000 4d 65 74 68 6f 64 20 6c 73 2c 20 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c Method.ls,.OptimizerStats.stats,
2020 20 78 32 79 32 20 6f 29 7b 0a 09 09 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 20 6f 70 74 69 .x2y2.o){...GradientDescent.opti
2040 6d 69 7a 65 72 20 3d 20 6e 65 77 20 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 28 6c 73 29 3b mizer.=.new.GradientDescent(ls);
2060 0a 09 09 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 20 3d 20 6e 65 77 20 47 72 ...StopingCriteria.stop.=.new.Gr
2080 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 28 30 2e 30 30 31 29 3b 0a 2f 2f 09 09 6f 70 74 69 6d 69 7a adientL2Norm(0.001);.//..optimiz
20a0 65 72 2e 73 65 74 47 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 28 30 er.setGradientConvergenceValue(0
20c0 2e 30 30 31 29 3b 0a 09 09 6f 70 74 69 6d 69 7a 65 72 2e 73 65 74 4d 61 78 49 74 65 72 61 74 69 .001);...optimizer.setMaxIterati
20e0 6f 6e 73 28 31 30 30 29 3b 0a 09 09 62 6f 6f 6c 65 61 6e 20 73 75 63 63 65 64 20 3d 20 6f 70 74 ons(100);...boolean.succed.=.opt
2100 69 6d 69 7a 65 72 2e 6f 70 74 69 6d 69 7a 65 28 6f 2c 73 74 61 74 73 2c 73 74 6f 70 29 3b 0a 09 imizer.optimize(o,stats,stop);..
2120 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 45 6e 64 65 64 20 6f 70 74 69 6d .System.out.println("Ended.optim
2140 7a 61 74 69 6f 6e 20 47 72 61 64 69 65 6e 74 20 44 65 73 63 65 6e 74 5c 6e 22 20 2b 20 73 74 61 zation.Gradient.Descent\n".+.sta
2160 74 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 31 29 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 ts.prettyPrint(1));...System.out
2180 2e 70 72 69 6e 74 6c 6e 28 22 53 6f 6c 75 74 69 6f 6e 3a 20 22 20 2b 20 22 20 78 30 20 22 20 2b .println("Solution:.".+.".x0.".+
21a0 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 2b 20 22 20 78 31 20 22 20 2b 20 6f 2e 70 61 72 .o.parameters[0]+.".x1.".+.o.par
21c0 61 6d 65 74 65 72 73 5b 31 5d 29 3b 0a 09 09 69 66 28 73 75 63 63 65 64 29 7b 0a 09 09 09 53 79 ameters[1]);...if(succed){....Sy
21e0 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 45 6e 64 65 64 20 6f 70 74 69 6d 69 7a 61 stem.out.println("Ended.optimiza
2200 74 69 6f 6e 20 69 6e 20 22 20 2b 20 6f 70 74 69 6d 69 7a 65 72 2e 67 65 74 43 75 72 72 65 6e 74 tion.in.".+.optimizer.getCurrent
2220 49 74 65 72 61 74 69 6f 6e 28 29 29 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 53 79 73 74 65 6d Iteration());...}else{....System
2240 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 6f 70 74 69 6d 69 7a 65 .out.println("Failed.to.optimize
2260 22 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 6f 70 74 69 6d 69 ");...}..}....public.void.optimi
2280 7a 65 57 69 74 68 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 28 4c 69 6e 65 53 65 61 72 zeWithConjugateGradient(LineSear
22a0 63 68 4d 65 74 68 6f 64 20 6c 73 2c 20 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 chMethod.ls,.OptimizerStats.stat
22c0 73 2c 20 78 32 79 32 20 6f 29 7b 0a 09 09 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 20 s,.x2y2.o){...ConjugateGradient.
22e0 6f 70 74 69 6d 69 7a 65 72 20 3d 20 6e 65 77 20 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e optimizer.=.new.ConjugateGradien
2300 74 28 6c 73 29 3b 0a 09 09 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 20 3d 20 t(ls);...StopingCriteria.stop.=.
2320 6e 65 77 20 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 28 30 2e 30 30 31 29 3b 0a 0a 09 09 6f 70 new.GradientL2Norm(0.001);....op
2340 74 69 6d 69 7a 65 72 2e 73 65 74 4d 61 78 49 74 65 72 61 74 69 6f 6e 73 28 31 30 29 3b 0a 09 09 timizer.setMaxIterations(10);...
2360 62 6f 6f 6c 65 61 6e 20 73 75 63 63 65 64 20 3d 20 6f 70 74 69 6d 69 7a 65 72 2e 6f 70 74 69 6d boolean.succed.=.optimizer.optim
2380 69 7a 65 28 6f 2c 73 74 61 74 73 2c 73 74 6f 70 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e ize(o,stats,stop);...System.out.
23a0 70 72 69 6e 74 6c 6e 28 22 45 6e 64 65 64 20 6f 70 74 69 6d 7a 61 74 69 6f 6e 20 43 6f 6e 6a 75 println("Ended.optimzation.Conju
23c0 67 61 74 65 20 47 72 61 64 69 65 6e 74 5c 6e 22 20 2b 20 73 74 61 74 73 2e 70 72 65 74 74 79 50 gate.Gradient\n".+.stats.prettyP
23e0 72 69 6e 74 28 31 29 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 rint(1));...System.out.println("
2400 53 6f 6c 75 74 69 6f 6e 3a 20 22 20 2b 20 22 20 78 30 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 Solution:.".+.".x0.".+.o.paramet
2420 65 72 73 5b 30 5d 2b 20 22 20 78 31 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 31 5d ers[0]+.".x1.".+.o.parameters[1]
2440 29 3b 0a 09 09 69 66 28 73 75 63 63 65 64 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 );...if(succed){....System.out.p
2460 72 69 6e 74 6c 6e 28 22 45 6e 64 65 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 69 6e 20 22 20 rintln("Ended.optimization.in.".
2480 2b 20 6f 70 74 69 6d 69 7a 65 72 2e 67 65 74 43 75 72 72 65 6e 74 49 74 65 72 61 74 69 6f 6e 28 +.optimizer.getCurrentIteration(
24a0 29 29 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 ));...}else{....System.out.print
24c0 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 6f 70 74 69 6d 69 7a 65 22 29 3b 0a 09 09 7d 0a 09 7d ln("Failed.to.optimize");...}..}
24e0 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 6f 70 74 69 6d 69 7a 65 57 69 74 68 4c 42 46 47 ....public.void.optimizeWithLBFG
2500 53 28 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 2c 20 4f 70 74 69 6d 69 7a 65 72 S(LineSearchMethod.ls,.Optimizer
2520 53 74 61 74 73 20 73 74 61 74 73 2c 20 78 32 79 32 20 6f 29 7b 0a 09 09 4c 42 46 47 53 20 6f 70 Stats.stats,.x2y2.o){...LBFGS.op
2540 74 69 6d 69 7a 65 72 20 3d 20 6e 65 77 20 4c 42 46 47 53 28 6c 73 2c 31 30 29 3b 0a 09 09 53 74 timizer.=.new.LBFGS(ls,10);...St
2560 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 20 3d 20 6e 65 77 20 47 72 61 64 69 65 6e opingCriteria.stop.=.new.Gradien
2580 74 4c 32 4e 6f 72 6d 28 30 2e 30 30 31 29 3b 0a 09 09 6f 70 74 69 6d 69 7a 65 72 2e 73 65 74 4d tL2Norm(0.001);...optimizer.setM
25a0 61 78 49 74 65 72 61 74 69 6f 6e 73 28 31 30 29 3b 0a 09 09 62 6f 6f 6c 65 61 6e 20 73 75 63 63 axIterations(10);...boolean.succ
25c0 65 64 20 3d 20 6f 70 74 69 6d 69 7a 65 72 2e 6f 70 74 69 6d 69 7a 65 28 6f 2c 73 74 61 74 73 2c ed.=.optimizer.optimize(o,stats,
25e0 73 74 6f 70 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 45 6e 64 stop);...System.out.println("End
2600 65 64 20 6f 70 74 69 6d 7a 61 74 69 6f 6e 20 4c 42 46 47 53 5c 6e 22 20 2b 20 73 74 61 74 73 2e ed.optimzation.LBFGS\n".+.stats.
2620 70 72 65 74 74 79 50 72 69 6e 74 28 31 29 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 prettyPrint(1));...System.out.pr
2640 69 6e 74 6c 6e 28 22 53 6f 6c 75 74 69 6f 6e 3a 20 22 20 2b 20 22 20 78 30 20 22 20 2b 20 6f 2e intln("Solution:.".+.".x0.".+.o.
2660 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 2b 20 22 20 78 31 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 parameters[0]+.".x1.".+.o.parame
2680 74 65 72 73 5b 31 5d 29 3b 0a 09 09 69 66 28 73 75 63 63 65 64 29 7b 0a 09 09 09 53 79 73 74 65 ters[1]);...if(succed){....Syste
26a0 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 45 6e 64 65 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f m.out.println("Ended.optimizatio
26c0 6e 20 69 6e 20 22 20 2b 20 6f 70 74 69 6d 69 7a 65 72 2e 67 65 74 43 75 72 72 65 6e 74 49 74 65 n.in.".+.optimizer.getCurrentIte
26e0 72 61 74 69 6f 6e 28 29 29 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 ration());...}else{....System.ou
2700 74 2e 70 72 69 6e 74 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 6f 70 74 69 6d 69 7a 65 22 29 3b t.println("Failed.to.optimize");
2720 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 61 ...}..}....public.static.void.ma
2740 69 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 73 29 20 7b 0a 09 09 78 32 79 32 20 6f 20 3d 20 6e in(String[].args).{...x2y2.o.=.n
2760 65 77 20 78 32 79 32 28 31 2c 31 30 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e ew.x2y2(1,10);...System.out.prin
2780 74 6c 6e 28 22 53 74 61 72 74 69 6e 67 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 22 20 2b 20 22 tln("Starting.optimization.".+."
27a0 20 78 30 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 2b 20 22 20 78 31 20 22 20 .x0.".+.o.parameters[0]+.".x1.".
27c0 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 29 3b 0a 09 09 6f 2e 73 65 74 44 65 62 75 67 +.o.parameters[1]);...o.setDebug
27e0 4c 65 76 65 6c 28 34 29 3b 0a 09 09 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 77 6f 6c Level(4);...LineSearchMethod.wol
2800 66 65 20 3d 20 6e 65 77 20 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 28 6e 65 77 20 fe.=.new.WolfRuleLineSearch(new.
2820 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 28 31 29 2c 30 2e 30 30 31 2c 30 2e GenericPickFirstStep(1),0.001,0.
2840 39 29 3b 3b 0a 2f 2f 09 09 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 20 3d 20 6e 9);;.//..LineSearchMethod.ls.=.n
2860 65 77 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 28 ew.ArmijoLineSearchMinimization(
2880 29 3b 0a 09 09 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 20 3d 20 6e 65 77 20 );...OptimizerStats.stats.=.new.
28a0 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 28 29 3b 0a 09 09 6f 2e 6f 70 74 69 6d 69 7a 65 57 69 OptimizerStats();...o.optimizeWi
28c0 74 68 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 28 77 6f 6c 66 65 2c 20 73 74 61 74 73 2c 20 thGradientDescent(wolfe,.stats,.
28e0 6f 29 3b 0a 09 09 6f 20 3d 20 6e 65 77 20 78 32 79 32 28 31 2c 31 30 29 3b 0a 09 09 53 79 73 74 o);...o.=.new.x2y2(1,10);...Syst
2900 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 74 61 72 74 69 6e 67 20 6f 70 74 69 6d 69 7a em.out.println("Starting.optimiz
2920 61 74 69 6f 6e 20 22 20 2b 20 22 20 78 30 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b ation.".+.".x0.".+.o.parameters[
2940 30 5d 2b 20 22 20 78 31 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 29 3b 0a 2f 0]+.".x1.".+.o.parameters[1]);./
2960 2f 09 09 6c 73 20 3d 20 6e 65 77 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 /..ls.=.new.ArmijoLineSearchMini
2980 6d 69 7a 61 74 69 6f 6e 28 29 3b 0a 09 09 73 74 61 74 73 20 3d 20 6e 65 77 20 4f 70 74 69 6d 69 mization();...stats.=.new.Optimi
29a0 7a 65 72 53 74 61 74 73 28 29 3b 0a 09 09 6f 2e 6f 70 74 69 6d 69 7a 65 57 69 74 68 43 6f 6e 6a zerStats();...o.optimizeWithConj
29c0 75 67 61 74 65 47 72 61 64 69 65 6e 74 28 77 6f 6c 66 65 2c 20 73 74 61 74 73 2c 20 6f 29 3b 0a ugateGradient(wolfe,.stats,.o);.
29e0 09 09 6f 20 3d 20 6e 65 77 20 78 32 79 32 28 31 2c 31 30 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f ..o.=.new.x2y2(1,10);...System.o
2a00 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 74 61 72 74 69 6e 67 20 6f 70 74 69 6d 69 7a 61 74 69 6f ut.println("Starting.optimizatio
2a20 6e 20 22 20 2b 20 22 20 78 30 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 2b 20 n.".+.".x0.".+.o.parameters[0]+.
2a40 22 20 78 31 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 29 3b 0a 2f 2f 09 09 6c ".x1.".+.o.parameters[1]);.//..l
2a60 73 20 3d 20 6e 65 77 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 s.=.new.ArmijoLineSearchMinimiza
2a80 74 69 6f 6e 28 29 3b 0a 09 09 73 74 61 74 73 20 3d 20 6e 65 77 20 4f 70 74 69 6d 69 7a 65 72 53 tion();...stats.=.new.OptimizerS
2aa0 74 61 74 73 28 29 3b 0a 09 09 6f 2e 6f 70 74 69 6d 69 7a 65 57 69 74 68 4c 42 46 47 53 28 77 6f tats();...o.optimizeWithLBFGS(wo
2ac0 6c 66 65 2c 20 73 74 61 74 73 2c 20 6f 29 3b 09 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 53 74 lfe,.stats,.o);...}....public.St
2ae0 72 69 6e 67 20 74 6f 53 74 72 69 6e 67 28 29 7b 0a 09 09 72 65 74 75 72 6e 20 22 50 31 3a 20 22 ring.toString(){...return."P1:."
2b00 20 2b 20 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 20 2b 20 22 20 50 32 3a 20 22 20 2b 20 70 61 72 .+.parameters[0].+.".P2:.".+.par
2b20 61 6d 65 74 65 72 73 5b 31 5d 20 2b 20 22 20 76 61 6c 75 65 20 22 20 2b 20 67 65 74 56 61 6c 75 ameters[1].+.".value.".+.getValu
2b40 65 28 29 3b 0a 09 7d 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c a7 70 84 67 e();..}.....}.PK.........Y.<.p.g
2b60 c4 13 00 00 c4 13 00 00 2f 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 ......../...optimization/example
2b80 73 2f 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 6e 74 73 2e 63 6c 61 73 73 ca fe ba be 00 s/x2y2WithConstraints.class.....
2ba0 00 00 32 00 f1 07 00 02 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 ..2.......)optimization/examples
2bc0 2f 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 6e 74 73 07 00 04 01 00 34 6f 70 74 69 6d 69 /x2y2WithConstraints.....4optimi
2be0 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a zation/gradientBasedMethods/Proj
2c00 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 01 00 01 61 01 00 01 44 01 00 01 62 01 00 02 64 78 01 ectedObjective...a...D...b...dx.
2c20 00 02 64 79 01 00 0a 70 72 6f 6a 65 63 74 69 6f 6e 01 00 25 4c 6f 70 74 69 6d 69 7a 61 74 69 6f ..dy...projection..%Loptimizatio
2c40 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 3b 01 00 06 3c 69 6e 69 n/projections/Projection;...<ini
2c60 74 3e 01 00 2e 28 44 44 5b 44 44 44 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 t>...(DD[DDDLoptimization/projec
2c80 74 69 6f 6e 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 3b 29 56 01 00 04 43 6f 64 65 0a 00 03 00 10 0c tions/Projection;)V...Code......
2ca0 00 0c 00 11 01 00 03 28 29 56 09 00 01 00 13 0c 00 0a 00 0b 09 00 01 00 15 0c 00 05 00 06 09 00 .......()V......................
2cc0 01 00 17 0c 00 07 00 06 09 00 01 00 19 0c 00 08 00 06 09 00 01 00 1b 0c 00 09 00 06 0a 00 01 00 ................................
2ce0 1d 0c 00 1e 00 1f 01 00 14 73 65 74 49 6e 69 74 69 61 6c 50 61 72 61 6d 65 74 65 72 73 01 00 05 .........setInitialParameters...
2d00 28 5b 44 29 56 09 00 21 00 23 07 00 22 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d ([D)V..!.#.."...java/lang/System
2d20 0c 00 24 00 25 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 ..$.%...out...Ljava/io/PrintStre
2d40 61 6d 3b 07 00 27 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 am;..'...java/lang/StringBuilder
2d60 08 00 29 01 00 09 46 75 6e 63 74 69 6f 6e 20 0a 00 26 00 2b 0c 00 0c 00 2c 01 00 15 28 4c 6a 61 ..)...Function...&.+....,...(Lja
2d80 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 26 00 2e 0c 00 2f 00 30 01 00 06 61 70 va/lang/String;)V..&..../.0...ap
2da0 70 65 6e 64 01 00 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 pend...(D)Ljava/lang/StringBuild
2dc0 65 72 3b 08 00 32 01 00 03 28 78 2d 0a 00 26 00 34 0c 00 2f 00 35 01 00 2d 28 4c 6a 61 76 61 2f er;..2...(x-..&.4../.5..-(Ljava/
2de0 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 lang/String;)Ljava/lang/StringBu
2e00 69 6c 64 65 72 3b 08 00 37 01 00 06 29 5e 32 20 2b 20 08 00 39 01 00 03 28 79 2d 08 00 3b 01 00 ilder;..7...)^2.+...9...(y-..;..
2e20 03 29 5e 32 0a 00 26 00 3d 0c 00 3e 00 3f 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a .)^2..&.=..>.?...toString...()Lj
2e40 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 41 00 43 07 00 42 01 00 13 6a 61 76 61 2f ava/lang/String;..A.C..B...java/
2e60 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 44 00 2c 01 00 07 70 72 69 6e 74 6c 6e 08 00 46 io/PrintStream..D.,...println..F
2e80 01 00 09 47 72 61 64 69 65 6e 74 20 06 40 00 00 00 00 00 00 00 08 00 4a 01 00 04 29 20 3b 20 08 ...Gradient..@.........J...).;..
2ea0 00 4c 01 00 01 29 0a 00 01 00 4e 0c 00 4f 00 11 01 00 0f 70 72 69 6e 74 50 61 72 61 6d 65 74 65 .L...)....N..O.....printParamete
2ec0 72 73 09 00 01 00 51 0c 00 52 00 53 01 00 0a 70 61 72 61 6d 65 74 65 72 73 01 00 02 5b 44 0a 00 rs....Q..R.S...parameters...[D..
2ee0 55 00 57 07 00 56 01 00 23 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e U.W..V..#optimization/projection
2f00 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 0c 00 58 00 1f 01 00 07 70 72 6f 6a 65 63 74 09 00 01 00 5a s/Projection..X.....project....Z
2f20 0c 00 5b 00 53 01 00 08 67 72 61 64 69 65 6e 74 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 ..[.S...gradient...LineNumberTab
2f40 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 le...LocalVariableTable...this..
2f60 2b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 78 32 79 32 57 69 74 68 +Loptimization/examples/x2y2With
2f80 43 6f 6e 73 74 72 61 69 6e 74 73 3b 01 00 06 70 61 72 61 6d 73 01 00 04 70 72 6f 6a 01 00 08 67 Constraints;...params...proj...g
2fa0 65 74 56 61 6c 75 65 01 00 03 28 29 44 09 00 01 00 65 0c 00 66 00 67 01 00 0d 66 75 6e 63 74 69 etValue...()D....e..f.g...functi
2fc0 6f 6e 43 61 6c 6c 73 01 00 01 49 01 00 0b 67 65 74 47 72 61 64 69 65 6e 74 01 00 04 28 29 5b 44 onCalls...I...getGradient...()[D
2fe0 09 00 01 00 6b 0c 00 6c 00 67 01 00 0d 67 72 61 64 69 65 6e 74 43 61 6c 6c 73 01 00 0d 53 74 61 ....k..l.g...gradientCalls...Sta
3000 63 6b 4d 61 70 54 61 62 6c 65 01 00 0c 70 72 6f 6a 65 63 74 50 6f 69 6e 74 01 00 06 28 5b 44 29 ckMapTable...projectPoint...([D)
3020 5b 44 0a 00 71 00 72 07 00 53 0c 00 73 00 74 01 00 05 63 6c 6f 6e 65 01 00 14 28 29 4c 6a 61 76 [D..q.r..S..s.t...clone...()Ljav
3040 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 01 00 05 70 6f 69 6e 74 01 00 08 6e 65 77 50 6f 69 6e a/lang/Object;...point...newPoin
3060 74 01 00 24 6f 70 74 69 6d 69 7a 65 57 69 74 68 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e t..$optimizeWithProjectedGradien
3080 74 44 65 73 63 65 6e 74 01 00 90 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 tDescent...(Loptimization/linese
30a0 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 4c 6f 70 74 69 6d 69 7a 61 74 arch/LineSearchMethod;Loptimizat
30c0 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f ion/gradientBasedMethods/stats/O
30e0 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d ptimizerStats;Loptimization/exam
3100 70 6c 65 73 2f 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 6e 74 73 3b 29 56 07 00 7a 01 00 ples/x2y2WithConstraints;)V..z..
3120 3a 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f :optimization/gradientBasedMetho
3140 64 73 2f 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 0a 00 79 00 7c ds/ProjectedGradientDescent..y.|
3160 0c 00 0c 00 7d 01 00 2d 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 ....}..-(Loptimization/linesearc
3180 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 29 56 07 00 7f 01 00 31 6f 70 74 69 6d h/LineSearchMethod;)V.....1optim
31a0 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 50 72 6f 6a 65 63 74 65 64 47 72 ization/stopCriteria/ProjectedGr
31c0 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 06 3f 50 62 4d d2 f1 a9 fc 0a 00 7e 00 83 0c 00 0c 00 84 01 adientL2Norm.?PbM......~........
31e0 00 04 28 44 29 56 07 00 86 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 ..(D)V.....)optimization/stopCri
3200 74 65 72 69 61 2f 56 61 6c 75 65 44 69 66 66 65 72 65 6e 63 65 0a 00 85 00 83 07 00 89 01 00 32 teria/ValueDifference..........2
3220 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 43 6f 6d 70 6f 73 optimization/stopCriteria/Compos
3240 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 0a 00 88 00 10 0a 00 88 00 8c 0c 00 8d 00 iteStopingCriteria..............
3260 8e 01 00 03 61 64 64 01 00 2e 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 ....add...(Loptimization/stopCri
3280 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 56 0a 00 79 00 90 0c 00 91 teria/StopingCriteria;)V..y.....
32a0 00 92 01 00 10 73 65 74 4d 61 78 49 74 65 72 61 74 69 6f 6e 73 01 00 04 28 49 29 56 0a 00 79 00 .....setMaxIterations...(I)V..y.
32c0 94 0c 00 95 00 96 01 00 08 6f 70 74 69 6d 69 7a 65 01 00 9c 28 4c 6f 70 74 69 6d 69 7a 61 74 69 .........optimize...(Loptimizati
32e0 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 on/gradientBasedMethods/Projecte
3300 64 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e dObjective;Loptimization/gradien
3320 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 tBasedMethods/stats/OptimizerSta
3340 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 ts;Loptimization/stopCriteria/St
3360 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 5a 08 00 98 01 00 2d 45 6e 64 65 64 20 6f 70 74 69 opingCriteria;)Z.....-Ended.opti
3380 6d 7a 61 74 69 6f 6e 20 50 72 6f 6a 65 63 74 65 64 20 47 72 61 64 69 65 6e 74 20 44 65 73 63 65 mzation.Projected.Gradient.Desce
33a0 6e 74 0a 0a 00 9a 00 9c 07 00 9b 01 00 36 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 nt...........6optimization/gradi
33c0 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 entBasedMethods/stats/OptimizerS
33e0 74 61 74 73 0c 00 9d 00 9e 01 00 0b 70 72 65 74 74 79 50 72 69 6e 74 01 00 15 28 49 29 4c 6a 61 tats........prettyPrint...(I)Lja
3400 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 a0 01 00 0e 53 6f 6c 75 74 69 6f 6e 3a 20 20 va/lang/String;......Solution:..
3420 78 30 20 08 00 a2 01 00 04 20 78 31 20 08 00 a4 01 00 16 45 6e 64 65 64 20 6f 70 74 69 6d 69 7a x0........x1.......Ended.optimiz
3440 61 74 69 6f 6e 20 69 6e 20 0a 00 79 00 a6 0c 00 a7 00 a8 01 00 13 67 65 74 43 75 72 72 65 6e 74 ation.in...y..........getCurrent
3460 49 74 65 72 61 74 69 6f 6e 01 00 03 28 29 49 0a 00 26 00 aa 0c 00 2f 00 ab 01 00 1c 28 49 29 4c Iteration...()I..&..../.....(I)L
3480 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 ad 01 00 12 46 61 java/lang/StringBuilder;......Fa
34a0 69 6c 65 64 20 74 6f 20 6f 70 74 69 6d 69 7a 65 01 00 02 6c 73 01 00 2a 4c 6f 70 74 69 6d 69 7a iled.to.optimize...ls..*Loptimiz
34c0 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f ation/linesearch/LineSearchMetho
34e0 64 3b 01 00 05 73 74 61 74 73 01 00 38 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 d;...stats..8Loptimization/gradi
3500 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 entBasedMethods/stats/OptimizerS
3520 74 61 74 73 3b 01 00 01 6f 01 00 09 6f 70 74 69 6d 69 7a 65 72 01 00 3c 4c 6f 70 74 69 6d 69 7a tats;...o...optimizer..<Loptimiz
3540 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 ation/gradientBasedMethods/Proje
3560 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 3b 01 00 08 73 74 6f 70 47 72 61 64 01 ctedGradientDescent;...stopGrad.
3580 00 2b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f .+Loptimization/stopCriteria/Sto
35a0 70 69 6e 67 43 72 69 74 65 72 69 61 3b 01 00 09 73 74 6f 70 56 61 6c 75 65 01 00 0d 63 6f 6d 70 pingCriteria;...stopValue...comp
35c0 6f 73 69 74 65 53 74 6f 70 01 00 34 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 ositeStop..4Loptimization/stopCr
35e0 69 74 65 72 69 61 2f 43 6f 6d 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b iteria/CompositeStopingCriteria;
3600 01 00 06 73 75 63 63 65 64 01 00 01 5a 07 00 bd 01 00 28 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f ...succed...Z.....(optimization/
3620 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 07 00 bf 01 00 linesearch/LineSearchMethod.....
3640 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 )optimization/stopCriteria/Stopi
3660 6e 67 43 72 69 74 65 72 69 61 08 00 c1 01 00 04 50 31 3a 20 08 00 c3 01 00 05 20 50 32 3a 20 08 ngCriteria......P1:........P2:..
3680 00 c5 01 00 07 20 76 61 6c 75 65 20 0a 00 01 00 c7 0c 00 62 00 63 08 00 c9 01 00 07 20 67 72 61 ......value........b.c.......gra
36a0 64 20 28 0a 00 01 00 cb 0c 00 68 00 69 08 00 cd 01 00 01 3a 01 00 04 6d 61 69 6e 01 00 16 28 5b d.(.......h.i......:...main...([
36c0 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 06 3f e0 00 00 00 00 00 00 07 00 d3 Ljava/lang/String;)V.?..........
36e0 01 00 2a 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 53 69 6d 70 ..*optimization/projections/Simp
3700 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 0a 00 d2 00 83 0a 00 01 00 d6 0c 00 0c 00 0d 08 00 d8 01 lexProjection...................
3720 00 1a 53 74 61 72 74 69 6e 67 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 20 78 30 20 08 00 da 01 ..Starting.optimization..x0.....
3740 00 03 20 61 20 08 00 dc 01 00 03 20 62 20 0a 00 01 00 de 0c 00 df 00 92 01 00 0d 73 65 74 44 65 ...a........b..............setDe
3760 62 75 67 4c 65 76 65 6c 07 00 e1 01 00 46 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 bugLevel.....Foptimization/lines
3780 65 61 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 earch/ArmijoLineSearchMinimizati
37a0 6f 6e 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 07 00 e3 01 00 32 6f 70 74 69 6d 69 onAlongProjectionArc.....2optimi
37c0 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 zation/linesearch/InterpolationP
37e0 69 63 6b 46 69 72 73 74 53 74 65 70 0a 00 e2 00 83 0a 00 e0 00 e6 0c 00 0c 00 e7 01 00 31 28 4c ickFirstStep.................1(L
3800 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 optimization/linesearch/GenericP
3820 69 63 6b 46 69 72 73 74 53 74 65 70 3b 29 56 0a 00 9a 00 10 0a 00 01 00 ea 0c 00 77 00 78 01 00 ickFirstStep;)V............w.x..
3840 04 61 72 67 73 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 02 78 30 .args...[Ljava/lang/String;...x0
3860 01 00 02 79 30 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 18 78 32 79 32 57 69 74 68 43 6f 6e ...y0...SourceFile...x2y2WithCon
3880 73 74 72 61 69 6e 74 73 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 05 00 00 00 05 00 06 00 00 00 straints.java.!.................
38a0 00 00 07 00 06 00 00 00 00 00 08 00 06 00 00 00 00 00 09 00 06 00 00 00 00 00 0a 00 0b 00 00 00 ................................
38c0 07 00 01 00 0c 00 0d 00 01 00 0e 00 00 01 53 00 06 00 0b 00 00 00 b9 2a b7 00 0f 2a 19 0a b5 00 ..............S........*...*....
38e0 12 2a 27 b5 00 14 2a 29 b5 00 16 2a 18 06 b5 00 18 2a 18 08 b5 00 1a 2a 19 05 b6 00 1c b2 00 20 .*'...*)...*.....*.....*........
3900 bb 00 26 59 12 28 b7 00 2a 27 b6 00 2d 12 31 b6 00 33 18 06 b6 00 2d 12 36 b6 00 33 29 b6 00 2d ..&Y.(..*'..-.1..3....-.6..3)..-
3920 12 38 b6 00 33 18 08 b6 00 2d 12 3a b6 00 33 b6 00 3c b6 00 40 b2 00 20 bb 00 26 59 12 45 b7 00 .8..3....-.:..3..<..@.....&Y.E..
3940 2a 14 00 47 27 6b b6 00 2d 12 31 b6 00 33 18 06 b6 00 2d 12 49 b6 00 33 29 14 00 47 6b b6 00 2d *..G'k..-.1..3....-.I..3)..Gk..-
3960 12 38 b6 00 33 18 08 b6 00 2d 12 4b b6 00 33 b6 00 3c b6 00 40 2a b6 00 4d 2a b4 00 12 2a b4 00 .8..3....-.K..3..<..@*..M*...*..
3980 50 b6 00 54 2a b6 00 4d 2a 05 bc 07 b5 00 59 b1 00 00 00 02 00 5c 00 00 00 3a 00 0e 00 00 00 25 P..T*..M*.....Y......\...:.....%
39a0 00 04 00 26 00 0a 00 27 00 0f 00 28 00 14 00 29 00 1a 00 2a 00 20 00 2b 00 26 00 2c 00 5e 00 2d ...&...'...(...)...*...+.&.,.^.-
39c0 00 9e 00 2e 00 a2 00 2f 00 ad 00 30 00 b1 00 31 00 b8 00 32 00 5d 00 00 00 48 00 07 00 00 00 b9 ......./...0...1...2.]...H......
39e0 00 5e 00 5f 00 00 00 00 00 b9 00 05 00 06 00 01 00 00 00 b9 00 07 00 06 00 03 00 00 00 b9 00 60 .^._...........................`
3a00 00 53 00 05 00 00 00 b9 00 08 00 06 00 06 00 00 00 b9 00 09 00 06 00 08 00 00 00 b9 00 61 00 0b .S...........................a..
3a20 00 0a 00 01 00 62 00 63 00 01 00 0e 00 00 00 72 00 0a 00 01 00 00 00 44 2a 59 b4 00 64 04 60 b5 .....b.c.......r.......D*Y..d.`.
3a40 00 64 2a b4 00 14 2a b4 00 50 03 31 2a b4 00 18 67 6b 2a b4 00 50 03 31 2a b4 00 18 67 6b 2a b4 .d*...*..P.1*...gk*..P.1*...gk*.
3a60 00 16 2a b4 00 50 04 31 2a b4 00 1a 67 2a b4 00 50 04 31 2a b4 00 1a 67 6b 6b 63 af 00 00 00 02 ..*..P.1*...g*..P.1*...gkkc.....
3a80 00 5c 00 00 00 0a 00 02 00 00 00 35 00 0a 00 36 00 5d 00 00 00 0c 00 01 00 00 00 44 00 5e 00 5f .\.........5...6.].........D.^._
3aa0 00 00 00 01 00 68 00 69 00 01 00 0e 00 00 00 98 00 08 00 01 00 00 00 51 2a b4 00 59 c7 00 0a 2a .....h.i...............Q*..Y...*
3ac0 05 bc 07 b5 00 59 2a 59 b4 00 6a 04 60 b5 00 6a 2a b4 00 59 03 14 00 47 2a b4 00 14 6b 2a b4 00 .....Y*Y..j.`..j*..Y...G*...k*..
3ae0 50 03 31 2a b4 00 18 67 6b 52 2a b4 00 59 04 14 00 47 2a b4 00 16 6b 2a b4 00 50 04 31 2a b4 00 P.1*...gkR*..Y...G*...k*..P.1*..
3b00 1a 67 6b 52 2a b4 00 59 b0 00 00 00 03 00 5c 00 00 00 1a 00 06 00 00 00 3a 00 07 00 3b 00 0e 00 .gkR*..Y......\.........:...;...
3b20 3d 00 18 00 3e 00 32 00 3f 00 4c 00 40 00 5d 00 00 00 0c 00 01 00 00 00 51 00 5e 00 5f 00 00 00 =...>.2.?.L.@.].........Q.^._...
3b40 6d 00 00 00 03 00 01 0e 00 01 00 6e 00 6f 00 01 00 0e 00 00 00 58 00 02 00 03 00 00 00 12 2b b6 m..........n.o.......X........+.
3b60 00 70 c0 00 71 4d 2a b4 00 12 2c b6 00 54 2c b0 00 00 00 02 00 5c 00 00 00 0e 00 03 00 00 00 45 .p..qM*...,..T,......\.........E
3b80 00 08 00 46 00 10 00 47 00 5d 00 00 00 20 00 03 00 00 00 12 00 5e 00 5f 00 00 00 00 00 12 00 75 ...F...G.]...........^._.......u
3ba0 00 53 00 01 00 08 00 0a 00 76 00 53 00 02 00 01 00 77 00 78 00 01 00 0e 00 00 01 8f 00 04 00 09 .S.......v.S.....w.x............
3bc0 00 00 00 b8 bb 00 79 59 2b b7 00 7b 3a 04 bb 00 7e 59 14 00 80 b7 00 82 3a 05 bb 00 85 59 14 00 ......yY+..{:...~Y......:....Y..
3be0 80 b7 00 87 3a 06 bb 00 88 59 b7 00 8a 3a 07 19 07 19 05 b6 00 8b 19 07 19 06 b6 00 8b 19 04 08 ....:....Y...:..................
3c00 b6 00 8f 19 04 2d 2c 19 07 b6 00 93 36 08 b2 00 20 bb 00 26 59 12 97 b7 00 2a 2c 04 b6 00 99 b6 .....-,.....6......&Y....*,.....
3c20 00 33 b6 00 3c b6 00 40 b2 00 20 bb 00 26 59 12 9f b7 00 2a 2d b4 00 50 03 31 b6 00 2d 12 a1 b6 .3..<..@.....&Y....*-..P.1..-...
3c40 00 33 2d b4 00 50 04 31 b6 00 2d b6 00 3c b6 00 40 15 08 99 00 20 b2 00 20 bb 00 26 59 12 a3 b7 .3-..P.1..-..<..@..........&Y...
3c60 00 2a 19 04 b6 00 a5 b6 00 a9 b6 00 3c b6 00 40 a7 00 0b b2 00 20 12 ac b6 00 40 b1 00 00 00 03 .*..........<..@..........@.....
3c80 00 5c 00 00 00 3a 00 0e 00 00 00 4b 00 0a 00 4c 00 16 00 4d 00 22 00 4e 00 2b 00 4f 00 32 00 50 .\...:.....K...L...M.".N.+.O.2.P
3ca0 00 39 00 52 00 3f 00 53 00 4a 00 54 00 64 00 55 00 8d 00 56 00 92 00 57 00 af 00 59 00 b7 00 5b .9.R.?.S.J.T.d.U...V...W...Y...[
3cc0 00 5d 00 00 00 5c 00 09 00 00 00 b8 00 5e 00 5f 00 00 00 00 00 b8 00 ae 00 af 00 01 00 00 00 b8 .]...\.......^._................
3ce0 00 b0 00 b1 00 02 00 00 00 b8 00 b2 00 5f 00 03 00 0a 00 ae 00 b3 00 b4 00 04 00 16 00 a2 00 b5 ............._..................
3d00 00 b6 00 05 00 22 00 96 00 b7 00 b6 00 06 00 2b 00 8d 00 b8 00 b9 00 07 00 4a 00 6e 00 ba 00 bb .....".........+.........J.n....
3d20 00 08 00 6d 00 00 00 23 00 02 ff 00 af 00 09 07 00 01 07 00 bc 07 00 9a 07 00 01 07 00 79 07 00 ...m...#.....................y..
3d40 be 07 00 be 07 00 88 01 00 00 07 00 01 00 3e 00 3f 00 01 00 0e 00 00 00 7b 00 03 00 01 00 00 00 ..............>.?.......{.......
3d60 51 bb 00 26 59 12 c0 b7 00 2a 2a b4 00 50 03 31 b6 00 2d 12 c2 b6 00 33 2a b4 00 50 04 31 b6 00 Q..&Y....**..P.1..-....3*..P.1..
3d80 2d 12 c4 b6 00 33 2a b6 00 c6 b6 00 2d 12 c8 b6 00 33 2a b6 00 ca 03 31 b6 00 2d 12 cc b6 00 33 -....3*.....-....3*....1..-....3
3da0 2a b6 00 ca 04 31 b6 00 2d 12 4b b6 00 33 b6 00 3c b0 00 00 00 02 00 5c 00 00 00 06 00 01 00 00 *....1..-.K..3..<......\........
3dc0 00 61 00 5d 00 00 00 0c 00 01 00 00 00 51 00 5e 00 5f 00 00 00 09 00 ce 00 cf 00 01 00 0e 00 00 .a.].........Q.^._..............
3de0 01 73 00 0f 00 11 00 00 00 a9 0f 48 0f 4a 0e 39 05 0f 39 07 14 00 d0 39 09 14 00 d0 39 0b 05 bc .s.........H.J.9..9....9....9...
3e00 07 3a 0d 19 0d 03 18 05 52 19 0d 04 18 07 52 bb 00 01 59 27 29 19 0d 18 09 18 0b bb 00 d2 59 14 .:......R.....R...Y').........Y.
3e20 00 d0 b7 00 d4 b7 00 d5 3a 0e b2 00 20 bb 00 26 59 12 d7 b7 00 2a 19 0e b4 00 50 03 31 b6 00 2d ........:......&Y....*....P.1..-
3e40 12 a1 b6 00 33 19 0e b4 00 50 04 31 b6 00 2d 12 d9 b6 00 33 27 b6 00 2d 12 db b6 00 33 29 b6 00 ....3....P.1..-....3'..-....3)..
3e60 2d b6 00 3c b6 00 40 19 0e 07 b6 00 dd bb 00 e0 59 bb 00 e2 59 0f b7 00 e4 b7 00 e5 3a 0f bb 00 -..<..@.........Y...Y.......:...
3e80 9a 59 b7 00 e8 3a 10 19 0e 19 0f 19 10 19 0e b6 00 e9 b1 00 00 00 02 00 5c 00 00 00 42 00 10 00 .Y...:..................\...B...
3ea0 00 00 65 00 02 00 66 00 04 00 67 00 07 00 68 00 0a 00 69 00 0f 00 6a 00 14 00 6b 00 19 00 6c 00 ..e...f...g...h...i...j...k...l.
3ec0 1f 00 6d 00 25 00 6e 00 40 00 6f 00 7d 00 70 00 83 00 72 00 94 00 74 00 9d 00 75 00 a8 00 7a 00 ..m.%.n.@.o.}.p...r...t...u...z.
3ee0 5d 00 00 00 70 00 0b 00 00 00 a9 00 eb 00 ec 00 00 00 02 00 a7 00 05 00 06 00 01 00 04 00 a5 00 ]...p...........................
3f00 07 00 06 00 03 00 07 00 a2 00 ed 00 06 00 05 00 0a 00 9f 00 ee 00 06 00 07 00 0f 00 9a 00 08 00 ................................
3f20 06 00 09 00 14 00 95 00 09 00 06 00 0b 00 19 00 90 00 52 00 53 00 0d 00 40 00 69 00 b2 00 5f 00 ..................R.S...@.i..._.
3f40 0e 00 94 00 15 00 ae 00 af 00 0f 00 9d 00 0c 00 b0 00 b1 00 10 00 01 00 ef 00 00 00 02 00 f0 50 ...............................P
3f60 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c f3 64 7e d9 98 0f 00 00 98 0f 00 00 2e 00 00 00 6f 70 74 K.........i.<.d~.............opt
3f80 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 78 32 79 32 57 69 74 68 43 6f 6e 73 74 imization/examples/x2y2WithConst
3fa0 72 61 69 6e 74 73 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e raints.javapackage.optimization.
3fc0 65 78 61 6d 70 6c 65 73 3b 0a 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e examples;...import.optimization.
3fe0 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 50 72 6f 6a 65 63 74 65 64 47 72 gradientBasedMethods.ProjectedGr
4000 61 64 69 65 6e 74 44 65 73 63 65 6e 74 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 adientDescent;.import.optimizati
4020 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 50 72 6f 6a 65 63 74 65 on.gradientBasedMethods.Projecte
4040 64 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e dObjective;.import.optimization.
4060 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 73 74 61 74 73 2e 4f 70 74 69 6d gradientBasedMethods.stats.Optim
4080 69 7a 65 72 53 74 61 74 73 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c izerStats;.import.optimization.l
40a0 69 6e 65 73 65 61 72 63 68 2e 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 inesearch.ArmijoLineSearchMinimi
40c0 7a 61 74 69 6f 6e 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 3b 0a 69 6d 70 6f 72 74 zationAlongProjectionArc;.import
40e0 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 49 6e 74 65 72 70 6f .optimization.linesearch.Interpo
4100 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 lationPickFirstStep;.import.opti
4120 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 4c 69 6e 65 53 65 61 72 63 68 4d 65 mization.linesearch.LineSearchMe
4140 74 68 6f 64 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 70 72 6f 6a 65 63 thod;.import.optimization.projec
4160 74 69 6f 6e 73 2e 42 6f 75 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e 3b 0a 69 6d 70 6f 72 74 20 6f tions.BoundsProjection;.import.o
4180 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 70 72 6f 6a 65 63 74 69 6f 6e 73 2e 50 72 6f 6a 65 63 74 69 ptimization.projections.Projecti
41a0 6f 6e 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 70 72 6f 6a 65 63 74 69 on;.import.optimization.projecti
41c0 6f 6e 73 2e 53 69 6d 70 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 3b 0a 69 6d 70 6f 72 74 20 6f 70 ons.SimplexProjection;.import.op
41e0 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 43 6f 6d 70 6f 73 69 74 timization.stopCriteria.Composit
4200 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a eStopingCriteria;.import.optimiz
4220 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 ation.stopCriteria.GradientL2Nor
4240 6d 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 m;.import.optimization.stopCrite
4260 72 69 61 2e 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 3b 0a 69 6d 70 ria.ProjectedGradientL2Norm;.imp
4280 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 53 74 ort.optimization.stopCriteria.St
42a0 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 opingCriteria;.import.optimizati
42c0 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 56 61 6c 75 65 44 69 66 66 65 72 65 6e 63 65 3b on.stopCriteria.ValueDifference;
42e0 0a 0a 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 20 0a 20 2a 20 0a 20 .../**..*.@author.javg..*...*...
4300 2a 61 78 32 2b 20 62 28 79 32 20 2d 64 69 73 70 6c 61 63 65 6d 65 6e 74 29 0a 20 2a 2f 0a 70 75 *ax2+.b(y2.-displacement)..*/.pu
4320 62 6c 69 63 20 63 6c 61 73 73 20 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 6e 74 73 20 65 blic.class.x2y2WithConstraints.e
4340 78 74 65 6e 64 73 20 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 7b 0a 0a 0a 09 64 6f xtends.ProjectedObjective{....do
4360 75 62 6c 65 20 61 2c 20 62 3b 0a 09 64 6f 75 62 6c 65 20 64 78 3b 0a 09 64 6f 75 62 6c 65 20 64 uble.a,.b;..double.dx;..double.d
4380 79 3b 0a 09 50 72 6f 6a 65 63 74 69 6f 6e 20 70 72 6f 6a 65 63 74 69 6f 6e 3b 0a 09 0a 09 0a 09 y;..Projection.projection;......
43a0 70 75 62 6c 69 63 20 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 6e 74 73 28 64 6f 75 62 6c public.x2y2WithConstraints(doubl
43c0 65 20 61 2c 20 64 6f 75 62 6c 65 20 62 2c 20 64 6f 75 62 6c 65 5b 5d 20 70 61 72 61 6d 73 2c 20 e.a,.double.b,.double[].params,.
43e0 64 6f 75 62 6c 65 20 64 78 2c 20 64 6f 75 62 6c 65 20 64 79 2c 20 50 72 6f 6a 65 63 74 69 6f 6e double.dx,.double.dy,.Projection
4400 20 70 72 6f 6a 29 7b 0a 09 09 2f 2f 70 72 6f 6a 65 63 74 69 6f 6e 20 3d 20 6e 65 77 20 42 6f 75 .proj){...//projection.=.new.Bou
4420 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e 28 30 2e 32 2c 44 6f 75 62 6c 65 2e 4d 41 58 5f 56 41 4c ndsProjection(0.2,Double.MAX_VAL
4440 55 45 29 3b 0a 09 09 73 75 70 65 72 28 29 3b 0a 09 09 70 72 6f 6a 65 63 74 69 6f 6e 20 3d 20 70 UE);...super();...projection.=.p
4460 72 6f 6a 3b 09 0a 09 09 74 68 69 73 2e 61 20 3d 20 61 3b 0a 09 09 74 68 69 73 2e 62 20 3d 20 62 roj;....this.a.=.a;...this.b.=.b
4480 3b 0a 09 09 74 68 69 73 2e 64 78 20 3d 20 64 78 3b 0a 09 09 74 68 69 73 2e 64 79 20 3d 20 64 79 ;...this.dx.=.dx;...this.dy.=.dy
44a0 3b 0a 09 09 73 65 74 49 6e 69 74 69 61 6c 50 61 72 61 6d 65 74 65 72 73 28 70 61 72 61 6d 73 29 ;...setInitialParameters(params)
44c0 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 46 75 6e 63 74 69 6f 6e ;...System.out.println("Function
44e0 20 22 20 2b 61 2b 22 28 78 2d 22 2b 64 78 2b 22 29 5e 32 20 2b 20 22 2b 62 2b 22 28 79 2d 22 2b .".+a+"(x-"+dx+")^2.+."+b+"(y-"+
4500 64 79 2b 22 29 5e 32 22 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 dy+")^2");...System.out.println(
4520 22 47 72 61 64 69 65 6e 74 20 22 20 2b 28 32 2a 61 29 2b 22 28 78 2d 22 2b 64 78 2b 22 29 20 3b "Gradient.".+(2*a)+"(x-"+dx+").;
4540 20 22 2b 28 62 2a 32 29 2b 22 28 79 2d 22 2b 64 79 2b 22 29 22 29 3b 0a 09 09 70 72 69 6e 74 50 ."+(b*2)+"(y-"+dy+")");...printP
4560 61 72 61 6d 65 74 65 72 73 28 29 3b 0a 09 09 70 72 6f 6a 65 63 74 69 6f 6e 2e 70 72 6f 6a 65 63 arameters();...projection.projec
4580 74 28 70 61 72 61 6d 65 74 65 72 73 29 3b 0a 09 09 70 72 69 6e 74 50 61 72 61 6d 65 74 65 72 73 t(parameters);...printParameters
45a0 28 29 3b 0a 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 32 5d 3b 0a ();...gradient.=.new.double[2];.
45c0 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 56 61 6c 75 65 28 29 20 7b .}....public.double.getValue().{
45e0 0a 09 09 66 75 6e 63 74 69 6f 6e 43 61 6c 6c 73 2b 2b 3b 0a 09 09 72 65 74 75 72 6e 20 61 2a 28 ...functionCalls++;...return.a*(
4600 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 2d 64 78 29 2a 28 70 61 72 61 6d 65 74 65 72 73 5b 30 5d parameters[0]-dx)*(parameters[0]
4620 2d 64 78 29 2b 62 2a 28 28 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 2d 64 79 29 2a 28 70 61 72 61 -dx)+b*((parameters[1]-dy)*(para
4640 6d 65 74 65 72 73 5b 31 5d 2d 64 79 29 29 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 meters[1]-dy));..}...public.doub
4660 6c 65 5b 5d 20 67 65 74 47 72 61 64 69 65 6e 74 28 29 20 7b 0a 09 09 69 66 28 67 72 61 64 69 65 le[].getGradient().{...if(gradie
4680 6e 74 20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6e 65 77 20 64 nt.==.null){....gradient.=.new.d
46a0 6f 75 62 6c 65 5b 32 5d 3b 0a 09 09 7d 0a 09 09 67 72 61 64 69 65 6e 74 43 61 6c 6c 73 2b 2b 3b ouble[2];...}...gradientCalls++;
46c0 0a 09 09 67 72 61 64 69 65 6e 74 5b 30 5d 3d 32 2a 61 2a 28 70 61 72 61 6d 65 74 65 72 73 5b 30 ...gradient[0]=2*a*(parameters[0
46e0 5d 2d 64 78 29 3b 0a 09 09 67 72 61 64 69 65 6e 74 5b 31 5d 3d 32 2a 62 2a 28 70 61 72 61 6d 65 ]-dx);...gradient[1]=2*b*(parame
4700 74 65 72 73 5b 31 5d 2d 64 79 29 3b 0a 09 09 72 65 74 75 72 6e 20 67 72 61 64 69 65 6e 74 3b 0a ters[1]-dy);...return.gradient;.
4720 09 7d 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 70 72 6f 6a 65 63 74 50 .}......public.double[].projectP
4740 6f 69 6e 74 28 64 6f 75 62 6c 65 5b 5d 20 70 6f 69 6e 74 29 20 7b 0a 09 09 64 6f 75 62 6c 65 5b oint(double[].point).{...double[
4760 5d 20 6e 65 77 50 6f 69 6e 74 20 3d 20 70 6f 69 6e 74 2e 63 6c 6f 6e 65 28 29 3b 0a 09 09 70 72 ].newPoint.=.point.clone();...pr
4780 6f 6a 65 63 74 69 6f 6e 2e 70 72 6f 6a 65 63 74 28 6e 65 77 50 6f 69 6e 74 29 3b 0a 09 09 72 65 ojection.project(newPoint);...re
47a0 74 75 72 6e 20 6e 65 77 50 6f 69 6e 74 3b 0a 09 7d 09 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 turn.newPoint;..}.....public.voi
47c0 64 20 6f 70 74 69 6d 69 7a 65 57 69 74 68 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 d.optimizeWithProjectedGradientD
47e0 65 73 63 65 6e 74 28 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 2c 20 4f 70 74 69 escent(LineSearchMethod.ls,.Opti
4800 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 mizerStats.stats,.x2y2WithConstr
4820 61 69 6e 74 73 20 6f 29 7b 0a 09 09 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 aints.o){...ProjectedGradientDes
4840 63 65 6e 74 20 6f 70 74 69 6d 69 7a 65 72 20 3d 20 6e 65 77 20 50 72 6f 6a 65 63 74 65 64 47 72 cent.optimizer.=.new.ProjectedGr
4860 61 64 69 65 6e 74 44 65 73 63 65 6e 74 28 6c 73 29 3b 0a 09 09 53 74 6f 70 69 6e 67 43 72 69 74 adientDescent(ls);...StopingCrit
4880 65 72 69 61 20 73 74 6f 70 47 72 61 64 20 3d 20 6e 65 77 20 50 72 6f 6a 65 63 74 65 64 47 72 61 eria.stopGrad.=.new.ProjectedGra
48a0 64 69 65 6e 74 4c 32 4e 6f 72 6d 28 30 2e 30 30 31 29 3b 0a 09 09 53 74 6f 70 69 6e 67 43 72 69 dientL2Norm(0.001);...StopingCri
48c0 74 65 72 69 61 20 73 74 6f 70 56 61 6c 75 65 20 3d 20 6e 65 77 20 56 61 6c 75 65 44 69 66 66 65 teria.stopValue.=.new.ValueDiffe
48e0 72 65 6e 63 65 28 30 2e 30 30 31 29 3b 0a 09 09 43 6f 6d 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 rence(0.001);...CompositeStoping
4900 43 72 69 74 65 72 69 61 20 63 6f 6d 70 6f 73 69 74 65 53 74 6f 70 20 3d 20 6e 65 77 20 43 6f 6d Criteria.compositeStop.=.new.Com
4920 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 28 29 3b 0a 09 09 63 6f 6d 70 6f positeStopingCriteria();...compo
4940 73 69 74 65 53 74 6f 70 2e 61 64 64 28 73 74 6f 70 47 72 61 64 29 3b 0a 09 09 63 6f 6d 70 6f 73 siteStop.add(stopGrad);...compos
4960 69 74 65 53 74 6f 70 2e 61 64 64 28 73 74 6f 70 56 61 6c 75 65 29 3b 0a 09 09 0a 09 09 6f 70 74 iteStop.add(stopValue);......opt
4980 69 6d 69 7a 65 72 2e 73 65 74 4d 61 78 49 74 65 72 61 74 69 6f 6e 73 28 35 29 3b 0a 09 09 62 6f imizer.setMaxIterations(5);...bo
49a0 6f 6c 65 61 6e 20 73 75 63 63 65 64 20 3d 20 6f 70 74 69 6d 69 7a 65 72 2e 6f 70 74 69 6d 69 7a olean.succed.=.optimizer.optimiz
49c0 65 28 6f 2c 73 74 61 74 73 2c 63 6f 6d 70 6f 73 69 74 65 53 74 6f 70 29 3b 0a 09 09 53 79 73 74 e(o,stats,compositeStop);...Syst
49e0 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 45 6e 64 65 64 20 6f 70 74 69 6d 7a 61 74 69 6f em.out.println("Ended.optimzatio
4a00 6e 20 50 72 6f 6a 65 63 74 65 64 20 47 72 61 64 69 65 6e 74 20 44 65 73 63 65 6e 74 5c 6e 22 20 n.Projected.Gradient.Descent\n".
4a20 2b 20 73 74 61 74 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 31 29 29 3b 0a 09 09 53 79 73 74 65 +.stats.prettyPrint(1));...Syste
4a40 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 6f 6c 75 74 69 6f 6e 3a 20 22 20 2b 20 22 20 78 m.out.println("Solution:.".+.".x
4a60 30 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 2b 20 22 20 78 31 20 22 20 2b 20 0.".+.o.parameters[0]+.".x1.".+.
4a80 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 29 3b 0a 09 09 69 66 28 73 75 63 63 65 64 29 7b 0a o.parameters[1]);...if(succed){.
4aa0 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 45 6e 64 65 64 20 6f 70 74 ...System.out.println("Ended.opt
4ac0 69 6d 69 7a 61 74 69 6f 6e 20 69 6e 20 22 20 2b 20 6f 70 74 69 6d 69 7a 65 72 2e 67 65 74 43 75 imization.in.".+.optimizer.getCu
4ae0 72 72 65 6e 74 49 74 65 72 61 74 69 6f 6e 28 29 29 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 53 rrentIteration());...}else{....S
4b00 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 6f 70 74 ystem.out.println("Failed.to.opt
4b20 69 6d 69 7a 65 22 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 53 74 imize");...}..}........public.St
4b40 72 69 6e 67 20 74 6f 53 74 72 69 6e 67 28 29 7b 0a 09 09 0a 09 09 72 65 74 75 72 6e 20 22 50 31 ring.toString(){......return."P1
4b60 3a 20 22 20 2b 20 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 20 2b 20 22 20 50 32 3a 20 22 20 2b 20 :.".+.parameters[0].+.".P2:.".+.
4b80 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 20 2b 20 22 20 76 61 6c 75 65 20 22 20 2b 20 67 65 74 56 parameters[1].+.".value.".+.getV
4ba0 61 6c 75 65 28 29 20 2b 20 22 20 67 72 61 64 20 28 22 20 2b 20 67 65 74 47 72 61 64 69 65 6e 74 alue().+.".grad.(".+.getGradient
4bc0 28 29 5b 30 5d 20 2b 20 22 3a 22 20 2b 20 67 65 74 47 72 61 64 69 65 6e 74 28 29 5b 31 5d 2b 22 ()[0].+.":".+.getGradient()[1]+"
4be0 29 22 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 61 69 )";..}....public.static.void.mai
4c00 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 73 29 20 7b 0a 09 09 64 6f 75 62 6c 65 20 61 20 3d 20 n(String[].args).{...double.a.=.
4c20 31 3b 0a 09 09 64 6f 75 62 6c 65 20 62 3d 31 3b 0a 09 09 64 6f 75 62 6c 65 20 78 30 20 3d 20 30 1;...double.b=1;...double.x0.=.0
4c40 3b 0a 09 09 64 6f 75 62 6c 65 20 79 30 20 20 3d 31 3b 0a 09 09 64 6f 75 62 6c 65 20 64 78 20 3d ;...double.y0..=1;...double.dx.=
4c60 20 30 2e 35 3b 0a 09 09 64 6f 75 62 6c 65 20 64 79 20 3d 20 30 2e 35 09 3b 0a 09 09 64 6f 75 62 .0.5;...double.dy.=.0.5.;...doub
4c80 6c 65 20 5b 5d 20 70 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 32 5d le.[].parameters.=.new.double[2]
4ca0 3b 0a 09 09 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 20 3d 20 78 30 3b 0a 09 09 70 61 72 61 6d 65 ;...parameters[0].=.x0;...parame
4cc0 74 65 72 73 5b 31 5d 20 3d 20 79 30 3b 0a 09 09 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 ters[1].=.y0;...x2y2WithConstrai
4ce0 6e 74 73 20 6f 20 3d 20 6e 65 77 20 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 6e 74 73 28 nts.o.=.new.x2y2WithConstraints(
4d00 61 2c 62 2c 70 61 72 61 6d 65 74 65 72 73 2c 64 78 2c 64 79 2c 20 6e 65 77 20 53 69 6d 70 6c 65 a,b,parameters,dx,dy,.new.Simple
4d20 78 50 72 6f 6a 65 63 74 69 6f 6e 28 30 2e 35 29 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e xProjection(0.5));...System.out.
4d40 70 72 69 6e 74 6c 6e 28 22 53 74 61 72 74 69 6e 67 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 22 println("Starting.optimization."
4d60 20 2b 20 22 20 78 30 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 30 5d 2b 20 22 20 78 .+.".x0.".+.o.parameters[0]+.".x
4d80 31 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 20 2b 20 22 20 61 20 22 20 2b 20 1.".+.o.parameters[1].+.".a.".+.
4da0 61 20 2b 20 22 20 62 20 22 2b 62 20 29 3b 0a 09 09 6f 2e 73 65 74 44 65 62 75 67 4c 65 76 65 6c a.+.".b."+b.);...o.setDebugLevel
4dc0 28 34 29 3b 0a 09 09 0a 09 09 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 20 3d 20 (4);......LineSearchMethod.ls.=.
4de0 6e 65 77 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e new.ArmijoLineSearchMinimization
4e00 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 28 6e 65 77 20 49 6e 74 65 72 70 6f 6c 61 AlongProjectionArc(new.Interpola
4e20 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 28 31 29 29 3b 0a 09 09 0a 09 09 4f 70 74 69 tionPickFirstStep(1));......Opti
4e40 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 20 3d 20 6e 65 77 20 4f 70 74 69 6d 69 7a 65 72 mizerStats.stats.=.new.Optimizer
4e60 53 74 61 74 73 28 29 3b 0a 09 09 6f 2e 6f 70 74 69 6d 69 7a 65 57 69 74 68 50 72 6f 6a 65 63 74 Stats();...o.optimizeWithProject
4e80 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 28 6c 73 2c 20 73 74 61 74 73 2c 20 6f 29 3b edGradientDescent(ls,.stats,.o);
4ea0 0a 09 09 0a 2f 2f 09 09 6f 20 3d 20 6e 65 77 20 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 ....//..o.=.new.x2y2WithConstrai
4ec0 6e 74 73 28 61 2c 62 2c 78 30 2c 79 30 2c 64 78 2c 64 79 29 3b 0a 2f 2f 09 09 73 74 61 74 73 20 nts(a,b,x0,y0,dx,dy);.//..stats.
4ee0 3d 20 6e 65 77 20 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 28 29 3b 0a 2f 2f 09 09 6f 2e 6f 70 =.new.OptimizerStats();.//..o.op
4f00 74 69 6d 69 7a 65 57 69 74 68 53 70 65 63 74 72 61 6c 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 timizeWithSpectralProjectedGradi
4f20 65 6e 74 44 65 73 63 65 6e 74 28 73 74 61 74 73 2c 20 6f 29 3b 0a 09 7d 0a 09 0a 09 0a 09 0a 09 entDescent(stats,.o);..}........
4f40 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c e7 84 61 56 11 0f 00 00 11 0f 00 00 31 00 00 .}.PK.........Y.<..aV........1..
4f60 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 47 65 6e 65 72 61 6c 69 7a .optimization/examples/Generaliz
4f80 65 64 52 6f 73 65 6e 62 72 6f 63 6b 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 b7 07 00 02 01 edRosenbrock.class.......2......
4fa0 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 47 65 6e 65 72 61 6c 69 .+optimization/examples/Generali
4fc0 7a 65 64 52 6f 73 65 6e 62 72 6f 63 6b 07 00 04 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f zedRosenbrock.....+optimization/
4fe0 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 01 00 gradientBasedMethods/Objective..
5000 06 3c 69 6e 69 74 3e 01 00 04 28 49 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 0a 01 .<init>...(I)V...Code...........
5020 00 03 28 29 56 09 00 01 00 0c 0c 00 0d 00 0e 01 00 0a 70 61 72 61 6d 65 74 65 72 73 01 00 02 5b ..()V.............parameters...[
5040 44 0a 00 10 00 12 07 00 11 01 00 10 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 73 0c 00 13 00 D...........java/util/Arrays....
5060 14 01 00 04 66 69 6c 6c 01 00 06 28 5b 44 44 29 56 09 00 01 00 16 0c 00 17 00 0e 01 00 08 67 72 ....fill...([DD)V.............gr
5080 61 64 69 65 6e 74 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c adient...LineNumberTable...Local
50a0 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 VariableTable...this..-Loptimiza
50c0 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 tion/examples/GeneralizedRosenbr
50e0 6f 63 6b 3b 01 00 0a 64 69 6d 65 6e 73 69 6f 6e 73 01 00 01 49 01 00 06 28 49 5b 44 29 56 01 00 ock;...dimensions...I...(I[D)V..
5100 06 70 61 72 61 6d 73 01 00 08 67 65 74 56 61 6c 75 65 01 00 03 28 29 44 09 00 01 00 23 0c 00 24 .params...getValue...()D....#..$
5120 00 1d 01 00 0d 66 75 6e 63 74 69 6f 6e 43 61 6c 6c 73 0a 00 26 00 28 07 00 27 01 00 1b 6f 70 74 .....functionCalls..&.(..'...opt
5140 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 29 00 2a 01 00 06 imization/util/MathUtils..).*...
5160 73 71 75 61 72 65 01 00 04 28 44 29 44 06 40 59 00 00 00 00 00 00 01 00 05 76 61 6c 75 65 01 00 square...(D)D.@Y.........value..
5180 01 44 01 00 01 69 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0b 67 65 74 47 72 61 64 .D...i...StackMapTable...getGrad
51a0 69 65 6e 74 01 00 04 28 29 5b 44 09 00 01 00 34 0c 00 35 00 1d 01 00 0d 67 72 61 64 69 65 6e 74 ient...()[D....4..5.....gradient
51c0 43 61 6c 6c 73 06 c0 00 00 00 00 00 00 00 06 40 79 00 00 00 00 00 00 06 40 69 00 00 00 00 00 00 Calls..........@y.......@i......
51e0 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e ...toString...()Ljava/lang/Strin
5200 67 3b 08 00 3f 01 00 00 07 00 41 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 g;..?.....A...java/lang/StringBu
5220 69 6c 64 65 72 0a 00 43 00 45 07 00 44 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 ilder..C.E..D...java/lang/String
5240 0c 00 46 00 47 01 00 07 76 61 6c 75 65 4f 66 01 00 26 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 ..F.G...valueOf..&(Ljava/lang/Ob
5260 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 40 00 49 0c 00 05 ject;)Ljava/lang/String;..@.I...
5280 00 4a 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 08 00 4c 01 00 01 .J...(Ljava/lang/String;)V..L...
52a0 50 0a 00 40 00 4e 0c 00 4f 00 50 01 00 06 61 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 P..@.N..O.P...append..-(Ljava/la
52c0 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c ng/String;)Ljava/lang/StringBuil
52e0 64 65 72 3b 0a 00 40 00 52 0c 00 4f 00 53 01 00 1c 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 der;..@.R..O.S...(I)Ljava/lang/S
5300 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 55 01 00 01 20 0a 00 40 00 57 0c 00 4f 00 58 01 00 tringBuilder;..U......@.W..O.X..
5320 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 40 .(D)Ljava/lang/StringBuilder;..@
5340 00 5a 0c 00 3c 00 3d 08 00 5c 01 00 07 20 56 61 6c 75 65 20 0a 00 01 00 5e 0c 00 20 00 21 01 00 .Z..<.=..\....Value.....^....!..
5360 03 72 65 73 01 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 04 6d 61 69 6e .res...Ljava/lang/String;...main
5380 01 00 16 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 01 00 64 0c 00 ...([Ljava/lang/String;)V....d..
53a0 05 00 06 09 00 66 00 68 07 00 67 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 .....f.h..g...java/lang/System..
53c0 69 00 6a 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d i.j...out...Ljava/io/PrintStream
53e0 3b 08 00 6c 01 00 1a 53 74 61 72 74 69 6e 67 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 20 78 30 ;..l...Starting.optimization..x0
5400 20 08 00 6e 01 00 04 20 78 31 20 0a 00 70 00 72 07 00 71 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 ...n....x1...p.r..q...java/io/Pr
5420 69 6e 74 53 74 72 65 61 6d 0c 00 73 00 4a 01 00 07 70 72 69 6e 74 6c 6e 08 00 75 01 00 16 44 6f intStream..s.J...println..u...Do
5440 69 6e 67 20 47 72 61 64 69 65 6e 74 20 64 65 73 63 65 6e 74 07 00 77 01 00 28 6f 70 74 69 6d 69 ing.Gradient.descent..w..(optimi
5460 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 47 72 61 64 69 65 6e 74 4c 32 4e 6f zation/stopCriteria/GradientL2No
5480 72 6d 06 3f 50 62 4d d2 f1 a9 fc 0a 00 76 00 7b 0c 00 05 00 7c 01 00 04 28 44 29 56 07 00 7e 01 rm.?PbM......v.{....|...(D)V..~.
54a0 00 34 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 41 72 6d 69 6a 6f .4optimization/linesearch/Armijo
54c0 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 0a 00 7d 00 09 07 00 81 01 00 LineSearchMinimization..}.......
54e0 31 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 1optimization/gradientBasedMetho
5500 64 73 2f 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 0a 00 80 00 83 0c 00 05 00 84 01 00 2d 28 ds/GradientDescent............-(
5520 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 Loptimization/linesearch/LineSea
5540 72 63 68 4d 65 74 68 6f 64 3b 29 56 07 00 86 01 00 36 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 rchMethod;)V.....6optimization/g
5560 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 radientBasedMethods/stats/Optimi
5580 7a 65 72 53 74 61 74 73 0a 00 85 00 09 0b 00 89 00 8b 07 00 8a 01 00 2b 6f 70 74 69 6d 69 7a 61 zerStats...............+optimiza
55a0 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 tion/gradientBasedMethods/Optimi
55c0 7a 65 72 0c 00 8c 00 06 01 00 10 73 65 74 4d 61 78 49 74 65 72 61 74 69 6f 6e 73 0b 00 89 00 8e zer........setMaxIterations.....
55e0 0c 00 8f 00 90 01 00 08 6f 70 74 69 6d 69 7a 65 01 00 93 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f ........optimize...(Loptimizatio
5600 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 n/gradientBasedMethods/Objective
5620 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 ;Loptimization/gradientBasedMeth
5640 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 ods/stats/OptimizerStats;Loptimi
5660 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 zation/stopCriteria/StopingCrite
5680 72 69 61 3b 29 5a 08 00 92 01 00 08 53 75 63 65 65 73 73 20 0a 00 40 00 94 0c 00 4f 00 95 01 00 ria;)Z......Suceess...@....O....
56a0 1c 28 5a 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 97 .(Z)Ljava/lang/StringBuilder;...
56c0 01 00 02 2f 6e 0a 00 85 00 99 0c 00 9a 00 9b 01 00 0b 70 72 65 74 74 79 50 72 69 6e 74 01 00 15 .../n.............prettyPrint...
56e0 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 9d 01 00 20 44 6f 69 6e 67 (I)Ljava/lang/String;......Doing
5700 20 43 6f 6e 6a 75 67 61 74 65 20 47 72 61 64 69 65 6e 74 20 64 65 73 63 65 6e 74 07 00 9f 01 00 .Conjugate.Gradient.descent.....
5720 33 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 3optimization/gradientBasedMetho
5740 64 73 2f 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 0a 00 9e 00 83 08 00 a2 01 00 1a 44 ds/ConjugateGradient...........D
5760 6f 69 6e 67 20 51 75 61 73 69 20 6e 65 77 74 6f 6e 20 64 65 73 63 65 6e 74 07 00 a4 01 00 27 6f oing.Quasi.newton.descent.....'o
5780 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
57a0 2f 4c 42 46 47 53 0a 00 a3 00 a6 0c 00 05 00 a7 01 00 2e 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f /LBFGS.............(Loptimizatio
57c0 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 49 29 n/linesearch/LineSearchMethod;I)
57e0 56 01 00 04 61 72 67 73 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 V...args...[Ljava/lang/String;..
5800 01 6f 01 00 04 73 74 6f 70 01 00 2b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 .o...stop..+Loptimization/stopCr
5820 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 01 00 02 6c 73 01 00 2a 4c iteria/StopingCriteria;...ls..*L
5840 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 optimization/linesearch/LineSear
5860 63 68 4d 65 74 68 6f 64 3b 01 00 09 6f 70 74 69 6d 69 7a 65 72 01 00 2d 4c 6f 70 74 69 6d 69 7a chMethod;...optimizer..-Loptimiz
5880 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d ation/gradientBasedMethods/Optim
58a0 69 7a 65 72 3b 01 00 05 73 74 61 74 73 01 00 38 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 izer;...stats..8Loptimization/gr
58c0 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a adientBasedMethods/stats/Optimiz
58e0 65 72 53 74 61 74 73 3b 01 00 06 73 75 63 63 65 64 01 00 01 5a 01 00 0a 53 6f 75 72 63 65 46 69 erStats;...succed...Z...SourceFi
5900 6c 65 01 00 1a 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 6f 63 6b 2e 6a 61 76 61 00 le...GeneralizedRosenbrock.java.
5920 21 00 01 00 03 00 00 00 00 00 06 00 01 00 05 00 06 00 01 00 07 00 00 00 5f 00 03 00 02 00 00 00 !......................._.......
5940 1b 2a b7 00 08 2a 1b bc 07 b5 00 0b 2a b4 00 0b 0e b8 00 0f 2a 1b bc 07 b5 00 15 b1 00 00 00 02 .*...*......*.......*...........
5960 00 18 00 00 00 16 00 05 00 00 00 19 00 04 00 1a 00 0b 00 1b 00 13 00 1c 00 1a 00 1e 00 19 00 00 ................................
5980 00 16 00 02 00 00 00 1b 00 1a 00 1b 00 00 00 00 00 1b 00 1c 00 1d 00 01 00 01 00 05 00 1e 00 01 ................................
59a0 00 07 00 00 00 5b 00 02 00 03 00 00 00 11 2a b7 00 08 2a 2c b5 00 0b 2a 1b bc 07 b5 00 15 b1 00 .....[........*...*,...*........
59c0 00 00 02 00 18 00 00 00 12 00 04 00 00 00 20 00 04 00 21 00 09 00 22 00 10 00 23 00 19 00 00 00 ..................!..."...#.....
59e0 20 00 03 00 00 00 11 00 1a 00 1b 00 00 00 00 00 11 00 1c 00 1d 00 01 00 00 00 11 00 1f 00 0e 00 ................................
5a00 02 00 01 00 20 00 21 00 01 00 07 00 00 00 a9 00 0a 00 04 00 00 00 49 2a 59 b4 00 22 04 60 b5 00 ......!...............I*Y..".`..
5a20 22 0e 48 03 3e a7 00 2e 27 0f 2a b4 00 0b 1d 31 67 b8 00 25 14 00 2b 2a b4 00 0b 1d 04 60 31 2a ".H.>...'.*....1g..%..+*.....`1*
5a40 b4 00 0b 1d 31 b8 00 25 67 b8 00 25 6b 63 63 48 84 03 01 1d 2a b4 00 0b be 04 64 a1 ff cd 27 af ....1..%g..%kccH....*.....d...'.
5a60 00 00 00 03 00 18 00 00 00 1a 00 06 00 00 00 27 00 0a 00 28 00 0c 00 29 00 11 00 2a 00 39 00 29 ...............'...(...)...*.9.)
5a80 00 47 00 2d 00 19 00 00 00 20 00 03 00 00 00 49 00 1a 00 1b 00 00 00 0c 00 3d 00 2d 00 2e 00 01 .G.-...........I.........=.-....
5aa0 00 0e 00 39 00 2f 00 1d 00 03 00 30 00 00 00 08 00 02 fd 00 11 03 01 2a 00 01 00 31 00 32 00 01 ...9./.....0...........*...1.2..
5ac0 00 07 00 00 00 d9 00 0c 00 02 00 00 00 7e 2a 59 b4 00 33 04 60 b5 00 33 2a b4 00 15 0e b8 00 0f .............~*Y..3.`..3*.......
5ae0 03 3c a7 00 5a 2a b4 00 15 1b 5c 31 14 00 36 0f 2a b4 00 0b 1b 31 67 6b 14 00 38 2a b4 00 0b 1b .<..Z*....\1..6.*....1gk..8*....
5b00 31 6b 2a b4 00 0b 1b 04 60 31 2a b4 00 0b 1b 31 b8 00 25 67 6b 67 63 52 2a b4 00 15 1b 04 60 5c 1k*.....`1*....1..%gkgcR*.....`\
5b20 31 14 00 3a 2a b4 00 0b 1b 04 60 31 2a b4 00 0b 1b 31 b8 00 25 67 6b 63 52 84 01 01 1b 2a b4 00 1..:*.....`1*....1..%gkcR....*..
5b40 0b be 04 64 a1 ff a1 2a b4 00 15 b0 00 00 00 03 00 18 00 00 00 1e 00 07 00 00 00 35 00 0a 00 36 ...d...*...................5...6
5b60 00 12 00 37 00 17 00 38 00 4a 00 39 00 6b 00 37 00 79 00 3b 00 19 00 00 00 16 00 02 00 00 00 7e ...7...8.J.9.k.7.y.;...........~
5b80 00 1a 00 1b 00 00 00 14 00 65 00 2f 00 1d 00 01 00 30 00 00 00 09 00 02 fc 00 17 01 fb 00 56 00 .........e./.....0............V.
5ba0 01 00 3c 00 3d 00 01 00 07 00 00 00 b9 00 03 00 03 00 00 00 57 12 3e 4c 03 3d a7 00 2c bb 00 40 ..<.=...............W.>L.=..,..@
5bc0 59 2b b8 00 42 b7 00 48 12 4b b6 00 4d 1c b6 00 51 12 54 b6 00 4d 2a b4 00 0b 1c 31 b6 00 56 b6 Y+..B..H.K..M...Q.T..M*....1..V.
5be0 00 59 4c 84 02 01 1c 2a b4 00 0b be a1 ff d1 bb 00 40 59 2b b8 00 42 b7 00 48 12 5b b6 00 4d 2a .YL....*.........@Y+..B..H.[..M*
5c00 b6 00 5d b6 00 56 b6 00 59 4c 2b b0 00 00 00 03 00 18 00 00 00 1a 00 06 00 00 00 45 00 03 00 46 ..]..V..YL+................E...F
5c20 00 08 00 47 00 2e 00 46 00 3a 00 49 00 55 00 4a 00 19 00 00 00 20 00 03 00 00 00 57 00 1a 00 1b ...G...F.:.I.U.J...........W....
5c40 00 00 00 03 00 54 00 5f 00 60 00 01 00 05 00 35 00 2f 00 1d 00 02 00 30 00 00 00 0a 00 02 fd 00 .....T._.`.....5./.....0........
5c60 08 07 00 43 01 28 00 09 00 61 00 62 00 01 00 07 00 00 02 25 00 04 00 07 00 00 01 5f bb 00 01 59 ...C.(...a.b.......%......._...Y
5c80 05 b7 00 63 4c b2 00 65 bb 00 40 59 12 6b b7 00 48 2b b4 00 0b 03 31 b6 00 56 12 6d b6 00 4d 2b ...cL..e..@Y.k..H+....1..V.m..M+
5ca0 b4 00 0b 04 31 b6 00 56 b6 00 59 b6 00 6f b2 00 65 12 74 b6 00 6f bb 00 76 59 14 00 78 b7 00 7a ....1..V..Y..o..e.t..o..vY..x..z
5cc0 4d bb 00 7d 59 b7 00 7f 4e bb 00 80 59 2d b7 00 82 3a 04 bb 00 85 59 b7 00 87 3a 05 19 04 11 03 M..}Y...N...Y-...:....Y...:.....
5ce0 e8 b9 00 88 02 00 19 04 2b 19 05 2c b9 00 8d 04 00 36 06 b2 00 65 bb 00 40 59 12 91 b7 00 48 15 ........+..,.....6...e..@Y....H.
5d00 06 b6 00 93 12 96 b6 00 4d 19 05 04 b6 00 98 b6 00 4d b6 00 59 b6 00 6f b2 00 65 12 9c b6 00 6f ........M........M..Y..o..e....o
5d20 bb 00 01 59 05 b7 00 63 4c bb 00 9e 59 2d b7 00 a0 3a 04 bb 00 85 59 b7 00 87 3a 05 19 04 11 03 ...Y...cL...Y-...:....Y...:.....
5d40 e8 b9 00 88 02 00 19 04 2b 19 05 2c b9 00 8d 04 00 36 06 b2 00 65 bb 00 40 59 12 91 b7 00 48 15 ........+..,.....6...e..@Y....H.
5d60 06 b6 00 93 12 96 b6 00 4d 19 05 04 b6 00 98 b6 00 4d b6 00 59 b6 00 6f b2 00 65 12 a1 b6 00 6f ........M........M..Y..o..e....o
5d80 bb 00 01 59 05 b7 00 63 4c bb 00 a3 59 2d 10 0a b7 00 a5 3a 04 bb 00 85 59 b7 00 87 3a 05 19 04 ...Y...cL...Y-.....:....Y...:...
5da0 11 03 e8 b9 00 88 02 00 19 04 2b 19 05 2c b9 00 8d 04 00 36 06 b2 00 65 bb 00 40 59 12 91 b7 00 ..........+..,.....6...e..@Y....
5dc0 48 15 06 b6 00 93 12 96 b6 00 4d 19 05 04 b6 00 98 b6 00 4d b6 00 59 b6 00 6f b1 00 00 00 02 00 H.........M........M..Y..o......
5de0 18 00 00 00 66 00 19 00 00 00 4f 00 09 00 50 00 32 00 53 00 3a 00 55 00 45 00 56 00 4d 00 57 00 ....f.....O...P.2.S.:.U.E.V.M.W.
5e00 57 00 58 00 60 00 59 00 6a 00 5a 00 77 00 5b 00 9c 00 5c 00 a4 00 5d 00 ad 00 5f 00 b7 00 60 00 W.X.`.Y.j.Z.w.[...\...]..._...`.
5e20 c0 00 61 00 ca 00 62 00 d7 00 63 00 fc 00 64 01 04 00 65 01 0d 00 66 01 19 00 67 01 22 00 68 01 ..a...b...c...d...e...f...g.".h.
5e40 2c 00 69 01 39 00 6a 01 5e 00 6c 00 19 00 00 00 48 00 07 00 00 01 5f 00 a8 00 a9 00 00 00 09 01 ,.i.9.j.^.l.....H....._.........
5e60 56 00 aa 00 1b 00 01 00 45 01 1a 00 ab 00 ac 00 02 00 4d 01 12 00 ad 00 ae 00 03 00 57 01 08 00 V.......E.........M.........W...
5e80 af 00 b0 00 04 00 60 00 ff 00 b1 00 b2 00 05 00 77 00 e8 00 b3 00 b4 00 06 00 01 00 b5 00 00 00 ......`.........w...............
5ea0 02 00 b6 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 9d 54 bc 49 6a 0d 00 00 6a 0d 00 00 30 00 00 ...PK.........i.<.T.Ij...j...0..
5ec0 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 47 65 6e 65 72 61 6c 69 7a .optimization/examples/Generaliz
5ee0 65 64 52 6f 73 65 6e 62 72 6f 63 6b 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a edRosenbrock.javapackage.optimiz
5f00 61 74 69 6f 6e 2e 65 78 61 6d 70 6c 65 73 3b 0a 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a ation.examples;...import.optimiz
5f20 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 43 6f 6e 6a 75 ation.gradientBasedMethods.Conju
5f40 67 61 74 65 47 72 61 64 69 65 6e 74 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f gateGradient;.import.optimizatio
5f60 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 47 72 61 64 69 65 6e 74 44 n.gradientBasedMethods.GradientD
5f80 65 73 63 65 6e 74 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 escent;.import.optimization.grad
5fa0 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4c 42 46 47 53 3b 0a 69 6d 70 6f 72 74 20 6f ientBasedMethods.LBFGS;.import.o
5fc0 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization.gradientBasedMethods
5fe0 2e 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e .Objective;.import.optimization.
6000 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 70 74 69 6d 69 7a 65 72 3b 0a gradientBasedMethods.Optimizer;.
6020 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 import.optimization.gradientBase
6040 64 4d 65 74 68 6f 64 73 2e 73 74 61 74 73 2e 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 0a 69 dMethods.stats.OptimizerStats;.i
6060 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 41 72 mport.optimization.linesearch.Ar
6080 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 3b 0a 69 6d 70 6f mijoLineSearchMinimization;.impo
60a0 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 4c 69 6e 65 53 rt.optimization.linesearch.LineS
60c0 65 61 72 63 68 4d 65 74 68 6f 64 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e earchMethod;.import.optimization
60e0 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 3b 0a 69 6d .stopCriteria.GradientL2Norm;.im
6100 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 53 port.optimization.stopCriteria.S
6120 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 topingCriteria;.import.optimizat
6140 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 0a 2f 2a 2a 0a 20 2a 20 0a 20 2a 20 ion.util.MathUtils;../**..*...*.
6160 40 61 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 20 66 28 78 29 20 3d 20 5c 73 75 6d 5f 7b 69 3d 31 @author.javg..*.f(x).=.\sum_{i=1
6180 7d 5e 7b 4e 2d 31 7d 20 5c 6c 65 66 74 5b 20 28 31 2d 78 5f 69 29 5e 32 2b 20 31 30 30 20 28 78 }^{N-1}.\left[.(1-x_i)^2+.100.(x
61a0 5f 7b 69 2b 31 7d 20 2d 20 78 5f 69 5e 32 20 29 5e 32 20 5c 72 69 67 68 74 5d 20 5c 71 75 61 64 _{i+1}.-.x_i^2.)^2.\right].\quad
61c0 20 5c 66 6f 72 61 6c 6c 20 78 5c 69 6e 5c 6d 61 74 68 62 62 7b 52 7d 5e 4e 2e 0a 20 2a 2f 0a 70 .\forall.x\in\mathbb{R}^N...*/.p
61e0 75 62 6c 69 63 20 63 6c 61 73 73 20 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 6f 63 ublic.class.GeneralizedRosenbroc
6200 6b 20 65 78 74 65 6e 64 73 20 4f 62 6a 65 63 74 69 76 65 7b 0a 0a 09 0a 09 0a 09 70 75 62 6c 69 k.extends.Objective{.......publi
6220 63 20 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 6f 63 6b 28 69 6e 74 20 64 69 6d 65 c.GeneralizedRosenbrock(int.dime
6240 6e 73 69 6f 6e 73 29 7b 0a 09 09 70 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 64 6f 75 62 nsions){...parameters.=.new.doub
6260 6c 65 5b 64 69 6d 65 6e 73 69 6f 6e 73 5d 3b 09 09 0a 09 09 6a 61 76 61 2e 75 74 69 6c 2e 41 72 le[dimensions];.....java.util.Ar
6280 72 61 79 73 2e 66 69 6c 6c 28 70 61 72 61 6d 65 74 65 72 73 2c 20 30 29 3b 0a 09 09 67 72 61 64 rays.fill(parameters,.0);...grad
62a0 69 65 6e 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 64 69 6d 65 6e 73 69 6f 6e 73 5d 3b 0a 09 ient.=.new.double[dimensions];..
62c0 09 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 ...}....public.GeneralizedRosenb
62e0 72 6f 63 6b 28 69 6e 74 20 64 69 6d 65 6e 73 69 6f 6e 73 2c 20 64 6f 75 62 6c 65 5b 5d 20 70 61 rock(int.dimensions,.double[].pa
6300 72 61 6d 73 29 7b 0a 09 09 70 61 72 61 6d 65 74 65 72 73 20 3d 20 70 61 72 61 6d 73 3b 09 0a 09 rams){...parameters.=.params;...
6320 09 67 72 61 64 69 65 6e 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 64 69 6d 65 6e 73 69 6f 6e .gradient.=.new.double[dimension
6340 73 5d 3b 0a 09 7d 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 56 61 6c s];..}......public.double.getVal
6360 75 65 28 29 20 7b 0a 09 09 66 75 6e 63 74 69 6f 6e 43 61 6c 6c 73 2b 2b 3b 0a 09 09 64 6f 75 62 ue().{...functionCalls++;...doub
6380 6c 65 20 76 61 6c 75 65 20 3d 20 30 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 le.value.=.0;...for(int.i.=.0;.i
63a0 20 3c 20 70 61 72 61 6d 65 74 65 72 73 2e 6c 65 6e 67 74 68 2d 31 3b 20 69 2b 2b 29 7b 0a 09 09 .<.parameters.length-1;.i++){...
63c0 09 76 61 6c 75 65 20 2b 3d 20 4d 61 74 68 55 74 69 6c 73 2e 73 71 75 61 72 65 28 31 2d 70 61 72 .value.+=.MathUtils.square(1-par
63e0 61 6d 65 74 65 72 73 5b 69 5d 29 20 2b 20 31 30 30 2a 4d 61 74 68 55 74 69 6c 73 2e 73 71 75 61 ameters[i]).+.100*MathUtils.squa
6400 72 65 28 70 61 72 61 6d 65 74 65 72 73 5b 69 2b 31 5d 20 2d 20 4d 61 74 68 55 74 69 6c 73 2e 73 re(parameters[i+1].-.MathUtils.s
6420 71 75 61 72 65 28 70 61 72 61 6d 65 74 65 72 73 5b 69 5d 29 29 3b 0a 09 09 7d 0a 09 09 0a 09 09 quare(parameters[i]));...}......
6440 72 65 74 75 72 6e 20 76 61 6c 75 65 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 67 78 20 3d 20 return.value;..}.../**...*.gx.=.
6460 2d 32 28 31 2d 78 29 20 2d 32 78 32 30 30 28 79 2d 78 5e 32 29 0a 09 20 2a 20 67 79 20 3d 20 32 -2(1-x).-2x200(y-x^2)...*.gy.=.2
6480 30 30 28 79 2d 78 5e 32 29 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 00(y-x^2)...*/..public.double[].
64a0 67 65 74 47 72 61 64 69 65 6e 74 28 29 20 7b 0a 09 09 67 72 61 64 69 65 6e 74 43 61 6c 6c 73 2b getGradient().{...gradientCalls+
64c0 2b 3b 0a 09 09 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 73 2e 66 69 6c 6c 28 67 72 61 64 69 +;...java.util.Arrays.fill(gradi
64e0 65 6e 74 2c 30 29 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 61 72 ent,0);...for(int.i.=.0;.i.<.par
6500 61 6d 65 74 65 72 73 2e 6c 65 6e 67 74 68 2d 31 3b 20 69 2b 2b 29 7b 0a 09 09 09 67 72 61 64 69 ameters.length-1;.i++){....gradi
6520 65 6e 74 5b 69 5d 2b 3d 2d 32 2a 28 31 2d 70 61 72 61 6d 65 74 65 72 73 5b 69 5d 29 20 2d 20 34 ent[i]+=-2*(1-parameters[i]).-.4
6540 30 30 2a 70 61 72 61 6d 65 74 65 72 73 5b 69 5d 2a 28 70 61 72 61 6d 65 74 65 72 73 5b 69 2b 31 00*parameters[i]*(parameters[i+1
6560 5d 20 2d 20 4d 61 74 68 55 74 69 6c 73 2e 73 71 75 61 72 65 28 70 61 72 61 6d 65 74 65 72 73 5b ].-.MathUtils.square(parameters[
6580 69 5d 29 29 3b 0a 09 09 09 67 72 61 64 69 65 6e 74 5b 69 2b 31 5d 2b 3d 32 30 30 2a 28 70 61 72 i]));....gradient[i+1]+=200*(par
65a0 61 6d 65 74 65 72 73 5b 69 2b 31 5d 20 2d 20 4d 61 74 68 55 74 69 6c 73 2e 73 71 75 61 72 65 28 ameters[i+1].-.MathUtils.square(
65c0 70 61 72 61 6d 65 74 65 72 73 5b 69 5d 29 29 3b 0a 09 09 7d 09 0a 09 09 72 65 74 75 72 6e 20 67 parameters[i]));...}....return.g
65e0 72 61 64 69 65 6e 74 3b 0a 09 7d 0a 0a 09 0a 0a 09 0a 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 53 radient;..}.............public.S
6600 74 72 69 6e 67 20 74 6f 53 74 72 69 6e 67 28 29 7b 0a 09 09 53 74 72 69 6e 67 20 20 72 65 73 20 tring.toString(){...String..res.
6620 3d 22 22 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 61 72 61 6d 65 ="";...for(int.i.=.0;.i.<.parame
6640 74 65 72 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 72 65 73 20 2b 3d 20 22 50 22 ters.length;.i++){....res.+=."P"
6660 20 2b 20 69 2b 20 22 20 22 20 2b 20 70 61 72 61 6d 65 74 65 72 73 5b 69 5d 3b 0a 09 09 7d 0a 09 .+.i+.".".+.parameters[i];...}..
6680 09 72 65 73 20 2b 3d 20 22 20 56 61 6c 75 65 20 22 20 2b 20 67 65 74 56 61 6c 75 65 28 29 3b 0a .res.+=.".Value.".+.getValue();.
66a0 09 09 72 65 74 75 72 6e 20 72 65 73 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 ..return.res;..}....public.stati
66c0 63 20 76 6f 69 64 20 6d 61 69 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 73 29 20 7b 0a 09 09 0a c.void.main(String[].args).{....
66e0 09 09 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 6f 63 6b 20 6f 20 3d 20 6e 65 77 20 ..GeneralizedRosenbrock.o.=.new.
6700 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 6f 63 6b 28 32 29 3b 0a 09 09 53 79 73 74 GeneralizedRosenbrock(2);...Syst
6720 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 74 61 72 74 69 6e 67 20 6f 70 74 69 6d 69 7a em.out.println("Starting.optimiz
6740 61 74 69 6f 6e 20 22 20 2b 20 22 20 78 30 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b ation.".+.".x0.".+.o.parameters[
6760 30 5d 2b 20 22 20 78 31 20 22 20 2b 20 6f 2e 70 61 72 61 6d 65 74 65 72 73 5b 31 5d 29 3b 0a 09 0]+.".x1.".+.o.parameters[1]);..
6780 09 3b 0a 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 44 6f 69 6e 67 20 .;....System.out.println("Doing.
67a0 47 72 61 64 69 65 6e 74 20 64 65 73 63 65 6e 74 22 29 3b 0a 09 09 2f 2f 4c 69 6e 65 53 65 61 72 Gradient.descent");...//LineSear
67c0 63 68 4d 65 74 68 6f 64 20 77 6f 6c 66 65 20 3d 20 6e 65 77 20 57 6f 6c 66 52 75 6c 65 4c 69 6e chMethod.wolfe.=.new.WolfRuleLin
67e0 65 53 65 61 72 63 68 28 6e 65 77 20 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 eSearch(new.InterpolationPickFir
6800 73 74 53 74 65 70 28 31 29 2c 31 30 30 2c 30 2e 30 30 31 2c 30 2e 31 29 3b 0a 09 09 53 74 6f 70 stStep(1),100,0.001,0.1);...Stop
6820 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 20 3d 20 6e 65 77 20 47 72 61 64 69 65 6e 74 4c ingCriteria.stop.=.new.GradientL
6840 32 4e 6f 72 6d 28 30 2e 30 30 31 29 3b 09 09 0a 09 09 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 2Norm(0.001);.....LineSearchMeth
6860 6f 64 20 6c 73 20 3d 20 6e 65 77 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 od.ls.=.new.ArmijoLineSearchMini
6880 6d 69 7a 61 74 69 6f 6e 28 29 3b 0a 09 09 4f 70 74 69 6d 69 7a 65 72 20 6f 70 74 69 6d 69 7a 65 mization();...Optimizer.optimize
68a0 72 20 3d 20 6e 65 77 20 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 28 6c 73 29 3b 09 09 0a 09 r.=.new.GradientDescent(ls);....
68c0 09 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 20 3d 20 6e 65 77 20 4f 70 74 69 .OptimizerStats.stats.=.new.Opti
68e0 6d 69 7a 65 72 53 74 61 74 73 28 29 3b 0a 09 09 6f 70 74 69 6d 69 7a 65 72 2e 73 65 74 4d 61 78 mizerStats();...optimizer.setMax
6900 49 74 65 72 61 74 69 6f 6e 73 28 31 30 30 30 29 3b 0a 09 09 62 6f 6f 6c 65 61 6e 20 73 75 63 63 Iterations(1000);...boolean.succ
6920 65 64 20 3d 20 6f 70 74 69 6d 69 7a 65 72 2e 6f 70 74 69 6d 69 7a 65 28 6f 2c 73 74 61 74 73 2c ed.=.optimizer.optimize(o,stats,
6940 20 73 74 6f 70 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 75 .stop);...System.out.println("Su
6960 63 65 65 73 73 20 22 20 2b 20 73 75 63 63 65 64 20 2b 20 22 2f 6e 22 2b 73 74 61 74 73 2e 70 72 ceess.".+.succed.+."/n"+stats.pr
6980 65 74 74 79 50 72 69 6e 74 28 31 29 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e ettyPrint(1));...System.out.prin
69a0 74 6c 6e 28 22 44 6f 69 6e 67 20 43 6f 6e 6a 75 67 61 74 65 20 47 72 61 64 69 65 6e 74 20 64 65 tln("Doing.Conjugate.Gradient.de
69c0 73 63 65 6e 74 22 29 3b 0a 09 09 6f 20 3d 20 6e 65 77 20 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f scent");...o.=.new.GeneralizedRo
69e0 73 65 6e 62 72 6f 63 6b 28 32 29 3b 0a 09 2f 2f 09 77 6f 6c 66 65 20 3d 20 6e 65 77 20 57 6f 6c senbrock(2);..//.wolfe.=.new.Wol
6a00 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 28 6e 65 77 20 49 6e 74 65 72 70 6f 6c 61 74 69 6f fRuleLineSearch(new.Interpolatio
6a20 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 28 31 29 2c 31 30 30 2c 30 2e 30 30 31 2c 30 2e 31 29 nPickFirstStep(1),100,0.001,0.1)
6a40 3b 0a 09 09 6f 70 74 69 6d 69 7a 65 72 20 3d 20 6e 65 77 20 43 6f 6e 6a 75 67 61 74 65 47 72 61 ;...optimizer.=.new.ConjugateGra
6a60 64 69 65 6e 74 28 6c 73 29 3b 0a 09 09 73 74 61 74 73 20 3d 20 6e 65 77 20 4f 70 74 69 6d 69 7a dient(ls);...stats.=.new.Optimiz
6a80 65 72 53 74 61 74 73 28 29 3b 0a 09 09 6f 70 74 69 6d 69 7a 65 72 2e 73 65 74 4d 61 78 49 74 65 erStats();...optimizer.setMaxIte
6aa0 72 61 74 69 6f 6e 73 28 31 30 30 30 29 3b 0a 09 09 73 75 63 63 65 64 20 3d 20 6f 70 74 69 6d 69 rations(1000);...succed.=.optimi
6ac0 7a 65 72 2e 6f 70 74 69 6d 69 7a 65 28 6f 2c 73 74 61 74 73 2c 73 74 6f 70 29 3b 0a 09 09 53 79 zer.optimize(o,stats,stop);...Sy
6ae0 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 75 63 65 65 73 73 20 22 20 2b 20 73 75 stem.out.println("Suceess.".+.su
6b00 63 63 65 64 20 2b 20 22 2f 6e 22 2b 73 74 61 74 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 31 29 cced.+."/n"+stats.prettyPrint(1)
6b20 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 44 6f 69 6e 67 20 51 );...System.out.println("Doing.Q
6b40 75 61 73 69 20 6e 65 77 74 6f 6e 20 64 65 73 63 65 6e 74 22 29 3b 0a 09 09 6f 20 3d 20 6e 65 77 uasi.newton.descent");...o.=.new
6b60 20 47 65 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 6f 63 6b 28 32 29 3b 0a 09 09 6f 70 74 .GeneralizedRosenbrock(2);...opt
6b80 69 6d 69 7a 65 72 20 3d 20 6e 65 77 20 4c 42 46 47 53 28 6c 73 2c 31 30 29 3b 0a 09 09 73 74 61 imizer.=.new.LBFGS(ls,10);...sta
6ba0 74 73 20 3d 20 6e 65 77 20 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 28 29 3b 0a 09 09 6f 70 74 ts.=.new.OptimizerStats();...opt
6bc0 69 6d 69 7a 65 72 2e 73 65 74 4d 61 78 49 74 65 72 61 74 69 6f 6e 73 28 31 30 30 30 29 3b 0a 09 imizer.setMaxIterations(1000);..
6be0 09 73 75 63 63 65 64 20 3d 20 6f 70 74 69 6d 69 7a 65 72 2e 6f 70 74 69 6d 69 7a 65 28 6f 2c 73 .succed.=.optimizer.optimize(o,s
6c00 74 61 74 73 2c 73 74 6f 70 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e tats,stop);...System.out.println
6c20 28 22 53 75 63 65 65 73 73 20 22 20 2b 20 73 75 63 63 65 64 20 2b 20 22 2f 6e 22 2b 73 74 61 74 ("Suceess.".+.succed.+."/n"+stat
6c40 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 31 29 29 3b 0a 0a 09 7d 0a 09 0a 7d 0a 50 4b 03 04 0a s.prettyPrint(1));...}...}.PK...
6c60 00 00 00 00 00 96 59 e5 3c 64 c6 c0 6a f6 01 00 00 f6 01 00 00 4b 00 00 00 6f 70 74 69 6d 69 7a ......Y.<d..j........K...optimiz
6c80 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 ation/gradientBasedMethods/Proje
6ca0 63 74 65 64 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 2e 63 ctedAbstractGradientBaseMethod.c
6cc0 6c 61 73 73 ca fe ba be 00 00 00 32 00 12 07 00 02 01 00 45 6f 70 74 69 6d 69 7a 61 74 69 6f 6e lass.......2.......Eoptimization
6ce0 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 41 /gradientBasedMethods/ProjectedA
6d00 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 07 00 04 01 00 3c 6f bstractGradientBaseMethod.....<o
6d20 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
6d40 2f 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 07 00 06 01 00 /AbstractGradientBaseMethod.....
6d60 34 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 4optimization/gradientBasedMetho
6d80 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 01 00 06 3c 69 6e 69 74 3e 01 00 ds/ProjectedOptimizer...<init>..
6da0 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 0b 0c 00 07 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 .()V...Code.............LineNumb
6dc0 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 erTable...LocalVariableTable...t
6de0 68 69 73 01 00 47 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 his..GLoptimization/gradientBase
6e00 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 41 62 73 74 72 61 63 74 47 72 61 64 69 65 dMethods/ProjectedAbstractGradie
6e20 6e 74 42 61 73 65 4d 65 74 68 6f 64 3b 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 28 50 72 6f ntBaseMethod;...SourceFile..(Pro
6e40 6a 65 63 74 65 64 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 jectedAbstractGradientBaseMethod
6e60 2e 6a 61 76 61 04 21 00 01 00 03 00 01 00 05 00 00 00 01 00 01 00 07 00 08 00 01 00 09 00 00 00 .java.!.........................
6e80 2f 00 01 00 01 00 00 00 05 2a b7 00 0a b1 00 00 00 02 00 0c 00 00 00 06 00 01 00 00 00 09 00 0d /........*......................
6ea0 00 00 00 0c 00 01 00 00 00 05 00 0e 00 0f 00 00 00 01 00 10 00 00 00 02 00 11 50 4b 03 04 0a 00 ..........................PK....
6ec0 00 00 00 00 b1 69 d6 3c 0c 75 58 ea cc 00 00 00 cc 00 00 00 4a 00 00 00 6f 70 74 69 6d 69 7a 61 .....i.<.uX.........J...optimiza
6ee0 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 tion/gradientBasedMethods/Projec
6f00 74 65 64 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 2e 6a 61 tedAbstractGradientBaseMethod.ja
6f20 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 vapackage.optimization.gradientB
6f40 61 73 65 64 4d 65 74 68 6f 64 73 3b 0a 0a 0a 2f 2a 2a 0a 20 2a 20 0a 20 2a 20 40 61 75 74 68 6f asedMethods;.../**..*...*.@autho
6f60 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 63 6c r.javg..*..*/.public.abstract.cl
6f80 61 73 73 20 50 72 6f 6a 65 63 74 65 64 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 ass.ProjectedAbstractGradientBas
6fa0 65 4d 65 74 68 6f 64 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 eMethod.extends.AbstractGradient
6fc0 42 61 73 65 4d 65 74 68 6f 64 20 69 6d 70 6c 65 6d 65 6e 74 73 20 50 72 6f 6a 65 63 74 65 64 4f BaseMethod.implements.ProjectedO
6fe0 70 74 69 6d 69 7a 65 72 7b 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c d0 c6 25 c4 ptimizer{...}.PK.........Y.<..%.
7000 c7 0f 00 00 c7 0f 00 00 42 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e ........B...optimization/gradien
7020 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 tBasedMethods/AbstractGradientBa
7040 73 65 4d 65 74 68 6f 64 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 af 07 00 02 01 00 3c 6f 70 seMethod.class.......2.......<op
7060 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f timization/gradientBasedMethods/
7080 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 07 00 04 01 00 10 AbstractGradientBaseMethod......
70a0 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 06 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 java/lang/Object.....+optimizati
70c0 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 on/gradientBasedMethods/Optimize
70e0 72 01 00 15 6d 61 78 4e 75 6d 62 65 72 4f 66 49 74 65 72 61 74 69 6f 6e 73 01 00 01 49 01 00 1a r...maxNumberOfIterations...I...
7100 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 01 00 09 63 75 72 currentProjectionIteration...cur
7120 72 56 61 6c 75 65 01 00 01 44 01 00 0d 70 72 65 76 69 6f 75 73 56 61 6c 75 65 01 00 04 73 74 65 rValue...D...previousValue...ste
7140 70 01 00 08 67 72 61 64 69 65 6e 74 01 00 02 5b 44 01 00 09 64 69 72 65 63 74 69 6f 6e 01 00 16 p...gradient...[D...direction...
7160 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 01 00 0a 6c 69 6e 65 53 65 61 originalGradientL2Norm...lineSea
7180 72 63 68 01 00 2a 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c rch..*Loptimization/linesearch/L
71a0 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 01 00 03 6c 73 6f 01 00 3b 4c 6f 70 74 69 6d 69 ineSearchMethod;...lso..;Loptimi
71c0 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 zation/linesearch/Differentiable
71e0 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 01 00 06 3c 69 6e 69 74 3e 01 00 03 LineSearchObjective;...<init>...
7200 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 1a 0c 00 16 00 17 09 00 01 00 1c 0c 00 07 00 08 06 7f ()V...Code......................
7220 ef ff ff ff ff ff ff 09 00 01 00 20 0c 00 0c 00 0b 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 ....................LineNumberTa
7240 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 ble...LocalVariableTable...this.
7260 00 3e 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 .>Loptimization/gradientBasedMet
7280 68 6f 64 73 2f 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 3b hods/AbstractGradientBaseMethod;
72a0 01 00 05 72 65 73 65 74 09 00 01 00 27 0c 00 10 00 0f 09 00 01 00 29 0c 00 0e 00 0f 09 00 01 00 ...reset....'.........).........
72c0 2b 0c 00 09 00 08 09 00 01 00 2d 0c 00 11 00 0b 09 00 01 00 2f 0c 00 0d 00 0b 09 00 01 00 31 0c +.........-........./.........1.
72e0 00 0a 00 0b 01 00 14 69 6e 69 74 69 61 6c 69 7a 65 53 74 72 75 63 74 75 72 65 73 01 00 93 28 4c .......initializeStructures...(L
7300 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 optimization/gradientBasedMethod
7320 73 2f 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 s/Objective;Loptimization/gradie
7340 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 ntBasedMethods/stats/OptimizerSt
7360 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 ats;Loptimization/stopCriteria/S
7380 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 56 07 00 35 01 00 39 6f 70 74 69 6d 69 7a 61 74 topingCriteria;)V..5..9optimizat
73a0 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e ion/linesearch/DifferentiableLin
73c0 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 0a 00 34 00 37 0c 00 16 00 38 01 00 30 28 4c 6f eSearchObjective..4.7....8..0(Lo
73e0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
7400 2f 4f 62 6a 65 63 74 69 76 65 3b 29 56 09 00 01 00 3a 0c 00 14 00 15 01 00 01 6f 01 00 2d 4c 6f /Objective;)V....:........o..-Lo
7420 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
7440 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 05 73 74 61 74 73 01 00 38 4c 6f 70 74 69 6d 69 7a 61 74 /Objective;...stats..8Loptimizat
7460 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f ion/gradientBasedMethods/stats/O
7480 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 01 00 04 73 74 6f 70 01 00 2b 4c 6f 70 74 69 6d 69 7a ptimizerStats;...stop..+Loptimiz
74a0 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 ation/stopCriteria/StopingCriter
74c0 69 61 3b 01 00 1a 75 70 64 61 74 65 53 74 72 75 63 74 75 72 65 73 42 65 66 6f 72 65 53 74 65 70 ia;...updateStructuresBeforeStep
74e0 01 00 19 75 70 64 61 74 65 53 74 72 75 63 74 75 72 65 73 41 66 74 65 72 53 74 65 70 01 00 08 6f ...updateStructuresAfterStep...o
7500 70 74 69 6d 69 7a 65 01 00 93 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e ptimize...(Loptimization/gradien
7520 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a tBasedMethods/Objective;Loptimiz
7540 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 ation/gradientBasedMethods/stats
7560 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 /OptimizerStats;Loptimization/st
7580 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 5a 0a 00 46 opCriteria/StopingCriteria;)Z..F
75a0 00 48 07 00 47 01 00 36 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 .H..G..6optimization/gradientBas
75c0 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 0c 00 edMethods/stats/OptimizerStats..
75e0 49 00 4a 01 00 10 63 6f 6c 6c 65 63 74 49 6e 69 74 53 74 61 74 73 01 00 5d 28 4c 6f 70 74 69 6d I.J...collectInitStats..](Loptim
7600 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 ization/gradientBasedMethods/Opt
7620 69 6d 69 7a 65 72 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 imizer;Loptimization/gradientBas
7640 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 29 56 0a 00 4c 00 4e 07 00 4d 01 00 edMethods/Objective;)V..L.N..M..
7660 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f +optimization/gradientBasedMetho
7680 64 73 2f 4f 62 6a 65 63 74 69 76 65 0c 00 4f 00 50 01 00 10 67 65 74 4e 75 6d 50 61 72 61 6d 65 ds/Objective..O.P...getNumParame
76a0 74 65 72 73 01 00 03 28 29 49 0a 00 01 00 52 0c 00 32 00 33 0a 00 4c 00 54 0c 00 55 00 56 01 00 ters...()I....R..2.3..L.T..U.V..
76c0 08 67 65 74 56 61 6c 75 65 01 00 03 28 29 44 0a 00 4c 00 58 0c 00 59 00 5a 01 00 0b 67 65 74 47 .getValue...()D..L.X..Y.Z...getG
76e0 72 61 64 69 65 6e 74 01 00 04 28 29 5b 44 0b 00 5c 00 5e 07 00 5d 01 00 29 6f 70 74 69 6d 69 7a radient...()[D..\.^..]..)optimiz
7700 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 ation/stopCriteria/StopingCriter
7720 69 61 0c 00 5f 00 60 01 00 10 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 01 00 30 28 4c 6f ia.._.`...stopOptimization..0(Lo
7740 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
7760 2f 4f 62 6a 65 63 74 69 76 65 3b 29 5a 0a 00 46 00 62 0c 00 63 00 4a 01 00 11 63 6f 6c 6c 65 63 /Objective;)Z..F.b..c.J...collec
7780 74 46 69 6e 61 6c 53 74 61 74 73 0a 00 01 00 65 0c 00 66 00 5a 01 00 0c 67 65 74 44 69 72 65 63 tFinalStats....e..f.Z...getDirec
77a0 74 69 6f 6e 0a 00 68 00 6a 07 00 69 01 00 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c tion..h.j..i...optimization/util
77c0 2f 4d 61 74 68 55 74 69 6c 73 0c 00 6b 00 6c 01 00 0a 64 6f 74 50 72 6f 64 75 63 74 01 00 07 28 /MathUtils..k.l...dotProduct...(
77e0 5b 44 5b 44 29 44 09 00 6e 00 70 07 00 6f 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 [D[D)D..n.p..o...java/lang/Syste
7800 6d 0c 00 71 00 72 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 m..q.r...out...Ljava/io/PrintStr
7820 65 61 6d 3b 08 00 74 01 00 17 4e 6f 74 20 61 20 64 65 73 63 65 6e 74 20 64 69 72 65 63 74 69 6f eam;..t...Not.a.descent.directio
7840 6e 0a 00 76 00 78 07 00 77 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c n..v.x..w...java/io/PrintStream.
7860 00 79 00 7a 01 00 07 70 72 69 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 .y.z...println...(Ljava/lang/Str
7880 69 6e 67 3b 29 56 07 00 7c 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c ing;)V..|...java/lang/StringBuil
78a0 64 65 72 08 00 7e 01 00 0f 20 63 75 72 72 65 6e 74 20 73 74 61 74 73 20 0a 00 7b 00 80 0c 00 16 der..~....current.stats...{.....
78c0 00 7a 0a 00 46 00 82 0c 00 83 00 84 01 00 0b 70 72 65 74 74 79 50 72 69 6e 74 01 00 15 28 49 29 .z..F..........prettyPrint...(I)
78e0 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 7b 00 86 0c 00 87 00 88 01 00 06 61 Ljava/lang/String;..{..........a
7900 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 ppend..-(Ljava/lang/String;)Ljav
7920 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 7b 00 8a 0c 00 8b 00 8c 01 a/lang/StringBuilder;..{........
7940 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 ..toString...()Ljava/lang/String
7960 3b 0a 00 6e 00 8e 0c 00 8f 00 90 01 00 04 65 78 69 74 01 00 04 28 49 29 56 0a 00 01 00 92 0c 00 ;..n..........exit...(I)V.......
7980 41 00 33 0a 00 34 00 94 0c 00 25 00 95 01 00 05 28 5b 44 29 56 09 00 01 00 97 0c 00 12 00 13 0b A.3..4....%.....([D)V...........
79a0 00 99 00 9b 07 00 9a 01 00 28 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 .........(optimization/linesearc
79c0 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 0c 00 9c 00 9d 01 00 0b 67 65 74 53 74 65 h/LineSearchMethod........getSte
79e0 70 53 69 7a 65 01 00 3e 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 pSize..>(Loptimization/linesearc
7a00 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 h/DifferentiableLineSearchObject
7a20 69 76 65 3b 29 44 06 bf f0 00 00 00 00 00 00 08 00 a1 01 00 13 46 61 69 6c 65 64 20 74 6f 20 66 ive;)D...............Failed.to.f
7a40 69 6e 64 20 73 74 65 70 0a 00 01 00 a3 0c 00 42 00 33 0a 00 46 00 a5 0c 00 a6 00 4a 01 00 15 63 ind.step.......B.3..F......J...c
7a60 6f 6c 6c 65 63 74 49 74 65 72 61 74 69 6f 6e 53 74 61 74 73 01 00 0d 53 74 61 63 6b 4d 61 70 54 ollectIterationStats...StackMapT
7a80 61 62 6c 65 01 00 13 67 65 74 43 75 72 72 65 6e 74 49 74 65 72 61 74 69 6f 6e 01 00 0e 67 65 74 able...getCurrentIteration...get
7aa0 43 75 72 72 65 6e 74 53 74 65 70 01 00 10 73 65 74 4d 61 78 49 74 65 72 61 74 69 6f 6e 73 01 00 CurrentStep...setMaxIterations..
7ac0 03 6d 61 78 01 00 0f 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 01 00 0a 53 6f 75 72 63 65 46 .max...getCurrentValue...SourceF
7ae0 69 6c 65 01 00 1f 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 ile...AbstractGradientBaseMethod
7b00 2e 6a 61 76 61 04 21 00 01 00 03 00 01 00 05 00 0a 00 04 00 07 00 08 00 00 00 04 00 09 00 08 00 .java.!.........................
7b20 00 00 04 00 0a 00 0b 00 00 00 04 00 0c 00 0b 00 00 00 04 00 0d 00 0b 00 00 00 04 00 0e 00 0f 00 ................................
7b40 00 00 01 00 10 00 0f 00 00 00 04 00 11 00 0b 00 00 00 04 00 12 00 13 00 00 00 00 00 14 00 15 00 ................................
7b60 00 00 0b 00 01 00 16 00 17 00 01 00 18 00 00 00 49 00 03 00 01 00 00 00 13 2a b7 00 19 2a 11 27 ................I........*...*.'
7b80 10 b5 00 1b 2a 14 00 1d b5 00 1f b1 00 00 00 02 00 21 00 00 00 12 00 04 00 00 00 0e 00 04 00 10 ....*............!..............
7ba0 00 0b 00 16 00 12 00 0e 00 22 00 00 00 0c 00 01 00 00 00 13 00 23 00 24 00 00 00 01 00 25 00 17 ........."...........#.$.....%..
7bc0 00 01 00 18 00 00 00 6c 00 03 00 01 00 00 00 26 2a 01 b5 00 26 2a 01 b5 00 28 2a 14 00 1d b5 00 .......l.......&*...&*...(*.....
7be0 1f 2a 03 b5 00 2a 2a 0e b5 00 2c 2a 0e b5 00 2e 2a 0e b5 00 30 b1 00 00 00 02 00 21 00 00 00 22 .*...**...,*....*...0......!..."
7c00 00 08 00 00 00 23 00 05 00 24 00 0a 00 25 00 11 00 26 00 16 00 27 00 1b 00 28 00 20 00 29 00 25 .....#...$...%...&...'...(...).%
7c20 00 2a 00 22 00 00 00 0c 00 01 00 00 00 26 00 23 00 24 00 00 00 01 00 32 00 33 00 01 00 18 00 00 .*.".........&.#.$.....2.3......
7c40 00 59 00 04 00 04 00 00 00 0d 2a bb 00 34 59 2b b7 00 36 b5 00 39 b1 00 00 00 02 00 21 00 00 00 .Y........*..4Y+..6..9......!...
7c60 0a 00 02 00 00 00 2d 00 0c 00 2e 00 22 00 00 00 2a 00 04 00 00 00 0d 00 23 00 24 00 00 00 00 00 ......-....."...*.......#.$.....
7c80 0d 00 3b 00 3c 00 01 00 00 00 0d 00 3d 00 3e 00 02 00 00 00 0d 00 3f 00 40 00 03 00 01 00 41 00 ..;.<.......=.>.......?.@.....A.
7ca0 33 00 01 00 18 00 00 00 49 00 00 00 04 00 00 00 01 b1 00 00 00 02 00 21 00 00 00 06 00 01 00 00 3.......I..............!........
7cc0 00 30 00 22 00 00 00 2a 00 04 00 00 00 01 00 23 00 24 00 00 00 00 00 01 00 3b 00 3c 00 01 00 00 .0."...*.......#.$.......;.<....
7ce0 00 01 00 3d 00 3e 00 02 00 00 00 01 00 3f 00 40 00 03 00 01 00 42 00 33 00 01 00 18 00 00 00 49 ...=.>.......?.@.....B.3.......I
7d00 00 00 00 04 00 00 00 01 b1 00 00 00 02 00 21 00 00 00 06 00 01 00 00 00 33 00 22 00 00 00 2a 00 ..............!.........3."...*.
7d20 04 00 00 00 01 00 23 00 24 00 00 00 00 00 01 00 3b 00 3c 00 01 00 00 00 01 00 3d 00 3e 00 02 00 ......#.$.......;.<.......=.>...
7d40 00 00 01 00 3f 00 40 00 03 00 01 00 43 00 44 00 01 00 18 00 00 01 a9 00 04 00 04 00 00 00 ec 2c ....?.@.....C.D................,
7d60 2a 2b b6 00 45 2a 2b b6 00 4b bc 07 b5 00 26 2a 2b 2c 2d b6 00 51 2a 04 b5 00 2a a7 00 bd 2a 2a *+..E*+..K....&*+,-..Q*...*...**
7d80 b4 00 30 b5 00 1f 2a 2b b6 00 53 b5 00 30 2a 2b b6 00 57 b5 00 28 2d 2b b9 00 5b 02 00 99 00 0b ..0...*+..S..0*+..W..(-+..[.....
7da0 2c 2a 2b b6 00 61 04 ac 2a b6 00 64 57 2a b4 00 28 2a b4 00 26 b8 00 67 0e 97 9e 00 29 b2 00 6d ,*+..a..*..dW*..(*..&..g....)..m
7dc0 12 73 b6 00 75 b2 00 6d bb 00 7b 59 12 7d b7 00 7f 2c 04 b6 00 81 b6 00 85 b6 00 89 b6 00 75 02 .s..u..m..{Y.}...,............u.
7de0 b8 00 8d 2a 2b 2c 2d b6 00 91 2a b4 00 39 2a b4 00 26 b6 00 93 2a 2a b4 00 96 2a b4 00 39 b9 00 ...*+,-...*..9*..&...**...*..9..
7e00 98 02 00 b5 00 2e 2a b4 00 2e 14 00 9e 97 9a 00 13 b2 00 6d 12 a0 b6 00 75 2c 2a 2b b6 00 61 03 ......*............m....u,*+..a.
7e20 ac 2a 2b 2c 2d b6 00 a2 2c 2a 2b b6 00 a4 2a 59 b4 00 2a 04 60 b5 00 2a 2a b4 00 2a 2a b4 00 1b .*+,-...,*+...*Y..*.`..**..**...
7e40 a1 ff 3e 2c 2a 2b b6 00 61 03 ac 00 00 00 03 00 21 00 00 00 6e 00 1b 00 00 00 38 00 06 00 39 00 ..>,*+..a.......!...n.....8...9.
7e60 10 00 3a 00 17 00 3b 00 1f 00 3e 00 27 00 3f 00 2f 00 40 00 37 00 41 00 41 00 42 00 47 00 43 00 ..:...;...>.'.?./.@.7.A.A.B.G.C.
7e80 49 00 46 00 4e 00 47 00 5e 00 48 00 66 00 49 00 80 00 4a 00 84 00 4c 00 8b 00 4d 00 96 00 4e 00 I.F.N.G.^.H.f.I...J...L...M...N.
7ea0 a7 00 50 00 b2 00 51 00 ba 00 52 00 c0 00 53 00 c2 00 55 00 c9 00 59 00 cf 00 3b 00 e4 00 5b 00 ..P...Q...R...S...U...Y...;...[.
7ec0 ea 00 5c 00 22 00 00 00 2a 00 04 00 00 00 ec 00 23 00 24 00 00 00 00 00 ec 00 3b 00 3c 00 01 00 ..\."...*.......#.$.......;.<...
7ee0 00 00 ec 00 3d 00 3e 00 02 00 00 00 ec 00 3f 00 40 00 03 00 a7 00 00 00 07 00 05 1f 29 3a 3d 16 ....=.>.......?.@...........):=.
7f00 00 01 00 a8 00 50 00 01 00 18 00 00 00 2f 00 01 00 01 00 00 00 05 2a b4 00 2a ac 00 00 00 02 00 .....P......./........*..*......
7f20 21 00 00 00 06 00 01 00 00 00 61 00 22 00 00 00 0c 00 01 00 00 00 05 00 23 00 24 00 00 04 01 00 !.........a."...........#.$.....
7f40 66 00 5a 00 00 00 01 00 a9 00 56 00 01 00 18 00 00 00 2f 00 02 00 01 00 00 00 05 2a b4 00 2e af f.Z.......V......./........*....
7f60 00 00 00 02 00 21 00 00 00 06 00 01 00 00 00 6b 00 22 00 00 00 0c 00 01 00 00 00 05 00 23 00 24 .....!.........k."...........#.$
7f80 00 00 00 01 00 aa 00 90 00 01 00 18 00 00 00 3e 00 02 00 02 00 00 00 06 2a 1b b5 00 1b b1 00 00 ...............>........*.......
7fa0 00 02 00 21 00 00 00 0a 00 02 00 00 00 71 00 05 00 72 00 22 00 00 00 16 00 02 00 00 00 06 00 23 ...!.........q...r."...........#
7fc0 00 24 00 00 00 00 00 06 00 ab 00 08 00 01 00 01 00 ac 00 56 00 01 00 18 00 00 00 2f 00 02 00 01 .$.................V......./....
7fe0 00 00 00 05 2a b4 00 30 af 00 00 00 02 00 21 00 00 00 06 00 01 00 00 00 75 00 22 00 00 00 0c 00 ....*..0......!.........u.".....
8000 01 00 00 00 05 00 23 00 24 00 00 00 01 00 ad 00 00 00 02 00 ae 50 4b 03 04 0a 00 00 00 00 00 b1 ......#.$............PK.........
8020 69 d6 3c 09 75 dc 02 19 0c 00 00 19 0c 00 00 41 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f i.<.u..........A...optimization/
8040 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 41 62 73 74 72 61 63 74 47 72 61 gradientBasedMethods/AbstractGra
8060 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 dientBaseMethod.javapackage.opti
8080 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 3b 0a 0a mization.gradientBasedMethods;..
80a0 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 import.optimization.gradientBase
80c0 64 4d 65 74 68 6f 64 73 2e 73 74 61 74 73 2e 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 0a 69 dMethods.stats.OptimizerStats;.i
80e0 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 44 69 mport.optimization.linesearch.Di
8100 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b fferentiableLineSearchObjective;
8120 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e .import.optimization.linesearch.
8140 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a LineSearchMethod;.import.optimiz
8160 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 53 74 6f 70 69 6e 67 43 72 69 74 65 72 ation.stopCriteria.StopingCriter
8180 69 61 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 ia;.import.optimization.util.Mat
81a0 68 55 74 69 6c 73 3b 0a 0a 2f 2a 2a 0a 20 2a 20 0a 20 2a 20 40 61 75 74 68 6f 72 20 6a 61 76 67 hUtils;../**..*...*.@author.javg
81c0 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 ..*..*/.public.abstract.class.Ab
81e0 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 20 69 6d 70 6c 65 6d 65 stractGradientBaseMethod.impleme
8200 6e 74 73 20 4f 70 74 69 6d 69 7a 65 72 7b 0a 09 0a 09 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 nts.Optimizer{....protected.int.
8220 6d 61 78 4e 75 6d 62 65 72 4f 66 49 74 65 72 61 74 69 6f 6e 73 3d 31 30 30 30 30 3b 0a 09 0a 09 maxNumberOfIterations=10000;....
8240 0a 09 0a 09 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 ....protected.int.currentProject
8260 69 6f 6e 49 74 65 72 61 74 69 6f 6e 3b 0a 09 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 ionIteration;..protected.double.
8280 63 75 72 72 56 61 6c 75 65 3b 09 0a 09 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 70 72 currValue;...protected.double.pr
82a0 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e 4d 41 58 5f 56 41 4c 55 45 3b 3b eviousValue.=.Double.MAX_VALUE;;
82c0 0a 09 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 73 74 65 70 3b 0a 09 70 72 6f 74 65 63 ..protected.double.step;..protec
82e0 74 65 64 20 64 6f 75 62 6c 65 5b 5d 20 67 72 61 64 69 65 6e 74 3b 0a 09 70 75 62 6c 69 63 20 64 ted.double[].gradient;..public.d
8300 6f 75 62 6c 65 5b 5d 20 64 69 72 65 63 74 69 6f 6e 3b 0a 09 0a 09 2f 2f 4f 72 69 67 69 6e 61 6c ouble[].direction;....//Original
8320 20 76 61 6c 75 65 73 0a 09 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 6f 72 69 67 69 6e .values..protected.double.origin
8340 61 6c 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 3b 0a 09 0a 09 70 72 6f 74 65 63 74 65 64 20 4c alGradientL2Norm;....protected.L
8360 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 69 6e 65 53 65 61 72 63 68 3b 0a 09 44 69 66 ineSearchMethod.lineSearch;..Dif
8380 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 20 6c ferentiableLineSearchObjective.l
83a0 73 6f 3b 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 so;......public.void.reset(){...
83c0 64 69 72 65 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6e direction.=.null;...gradient.=.n
83e0 75 6c 6c 3b 0a 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e 4d 41 ull;...previousValue.=.Double.MA
8400 58 5f 56 41 4c 55 45 3b 0a 09 09 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 X_VALUE;...currentProjectionIter
8420 61 74 69 6f 6e 20 3d 20 30 3b 0a 09 09 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4c 32 4e ation.=.0;...originalGradientL2N
8440 6f 72 6d 20 3d 20 30 3b 0a 09 09 73 74 65 70 20 3d 20 30 3b 0a 09 09 63 75 72 72 56 61 6c 75 65 orm.=.0;...step.=.0;...currValue
8460 20 3d 20 30 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 69 6e 69 74 69 61 6c 69 .=.0;..}....public.void.initiali
8480 7a 65 53 74 72 75 63 74 75 72 65 73 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a zeStructures(Objective.o,Optimiz
84a0 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 erStats.stats,.StopingCriteria.s
84c0 74 6f 70 29 7b 0a 09 09 6c 73 6f 20 3d 20 20 20 6e 65 77 20 44 69 66 66 65 72 65 6e 74 69 61 62 top){...lso.=...new.Differentiab
84e0 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 28 6f 29 3b 0a 09 7d 0a 09 70 75 leLineSearchObjective(o);..}..pu
8500 62 6c 69 63 20 76 6f 69 64 20 75 70 64 61 74 65 53 74 72 75 63 74 75 72 65 73 42 65 66 6f 72 65 blic.void.updateStructuresBefore
8520 53 74 65 70 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 Step(Objective.o,OptimizerStats.
8540 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 29 7b 0a 09 7d stats,.StopingCriteria.stop){..}
8560 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 75 70 64 61 74 65 53 74 72 75 63 74 75 72 65 73 ....public.void.updateStructures
8580 41 66 74 65 72 53 74 65 70 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 AfterStep(Objective.o,OptimizerS
85a0 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 tats.stats,.StopingCriteria.stop
85c0 29 7b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 6f 70 74 69 6d 69 7a 65 ){..}....public.boolean.optimize
85e0 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 (Objective.o,OptimizerStats.stat
8600 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 29 7b 0a 09 09 2f 2f 49 6e s,.StopingCriteria.stop){...//In
8620 69 74 69 61 6c 69 7a 65 20 73 74 72 75 63 74 75 72 65 73 0a 09 09 09 0a 09 09 73 74 61 74 73 2e itialize.structures.......stats.
8640 63 6f 6c 6c 65 63 74 49 6e 69 74 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 09 09 64 69 72 collectInitStats(this,.o);...dir
8660 65 63 74 69 6f 6e 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 65 74 4e 75 6d 50 61 72 61 ection.=.new.double[o.getNumPara
8680 6d 65 74 65 72 73 28 29 5d 3b 0a 09 09 69 6e 69 74 69 61 6c 69 7a 65 53 74 72 75 63 74 75 72 65 meters()];...initializeStructure
86a0 73 28 6f 2c 20 73 74 61 74 73 2c 20 73 74 6f 70 29 3b 0a 09 09 66 6f 72 20 28 63 75 72 72 65 6e s(o,.stats,.stop);...for.(curren
86c0 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3d 20 31 3b 20 63 75 72 72 65 6e tProjectionIteration.=.1;.curren
86e0 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3c 20 6d 61 78 4e 75 6d 62 65 72 tProjectionIteration.<.maxNumber
8700 4f 66 49 74 65 72 61 74 69 6f 6e 73 3b 20 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 OfIterations;.currentProjectionI
8720 74 65 72 61 74 69 6f 6e 2b 2b 29 7b 09 09 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 teration++){...//...System.out.p
8740 72 69 6e 74 6c 6e 28 22 73 74 61 72 74 69 6e 67 20 69 74 65 72 61 74 69 6f 6e 73 3a 20 70 61 72 rintln("starting.iterations:.par
8760 61 6d 65 74 65 72 73 3a 22 20 29 3b 0a 2f 2f 09 09 09 6f 2e 70 72 69 6e 74 50 61 72 61 6d 65 74 ameters:".);.//...o.printParamet
8780 65 72 73 28 29 3b 0a 09 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 63 75 72 72 56 61 ers();....previousValue.=.currVa
87a0 6c 75 65 3b 0a 09 09 09 63 75 72 72 56 61 6c 75 65 20 3d 20 6f 2e 67 65 74 56 61 6c 75 65 28 29 lue;....currValue.=.o.getValue()
87c0 3b 0a 09 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 3b ;....gradient.=.o.getGradient();
87e0 0a 09 09 09 69 66 28 73 74 6f 70 2e 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 6f 29 29 ....if(stop.stopOptimization(o))
8800 7b 0a 09 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 {.....stats.collectFinalStats(th
8820 69 73 2c 20 6f 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 09 09 7d 09 0a 09 is,.o);.....return.true;....}...
8840 09 09 0a 09 09 09 67 65 74 44 69 72 65 63 74 69 6f 6e 28 29 3b 0a 09 09 09 69 66 28 4d 61 74 68 ......getDirection();....if(Math
8860 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 67 72 61 64 69 65 6e 74 2c 20 64 69 72 65 63 Utils.dotProduct(gradient,.direc
8880 74 69 6f 6e 29 20 3e 20 30 29 7b 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 tion).>.0){.....System.out.print
88a0 6c 6e 28 22 4e 6f 74 20 61 20 64 65 73 63 65 6e 74 20 64 69 72 65 63 74 69 6f 6e 22 29 3b 0a 09 ln("Not.a.descent.direction");..
88c0 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 20 63 75 72 72 65 6e 74 20 ...System.out.println(".current.
88e0 73 74 61 74 73 20 22 20 2b 20 73 74 61 74 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 31 29 29 3b stats.".+.stats.prettyPrint(1));
8900 0a 09 09 09 09 53 79 73 74 65 6d 2e 65 78 69 74 28 2d 31 29 3b 0a 09 09 09 7d 0a 09 09 09 75 70 .....System.exit(-1);....}....up
8920 64 61 74 65 53 74 72 75 63 74 75 72 65 73 42 65 66 6f 72 65 53 74 65 70 28 6f 2c 20 73 74 61 74 dateStructuresBeforeStep(o,.stat
8940 73 2c 20 73 74 6f 70 29 3b 0a 09 09 09 6c 73 6f 2e 72 65 73 65 74 28 64 69 72 65 63 74 69 6f 6e s,.stop);....lso.reset(direction
8960 29 3b 0a 09 09 09 73 74 65 70 20 3d 20 6c 69 6e 65 53 65 61 72 63 68 2e 67 65 74 53 74 65 70 53 );....step.=.lineSearch.getStepS
8980 69 7a 65 28 6c 73 6f 29 3b 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c ize(lso);.//...System.out.printl
89a0 6e 28 22 4c 65 61 76 65 20 77 69 74 68 20 73 74 65 70 3a 20 22 20 2b 20 73 74 65 70 29 3b 0a 09 n("Leave.with.step:.".+.step);..
89c0 09 09 69 66 28 73 74 65 70 3d 3d 2d 31 29 7b 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 ..if(step==-1){.....System.out.p
89e0 72 69 6e 74 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 66 69 6e 64 20 73 74 65 70 22 29 3b 0a 09 rintln("Failed.to.find.step");..
8a00 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 69 73 2c ...stats.collectFinalStats(this,
8a20 20 6f 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 09 09 0a 09 09 09 7d 0a 09 09 .o);.....return.false;......}...
8a40 09 75 70 64 61 74 65 53 74 72 75 63 74 75 72 65 73 41 66 74 65 72 53 74 65 70 28 20 6f 2c 20 73 .updateStructuresAfterStep(.o,.s
8a60 74 61 74 73 2c 20 20 73 74 6f 70 29 3b 0a 2f 2f 09 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 tats,..stop);.//...previousValue
8a80 20 3d 20 63 75 72 72 56 61 6c 75 65 3b 0a 2f 2f 09 09 09 63 75 72 72 56 61 6c 75 65 20 3d 20 6f .=.currValue;.//...currValue.=.o
8aa0 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 2f 2f 09 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6f 2e 67 .getValue();.//...gradient.=.o.g
8ac0 65 74 47 72 61 64 69 65 6e 74 28 29 3b 0a 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 49 74 etGradient();....stats.collectIt
8ae0 65 72 61 74 69 6f 6e 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 09 09 7d 0a 09 09 73 74 61 erationStats(this,.o);...}...sta
8b00 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 09 ts.collectFinalStats(this,.o);..
8b20 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 7d 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 69 6e .return.false;..}......public.in
8b40 74 20 67 65 74 43 75 72 72 65 6e 74 49 74 65 72 61 74 69 6f 6e 28 29 20 7b 0a 09 09 72 65 74 75 t.getCurrentIteration().{...retu
8b60 72 6e 20 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 3b 0a 09 rn.currentProjectionIteration;..
8b80 7d 0a 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 4d 65 74 68 6f 64 20 73 70 65 63 69 66 69 63 0a 09 20 }...../**...*.Method.specific...
8ba0 2a 2f 0a 09 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 */..public.abstract.double[].get
8bc0 44 69 72 65 63 74 69 6f 6e 28 29 3b 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 Direction();...public.double.get
8be0 43 75 72 72 65 6e 74 53 74 65 70 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 73 74 65 70 3b 0a 09 CurrentStep().{...return.step;..
8c00 7d 0a 0a 0a 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 65 74 4d 61 78 49 74 65 72 61 74 69 6f }.....public.void.setMaxIteratio
8c20 6e 73 28 69 6e 74 20 6d 61 78 29 20 7b 0a 09 09 6d 61 78 4e 75 6d 62 65 72 4f 66 49 74 65 72 61 ns(int.max).{...maxNumberOfItera
8c40 74 69 6f 6e 73 20 3d 20 6d 61 78 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 tions.=.max;..}...public.double.
8c60 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 63 75 72 getCurrentValue().{...return.cur
8c80 72 56 61 6c 75 65 3b 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c ba cd c1 1f ca rValue;..}.}.PK.........Y.<.....
8ca0 00 00 00 ca 00 00 00 3a 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 .......:...optimization/gradient
8cc0 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 2e BasedMethods/ProjectedOptimizer.
8ce0 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 09 07 00 02 01 00 34 6f 70 74 69 6d 69 7a 61 74 69 6f class.......2.......4optimizatio
8d00 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 n/gradientBasedMethods/Projected
8d20 4f 70 74 69 6d 69 7a 65 72 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 Optimizer......java/lang/Object.
8d40 00 06 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d ....+optimization/gradientBasedM
8d60 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 17 ethods/Optimizer...SourceFile...
8d80 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 2e 6a 61 76 61 06 01 00 01 00 03 00 01 00 ProjectedOptimizer.java.........
8da0 05 00 00 00 00 00 01 00 07 00 00 00 02 00 08 50 4b 03 04 0a 00 00 00 00 00 b1 69 d6 3c 32 98 e6 ...............PK.........i.<2..
8dc0 eb 6f 00 00 00 6f 00 00 00 39 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 .o...o...9...optimization/gradie
8de0 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 ntBasedMethods/ProjectedOptimize
8e00 72 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 r.javapackage.optimization.gradi
8e20 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 3b 0a 0a 0a 0a 70 75 62 6c 69 63 20 69 6e 74 65 72 entBasedMethods;....public.inter
8e40 66 61 63 65 20 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 20 65 78 74 65 6e 64 73 20 face.ProjectedOptimizer.extends.
8e60 4f 70 74 69 6d 69 7a 65 72 7b 0a 09 0a 09 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 Optimizer{.........}.PK.........
8e80 59 e5 3c a7 f1 44 4e e1 01 00 00 e1 01 00 00 31 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f Y.<..DN........1...optimization/
8ea0 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 2e 63 gradientBasedMethods/Optimizer.c
8ec0 6c 61 73 73 ca fe ba be 00 00 00 32 00 14 07 00 02 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e lass.......2.......+optimization
8ee0 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 07 /gradientBasedMethods/Optimizer.
8f00 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 08 6f 70 74 69 6d 69 7a 65 .....java/lang/Object...optimize
8f20 01 00 93 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d ...(Loptimization/gradientBasedM
8f40 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 ethods/Objective;Loptimization/g
8f60 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 radientBasedMethods/stats/Optimi
8f80 7a 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 zerStats;Loptimization/stopCrite
8fa0 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 5a 01 00 0c 67 65 74 44 69 72 65 ria/StopingCriteria;)Z...getDire
8fc0 63 74 69 6f 6e 01 00 04 28 29 5b 44 01 00 0e 67 65 74 43 75 72 72 65 6e 74 53 74 65 70 01 00 03 ction...()[D...getCurrentStep...
8fe0 28 29 44 01 00 0f 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 01 00 13 67 65 74 43 75 72 72 65 ()D...getCurrentValue...getCurre
9000 6e 74 49 74 65 72 61 74 69 6f 6e 01 00 03 28 29 49 01 00 05 72 65 73 65 74 01 00 03 28 29 56 01 ntIteration...()I...reset...()V.
9020 00 10 73 65 74 4d 61 78 49 74 65 72 61 74 69 6f 6e 73 01 00 04 28 49 29 56 01 00 0a 53 6f 75 72 ..setMaxIterations...(I)V...Sour
9040 63 65 46 69 6c 65 01 00 0e 4f 70 74 69 6d 69 7a 65 72 2e 6a 61 76 61 06 01 00 01 00 03 00 00 00 ceFile...Optimizer.java.........
9060 00 00 07 04 01 00 05 00 06 00 00 04 01 00 07 00 08 00 00 04 01 00 09 00 0a 00 00 04 01 00 0b 00 ................................
9080 0a 00 00 04 01 00 0c 00 0d 00 00 04 01 00 0e 00 0f 00 00 04 01 00 10 00 11 00 00 00 01 00 12 00 ................................
90a0 00 00 02 00 13 50 4b 03 04 0a 00 00 00 00 00 b1 69 d6 3c c1 b8 c2 77 e2 01 00 00 e2 01 00 00 30 .....PK.........i.<...w........0
90c0 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 ...optimization/gradientBasedMet
90e0 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d hods/Optimizer.javapackage.optim
9100 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 3b 0a 0a 69 ization.gradientBasedMethods;..i
9120 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 mport.optimization.gradientBased
9140 4d 65 74 68 6f 64 73 2e 73 74 61 74 73 2e 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 0a 69 6d Methods.stats.OptimizerStats;.im
9160 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 53 port.optimization.stopCriteria.S
9180 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 0a 0a 70 75 62 6c 69 63 20 69 6e 74 65 72 66 61 63 topingCriteria;..public.interfac
91a0 65 20 4f 70 74 69 6d 69 7a 65 72 20 7b 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 6f 70 e.Optimizer.{..public.boolean.op
91c0 74 69 6d 69 7a 65 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 timize(Objective.o,OptimizerStat
91e0 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 69 6e 67 s.stats,.StopingCriteria.stoping
9200 29 3b 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 44 69 72 65 63 );......public.double[].getDirec
9220 74 69 6f 6e 28 29 3b 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 43 75 72 72 65 6e tion();..public.double.getCurren
9240 74 53 74 65 70 28 29 3b 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 43 75 72 72 65 tStep();..public.double.getCurre
9260 6e 74 56 61 6c 75 65 28 29 3b 0a 09 70 75 62 6c 69 63 20 69 6e 74 20 67 65 74 43 75 72 72 65 6e ntValue();..public.int.getCurren
9280 74 49 74 65 72 61 74 69 6f 6e 28 29 3b 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 tIteration();..public.void.reset
92a0 28 29 3b 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 65 74 4d 61 78 49 74 65 72 61 74 69 ();....public.void.setMaxIterati
92c0 6f 6e 73 28 69 6e 74 20 6d 61 78 29 3b 0a 09 0a 09 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 ons(int.max);......}.PK.........
92e0 59 e5 3c 3b bc 3c be d9 0b 00 00 d9 0b 00 00 34 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f Y.<;.<.........4...optimization/
9300 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 44 65 62 75 67 48 65 6c 70 65 72 gradientBasedMethods/DebugHelper
9320 73 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 96 07 00 02 01 00 2e 6f 70 74 69 6d 69 7a 61 74 s.class.......2........optimizat
9340 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 44 65 62 75 67 48 65 ion/gradientBasedMethods/DebugHe
9360 6c 70 65 72 73 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 lpers......java/lang/Object...<i
9380 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 nit>...()V...Code.............Li
93a0 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 neNumberTable...LocalVariableTab
93c0 6c 65 01 00 04 74 68 69 73 01 00 30 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 le...this..0Loptimization/gradie
93e0 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 44 65 62 75 67 48 65 6c 70 65 72 73 3b 01 00 12 67 ntBasedMethods/DebugHelpers;...g
9400 65 74 4c 69 6e 65 53 65 61 72 63 68 47 72 61 70 68 01 00 38 28 4c 6f 70 74 69 6d 69 7a 61 74 69 etLineSearchGraph..8(Loptimizati
9420 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 on/gradientBasedMethods/Objectiv
9440 65 3b 5b 44 5b 44 44 44 44 44 29 56 07 00 11 01 00 13 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 e;[D[DDDDD)V......java/util/Arra
9460 79 4c 69 73 74 0a 00 10 00 09 0a 00 14 00 16 07 00 15 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f yList...............+optimizatio
9480 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 n/gradientBasedMethods/Objective
94a0 0c 00 17 00 18 01 00 10 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 01 00 03 28 29 49 0a 00 ........getNumParameters...()I..
94c0 1a 00 1c 07 00 1b 01 00 02 5b 44 0c 00 1d 00 1e 01 00 05 63 6c 6f 6e 65 01 00 14 28 29 4c 6a 61 .........[D........clone...()Lja
94e0 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 0a 00 20 00 22 07 00 21 01 00 1b 6f 70 74 69 6d 69 va/lang/Object;...."..!...optimi
9500 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 23 00 24 01 00 0a 70 6c 75 zation/util/MathUtils..#.$...plu
9520 73 45 71 75 61 6c 73 01 00 08 28 5b 44 5b 44 44 29 56 0a 00 14 00 26 0c 00 27 00 28 01 00 0d 73 sEquals...([D[DD)V....&..'.(...s
9540 65 74 50 61 72 61 6d 65 74 65 72 73 01 00 05 28 5b 44 29 56 0a 00 14 00 2a 0c 00 2b 00 2c 01 00 etParameters...([D)V....*..+.,..
9560 08 67 65 74 56 61 6c 75 65 01 00 03 28 29 44 0a 00 14 00 2e 0c 00 2f 00 30 01 00 0b 67 65 74 47 .getValue...()D......./.0...getG
9580 72 61 64 69 65 6e 74 01 00 04 28 29 5b 44 0a 00 20 00 32 0c 00 33 00 34 01 00 0a 64 6f 74 50 72 radient...()[D....2..3.4...dotPr
95a0 6f 64 75 63 74 01 00 07 28 5b 44 5b 44 29 44 0a 00 36 00 38 07 00 37 01 00 10 6a 61 76 61 2f 6c oduct...([D[D)D..6.8..7...java/l
95c0 61 6e 67 2f 44 6f 75 62 6c 65 0c 00 39 00 3a 01 00 07 76 61 6c 75 65 4f 66 01 00 15 28 44 29 4c ang/Double..9.:...valueOf...(D)L
95e0 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 3b 0a 00 10 00 3c 0c 00 3d 00 3e 01 00 03 61 64 java/lang/Double;....<..=.>...ad
9600 64 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 5a 06 3f 84 7a e1 47 ae d...(Ljava/lang/Object;)Z.?.z.G.
9620 14 7b 06 40 00 00 00 00 00 00 00 09 00 44 00 46 07 00 45 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f .{.@.........D.F..E...java/lang/
9640 53 79 73 74 65 6d 0c 00 47 00 48 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 System..G.H...out...Ljava/io/Pri
9660 6e 74 53 74 72 65 61 6d 3b 08 00 4a 01 00 28 73 74 65 70 09 6f 72 69 67 4f 62 6a 09 6f 62 6a 09 ntStream;..J..(step.origObj.obj.
9680 73 75 66 66 64 65 63 09 6e 6f 72 6d 09 63 75 72 76 61 74 75 72 65 31 0a 00 4c 00 4e 07 00 4d 01 suffdec.norm.curvature1..L.N..M.
96a0 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 4f 00 50 01 00 07 70 72 69 ..java/io/PrintStream..O.P...pri
96c0 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 10 00 ntln...(Ljava/lang/String;)V....
96e0 52 0c 00 53 00 54 01 00 03 67 65 74 01 00 15 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a R..S.T...get...(I)Ljava/lang/Obj
9700 65 63 74 3b 0a 00 36 00 56 0c 00 57 00 2c 01 00 0b 64 6f 75 62 6c 65 56 61 6c 75 65 07 00 59 01 ect;..6.V..W.,...doubleValue..Y.
9720 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 0a 00 58 00 09 0a 00 ..java/lang/StringBuilder..X....
9740 58 00 5c 0c 00 5d 00 5e 01 00 06 61 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f X.\..].^...append..-(Ljava/lang/
9760 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 Object;)Ljava/lang/StringBuilder
9780 3b 08 00 60 01 00 01 09 0a 00 58 00 62 0c 00 5d 00 63 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 ;..`......X.b..].c..-(Ljava/lang
97a0 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 /String;)Ljava/lang/StringBuilde
97c0 72 3b 0a 00 58 00 65 0c 00 5d 00 66 01 00 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 r;..X.e..].f...(D)Ljava/lang/Str
97e0 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 68 00 6a 07 00 69 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f ingBuilder;..h.j..i...java/lang/
9800 4d 61 74 68 0c 00 6b 00 6c 01 00 03 61 62 73 01 00 04 28 44 29 44 0a 00 58 00 6e 0c 00 6f 00 70 Math..k.l...abs...(D)D..X.n..o.p
9820 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e ...toString...()Ljava/lang/Strin
9840 67 3b 0a 00 10 00 72 0c 00 73 00 18 01 00 04 73 69 7a 65 01 00 01 6f 01 00 2d 4c 6f 70 74 69 6d g;....r..s.....size...o..-Loptim
9860 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a ization/gradientBasedMethods/Obj
9880 65 63 74 69 76 65 3b 01 00 09 64 69 72 65 63 74 69 6f 6e 01 00 0a 70 61 72 61 6d 65 74 65 72 73 ective;...direction...parameters
98a0 01 00 0b 6f 72 69 67 69 6e 61 6c 4f 62 6a 01 00 01 44 01 00 0b 6f 72 69 67 69 6e 61 6c 44 6f 74 ...originalObj...D...originalDot
98c0 01 00 02 63 31 01 00 02 63 32 01 00 05 73 74 65 70 53 01 00 15 4c 6a 61 76 61 2f 75 74 69 6c 2f ...c1...c2...stepS...Ljava/util/
98e0 41 72 72 61 79 4c 69 73 74 3b 01 00 03 6f 62 6a 01 00 04 6e 6f 72 6d 01 00 08 67 72 61 64 69 65 ArrayList;...obj...norm...gradie
9900 6e 74 01 00 0d 6e 65 77 50 61 72 61 6d 65 74 65 72 73 01 00 08 6d 69 6e 56 61 6c 75 65 01 00 13 nt...newParameters...minValue...
9920 76 61 6c 75 65 73 42 69 67 67 65 72 54 68 61 6e 4d 61 78 01 00 01 49 01 00 04 73 74 65 70 01 00 valuesBiggerThanMax...I...step..
9940 08 6e 65 77 56 61 6c 75 65 01 00 13 6e 65 77 67 72 61 64 44 69 72 65 63 74 69 6f 6e 44 6f 74 01 .newValue...newgradDirectionDot.
9960 00 01 69 01 00 05 63 6e 6f 72 6d 01 00 16 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 79 70 65 54 ..i...cnorm...LocalVariableTypeT
9980 61 62 6c 65 01 00 29 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 73 74 3c 4c 6a 61 76 able..)Ljava/util/ArrayList<Ljav
99a0 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 3b 3e 3b 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 a/lang/Double;>;...StackMapTable
99c0 01 00 14 67 65 74 4e 75 6d 65 72 69 63 61 6c 47 72 61 64 69 65 6e 74 01 00 34 28 4c 6f 70 74 69 ...getNumericalGradient..4(Lopti
99e0 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 mization/gradientBasedMethods/Ob
9a00 6a 65 63 74 69 76 65 3b 5b 44 44 29 5b 44 01 00 07 65 70 73 69 6c 6f 6e 01 00 0c 6e 72 50 61 72 jective;[DD)[D...epsilon...nrPar
9a20 61 6d 65 74 65 72 73 01 00 0d 6f 72 69 67 69 6e 61 6c 56 61 6c 75 65 01 00 09 70 61 72 61 6d 65 ameters...originalValue...parame
9a40 74 65 72 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 11 44 65 62 75 67 48 65 6c 70 65 72 73 2e ter...SourceFile...DebugHelpers.
9a60 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 03 00 01 00 05 00 06 00 01 00 07 00 00 00 2f 00 01 java.!......................./..
9a80 00 01 00 00 00 05 2a b7 00 08 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 00 09 00 0b 00 00 00 ......*.........................
9aa0 0c 00 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0e 00 0f 00 01 00 07 00 00 03 1e 00 08 00 19 00 ................................
9ac0 00 01 58 bb 00 10 59 b7 00 12 3a 0b bb 00 10 59 b7 00 12 3a 0c bb 00 10 59 b7 00 12 3a 0d 2a b6 ..X...Y...:....Y...:....Y...:.*.
9ae0 00 13 bc 07 3a 0e 2c b6 00 19 c0 00 1a 3a 0f 19 0f 2b 0e b8 00 1f 2a 19 0f b6 00 25 2a b6 00 29 ....:.,......:...+....*....%*..)
9b00 39 10 03 36 12 0e 39 13 a7 00 73 2c b6 00 19 c0 00 1a 3a 0f 19 0f 2b 18 13 b8 00 1f 2a 19 0f b6 9..6..9...s,......:...+.....*...
9b20 00 25 2a b6 00 29 39 15 2a b6 00 2d 3a 0e 19 0e 2b b8 00 31 39 17 19 0b 18 13 b8 00 35 b6 00 3b .%*..)9.*..-:...+..19.......5..;
9b40 57 19 0c 18 15 b8 00 35 b6 00 3b 57 19 0d 18 17 b8 00 35 b6 00 3b 57 18 15 18 10 98 9d 00 0a 18 W......5..;W......5..;W.........
9b60 15 39 10 a7 00 06 84 12 01 15 12 10 0a a4 00 06 a7 00 14 18 13 14 00 3f 63 39 13 18 13 14 00 41 .9.....................?c9.....A
9b80 98 9b ff 8a b2 00 43 12 49 b6 00 4b 03 36 13 a7 00 81 19 0d 15 13 b6 00 51 c0 00 36 b6 00 55 39 ......C.I..K.6..........Q..6..U9
9ba0 14 b2 00 43 bb 00 58 59 b7 00 5a 19 0b 15 13 b6 00 51 b6 00 5b 12 5f b6 00 61 29 b6 00 64 12 5f ...C..XY..Z......Q..[._..a)..d._
9bc0 b6 00 61 19 0c 15 13 b6 00 51 b6 00 5b 12 5f b6 00 61 29 18 05 19 0b 15 13 b6 00 51 c0 00 36 b6 ..a......Q..[._..a)........Q..6.
9be0 00 55 6b 18 07 6b 63 b6 00 64 12 5f b6 00 61 18 14 b8 00 67 b6 00 64 12 5f b6 00 61 18 09 18 05 .Uk..kc..d._..a....g..d._..a....
9c00 b8 00 67 6b b6 00 64 b6 00 6d b6 00 4b 84 13 01 15 13 19 0b b6 00 71 a1 ff 7b b1 00 00 00 04 00 ..gk..d..m..K.........q..{......
9c20 0a 00 00 00 86 00 21 00 00 00 0d 00 09 00 0e 00 12 00 0f 00 1b 00 10 00 23 00 11 00 2c 00 12 00 ......!.................#...,...
9c40 33 00 13 00 39 00 14 00 3f 00 15 00 42 00 16 00 48 00 17 00 51 00 18 00 59 00 19 00 5f 00 1a 00 3...9...?...B...H...Q...Y..._...
9c60 65 00 1b 00 6b 00 1c 00 73 00 1d 00 7e 00 1e 00 89 00 1f 00 94 00 20 00 9c 00 21 00 a3 00 23 00 e...k...s...~.............!...#.
9c80 a6 00 26 00 ad 00 27 00 b0 00 16 00 c1 00 2b 00 c9 00 2c 00 cf 00 2d 00 de 00 2e 01 0f 00 2f 01 ..&...'.......+...,...-......./.
9ca0 47 00 2e 01 4a 00 2c 01 57 00 31 00 0b 00 00 00 c0 00 13 00 00 01 58 00 74 00 75 00 00 00 00 01 G...J.,.W.1...........X.t.u.....
9cc0 58 00 76 00 1b 00 01 00 00 01 58 00 77 00 1b 00 02 00 00 01 58 00 78 00 79 00 03 00 00 01 58 00 X.v.......X.w.......X.x.y.....X.
9ce0 7a 00 79 00 05 00 00 01 58 00 7b 00 79 00 07 00 00 01 58 00 7c 00 79 00 09 00 09 01 4f 00 7d 00 z.y.....X.{.y.....X.|.y.....O.}.
9d00 7e 00 0b 00 12 01 46 00 7f 00 7e 00 0c 00 1b 01 3d 00 80 00 7e 00 0d 00 23 01 35 00 81 00 1b 00 ~.....F...~.....=...~...#.5.....
9d20 0e 00 2c 01 2c 00 82 00 1b 00 0f 00 3f 01 19 00 83 00 79 00 10 00 42 01 16 00 84 00 85 00 12 00 ..,.,.......?.....y...B.........
9d40 45 00 7c 00 86 00 79 00 13 00 65 00 4b 00 87 00 79 00 15 00 73 00 3d 00 88 00 79 00 17 00 cc 00 E.|...y...e.K...y...s.=...y.....
9d60 8b 00 89 00 85 00 13 00 de 00 6c 00 8a 00 79 00 14 00 8b 00 00 00 20 00 03 00 09 01 4f 00 7d 00 ..........l...y.............O.}.
9d80 8c 00 0b 00 12 01 46 00 7f 00 8c 00 0c 00 1b 01 3d 00 80 00 8c 00 0d 00 8d 00 00 00 3c 00 08 ff ......F.........=...........<...
9da0 00 48 00 0f 07 00 14 07 00 1a 07 00 1a 03 03 03 03 07 00 10 07 00 10 07 00 10 07 00 1a 07 00 1a .H..............................
9dc0 03 01 03 00 00 fd 00 5a 03 03 02 f9 00 09 07 fa 00 08 fc 00 0d 01 fb 00 7d 00 09 00 8e 00 8f 00 .......Z................}.......
9de0 01 00 07 00 00 01 0f 00 06 00 0c 00 00 00 4f 2a b6 00 13 36 04 15 04 bc 07 3a 05 2a b6 00 29 39 ..............O*...6.....:.*..)9
9e00 07 03 36 09 a7 00 30 2b b6 00 19 c0 00 1a 3a 06 19 06 15 09 5c 31 28 63 52 2a 19 06 b6 00 25 2a ..6...0+......:.....\1(cR*....%*
9e20 b6 00 29 39 0a 19 05 15 09 18 0a 18 07 67 28 6f 52 84 09 01 15 09 15 04 a1 ff cf 19 05 b0 00 00 ..)9.........g(oR...............
9e40 00 03 00 0a 00 00 00 2e 00 0b 00 00 00 34 00 06 00 35 00 0c 00 37 00 12 00 38 00 18 00 39 00 21 .............4...5...7...8...9.!
9e60 00 3a 00 2a 00 3b 00 30 00 3c 00 36 00 3d 00 42 00 38 00 4c 00 3f 00 0b 00 00 00 5c 00 09 00 00 .:.*.;.0.<.6.=.B.8.L.?.....\....
9e80 00 4f 00 74 00 75 00 00 00 00 00 4f 00 77 00 1b 00 01 00 00 00 4f 00 90 00 79 00 02 00 06 00 49 .O.t.u.....O.w.......O...y.....I
9ea0 00 91 00 85 00 04 00 0c 00 43 00 81 00 1b 00 05 00 21 00 24 00 82 00 1b 00 06 00 12 00 3d 00 92 .........C.......!.$.........=..
9ec0 00 79 00 07 00 15 00 37 00 93 00 85 00 09 00 36 00 0c 00 87 00 79 00 0a 00 8d 00 00 00 18 00 02 .y.....7.......6.....y..........
9ee0 ff 00 18 00 08 07 00 14 07 00 1a 03 01 07 00 1a 00 03 01 00 00 2c 00 01 00 94 00 00 00 02 00 95 .....................,..........
9f00 50 4b 03 04 0a 00 00 00 00 00 b1 69 d6 3c 26 3a ec db 6d 08 00 00 6d 08 00 00 33 00 00 00 6f 70 PK.........i.<&:..m...m...3...op
9f20 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f timization/gradientBasedMethods/
9f40 44 65 62 75 67 48 65 6c 70 65 72 73 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a DebugHelpers.javapackage.optimiz
9f60 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 3b 0a 0a 69 6d 70 ation.gradientBasedMethods;..imp
9f80 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 4c 69 73 74 3b 0a 0a 69 6d 70 6f 72 74 ort.java.util.ArrayList;..import
9fa0 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 0a 0a .optimization.util.MathUtils;...
9fc0 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 44 65 62 75 67 48 65 6c 70 65 72 73 20 7b 0a 09 70 75 .public.class.DebugHelpers.{..pu
9fe0 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 67 65 74 4c 69 6e 65 53 65 61 72 63 68 47 72 blic.static.void.getLineSearchGr
a000 61 70 68 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 20 64 6f 75 62 6c 65 5b 5d 20 64 69 72 65 63 74 aph(Objective.o,.double[].direct
a020 69 6f 6e 2c 20 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 70 61 72 61 6d 65 74 65 72 73 2c 20 64 6f ion,.....double[].parameters,.do
a040 75 62 6c 65 20 6f 72 69 67 69 6e 61 6c 4f 62 6a 2c 0a 09 09 09 64 6f 75 62 6c 65 20 6f 72 69 67 uble.originalObj,....double.orig
a060 69 6e 61 6c 44 6f 74 2c 20 64 6f 75 62 6c 65 20 63 31 2c 20 64 6f 75 62 6c 65 20 63 32 29 7b 0a inalDot,.double.c1,.double.c2){.
a080 09 09 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 73 74 65 70 53 20 3d 20 6e 65 77 20 ..ArrayList<Double>.stepS.=.new.
a0a0 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 28 29 3b 0a 09 09 41 72 72 61 79 4c 69 73 74 ArrayList<Double>();...ArrayList
a0c0 3c 44 6f 75 62 6c 65 3e 20 6f 62 6a 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 <Double>.obj.=.new.ArrayList<Dou
a0e0 62 6c 65 3e 28 29 3b 0a 09 09 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 6e 6f 72 6d ble>();...ArrayList<Double>.norm
a100 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 28 29 3b 0a 09 09 64 6f .=.new.ArrayList<Double>();...do
a120 75 62 6c 65 5b 5d 20 67 72 61 64 69 65 6e 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 uble[].gradient.=.new.double[o.g
a140 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 6e etNumParameters()];...double[].n
a160 65 77 50 61 72 61 6d 65 74 65 72 73 20 3d 20 70 61 72 61 6d 65 74 65 72 73 2e 63 6c 6f 6e 65 28 ewParameters.=.parameters.clone(
a180 29 3b 0a 09 09 4d 61 74 68 55 74 69 6c 73 2e 70 6c 75 73 45 71 75 61 6c 73 28 6e 65 77 50 61 72 );...MathUtils.plusEquals(newPar
a1a0 61 6d 65 74 65 72 73 2c 64 69 72 65 63 74 69 6f 6e 2c 30 29 3b 0a 09 09 6f 2e 73 65 74 50 61 72 ameters,direction,0);...o.setPar
a1c0 61 6d 65 74 65 72 73 28 6e 65 77 50 61 72 61 6d 65 74 65 72 73 29 3b 0a 09 09 64 6f 75 62 6c 65 ameters(newParameters);...double
a1e0 20 6d 69 6e 56 61 6c 75 65 20 3d 20 6f 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 09 09 69 6e 74 20 .minValue.=.o.getValue();...int.
a200 76 61 6c 75 65 73 42 69 67 67 65 72 54 68 61 6e 4d 61 78 20 3d 20 30 3b 0a 09 09 66 6f 72 28 64 valuesBiggerThanMax.=.0;...for(d
a220 6f 75 62 6c 65 20 73 74 65 70 20 3d 20 30 3b 20 73 74 65 70 20 3c 20 32 3b 20 73 74 65 70 20 2b ouble.step.=.0;.step.<.2;.step.+
a240 3d 30 2e 30 31 20 29 7b 0a 09 09 09 6e 65 77 50 61 72 61 6d 65 74 65 72 73 20 3d 20 70 61 72 61 =0.01.){....newParameters.=.para
a260 6d 65 74 65 72 73 2e 63 6c 6f 6e 65 28 29 3b 0a 09 09 09 4d 61 74 68 55 74 69 6c 73 2e 70 6c 75 meters.clone();....MathUtils.plu
a280 73 45 71 75 61 6c 73 28 6e 65 77 50 61 72 61 6d 65 74 65 72 73 2c 64 69 72 65 63 74 69 6f 6e 2c sEquals(newParameters,direction,
a2a0 73 74 65 70 29 3b 0a 09 09 09 6f 2e 73 65 74 50 61 72 61 6d 65 74 65 72 73 28 6e 65 77 50 61 72 step);....o.setParameters(newPar
a2c0 61 6d 65 74 65 72 73 29 3b 0a 09 09 09 64 6f 75 62 6c 65 20 6e 65 77 56 61 6c 75 65 20 3d 20 6f ameters);....double.newValue.=.o
a2e0 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 09 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6f 2e 67 65 74 .getValue();....gradient.=.o.get
a300 47 72 61 64 69 65 6e 74 28 29 3b 0a 09 09 09 64 6f 75 62 6c 65 20 6e 65 77 67 72 61 64 44 69 72 Gradient();....double.newgradDir
a320 65 63 74 69 6f 6e 44 6f 74 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 ectionDot.=.MathUtils.dotProduct
a340 28 67 72 61 64 69 65 6e 74 2c 64 69 72 65 63 74 69 6f 6e 29 3b 0a 09 09 09 73 74 65 70 53 2e 61 (gradient,direction);....stepS.a
a360 64 64 28 73 74 65 70 29 3b 0a 09 09 09 6f 62 6a 2e 61 64 64 28 6e 65 77 56 61 6c 75 65 29 3b 0a dd(step);....obj.add(newValue);.
a380 09 09 09 6e 6f 72 6d 2e 61 64 64 28 6e 65 77 67 72 61 64 44 69 72 65 63 74 69 6f 6e 44 6f 74 29 ...norm.add(newgradDirectionDot)
a3a0 3b 0a 09 09 09 69 66 28 6e 65 77 56 61 6c 75 65 20 3c 3d 20 6d 69 6e 56 61 6c 75 65 29 7b 0a 09 ;....if(newValue.<=.minValue){..
a3c0 09 09 09 6d 69 6e 56 61 6c 75 65 20 3d 20 6e 65 77 56 61 6c 75 65 3b 0a 09 09 09 7d 65 6c 73 65 ...minValue.=.newValue;....}else
a3e0 7b 0a 09 09 09 09 76 61 6c 75 65 73 42 69 67 67 65 72 54 68 61 6e 4d 61 78 2b 2b 3b 0a 09 09 09 {.....valuesBiggerThanMax++;....
a400 7d 0a 09 09 09 0a 09 09 09 69 66 28 76 61 6c 75 65 73 42 69 67 67 65 72 54 68 61 6e 4d 61 78 20 }........if(valuesBiggerThanMax.
a420 3e 20 31 30 29 7b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 0a 09 09 7d 0a 09 >.10){.....break;....}.......}..
a440 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 73 74 65 70 5c 74 6f 72 69 67 4f .System.out.println("step\torigO
a460 62 6a 5c 74 6f 62 6a 5c 74 73 75 66 66 64 65 63 5c 74 6e 6f 72 6d 5c 74 63 75 72 76 61 74 75 72 bj\tobj\tsuffdec\tnorm\tcurvatur
a480 65 31 22 29 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 74 65 70 53 e1");...for(int.i.=.0;.i.<.stepS
a4a0 2e 73 69 7a 65 28 29 3b 20 69 2b 2b 29 7b 0a 09 09 09 64 6f 75 62 6c 65 20 63 6e 6f 72 6d 3d 20 .size();.i++){....double.cnorm=.
a4c0 6e 6f 72 6d 2e 67 65 74 28 69 29 3b 20 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e norm.get(i);.....System.out.prin
a4e0 74 6c 6e 28 73 74 65 70 53 2e 67 65 74 28 69 29 2b 22 5c 74 22 2b 6f 72 69 67 69 6e 61 6c 4f 62 tln(stepS.get(i)+"\t"+originalOb
a500 6a 20 2b 22 5c 74 22 2b 6f 62 6a 2e 67 65 74 28 69 29 20 2b 20 22 5c 74 22 20 2b 20 0a 09 09 09 j.+"\t"+obj.get(i).+."\t".+.....
a520 09 09 28 6f 72 69 67 69 6e 61 6c 4f 62 6a 20 2b 20 6f 72 69 67 69 6e 61 6c 44 6f 74 2a 28 28 44 ..(originalObj.+.originalDot*((D
a540 6f 75 62 6c 65 29 73 74 65 70 53 2e 67 65 74 28 69 29 29 2a 63 31 29 20 2b 22 5c 74 22 2b 4d 61 ouble)stepS.get(i))*c1).+"\t"+Ma
a560 74 68 2e 61 62 73 28 63 6e 6f 72 6d 29 20 2b 22 5c 74 22 2b 63 32 2a 4d 61 74 68 2e 61 62 73 28 th.abs(cnorm).+"\t"+c2*Math.abs(
a580 6f 72 69 67 69 6e 61 6c 44 6f 74 29 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 originalDot));...}..}....public.
a5a0 73 74 61 74 69 63 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 4e 75 6d 65 72 69 63 61 6c 47 72 61 64 static.double[].getNumericalGrad
a5c0 69 65 6e 74 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 20 64 6f 75 62 6c 65 5b 5d 20 70 61 72 61 6d ient(Objective.o,.double[].param
a5e0 65 74 65 72 73 2c 20 64 6f 75 62 6c 65 20 65 70 73 69 6c 6f 6e 29 7b 0a 09 09 69 6e 74 20 6e 72 eters,.double.epsilon){...int.nr
a600 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6f 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 Parameters.=.o.getNumParameters(
a620 29 3b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 67 72 61 64 69 65 6e 74 20 3d 20 6e 65 77 20 64 6f 75 );...double[].gradient.=.new.dou
a640 62 6c 65 5b 6e 72 50 61 72 61 6d 65 74 65 72 73 5d 3b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 6e 65 ble[nrParameters];...double[].ne
a660 77 50 61 72 61 6d 65 74 65 72 73 3b 0a 09 09 64 6f 75 62 6c 65 20 6f 72 69 67 69 6e 61 6c 56 61 wParameters;...double.originalVa
a680 6c 75 65 20 3d 20 6f 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 09 09 66 6f 72 28 69 6e 74 20 70 61 lue.=.o.getValue();...for(int.pa
a6a0 72 61 6d 65 74 65 72 20 3d 20 30 3b 20 70 61 72 61 6d 65 74 65 72 20 3c 20 6e 72 50 61 72 61 6d rameter.=.0;.parameter.<.nrParam
a6c0 65 74 65 72 73 3b 20 70 61 72 61 6d 65 74 65 72 2b 2b 29 7b 0a 09 09 09 6e 65 77 50 61 72 61 6d eters;.parameter++){....newParam
a6e0 65 74 65 72 73 20 3d 20 70 61 72 61 6d 65 74 65 72 73 2e 63 6c 6f 6e 65 28 29 3b 0a 09 09 09 6e eters.=.parameters.clone();....n
a700 65 77 50 61 72 61 6d 65 74 65 72 73 5b 70 61 72 61 6d 65 74 65 72 5d 2b 3d 65 70 73 69 6c 6f 6e ewParameters[parameter]+=epsilon
a720 3b 0a 09 09 09 6f 2e 73 65 74 50 61 72 61 6d 65 74 65 72 73 28 6e 65 77 50 61 72 61 6d 65 74 65 ;....o.setParameters(newParamete
a740 72 73 29 3b 0a 09 09 09 64 6f 75 62 6c 65 20 6e 65 77 56 61 6c 75 65 20 3d 20 6f 2e 67 65 74 56 rs);....double.newValue.=.o.getV
a760 61 6c 75 65 28 29 3b 0a 09 09 09 67 72 61 64 69 65 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 3d 28 alue();....gradient[parameter]=(
a780 6e 65 77 56 61 6c 75 65 2d 6f 72 69 67 69 6e 61 6c 56 61 6c 75 65 29 2f 65 70 73 69 6c 6f 6e 3b newValue-originalValue)/epsilon;
a7a0 0a 09 09 7d 09 0a 09 09 72 65 74 75 72 6e 20 67 72 61 64 69 65 6e 74 3b 0a 09 7d 0a 7d 0a 50 4b ...}....return.gradient;..}.}.PK
a7c0 03 04 0a 00 00 00 00 00 96 59 e5 3c e0 6f a8 e1 e5 02 00 00 e5 02 00 00 37 00 00 00 6f 70 74 69 .........Y.<.o..........7...opti
a7e0 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 47 72 mization/gradientBasedMethods/Gr
a800 61 64 69 65 6e 74 44 65 73 63 65 6e 74 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 21 07 00 02 adientDescent.class.......2.!...
a820 01 00 31 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 ..1optimization/gradientBasedMet
a840 68 6f 64 73 2f 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 07 00 04 01 00 3c 6f 70 74 69 6d 69 hods/GradientDescent.....<optimi
a860 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 41 62 73 74 zation/gradientBasedMethods/Abst
a880 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 01 00 06 3c 69 6e 69 74 3e 01 ractGradientBaseMethod...<init>.
a8a0 00 2d 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 .-(Loptimization/linesearch/Line
a8c0 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 0a SearchMethod;)V...Code..........
a8e0 01 00 03 28 29 56 09 00 01 00 0c 0c 00 0d 00 0e 01 00 0a 6c 69 6e 65 53 65 61 72 63 68 01 00 2a ...()V.............lineSearch..*
a900 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 Loptimization/linesearch/LineSea
a920 72 63 68 4d 65 74 68 6f 64 3b 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c rchMethod;...LineNumberTable...L
a940 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 33 4c 6f 70 74 69 ocalVariableTable...this..3Lopti
a960 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 47 72 mization/gradientBasedMethods/Gr
a980 61 64 69 65 6e 74 44 65 73 63 65 6e 74 3b 01 00 0c 67 65 74 44 69 72 65 63 74 69 6f 6e 01 00 04 adientDescent;...getDirection...
a9a0 28 29 5b 44 09 00 01 00 16 0c 00 17 00 18 01 00 09 64 69 72 65 63 74 69 6f 6e 01 00 02 5b 44 09 ()[D.............direction...[D.
a9c0 00 01 00 1a 0c 00 1b 00 18 01 00 08 67 72 61 64 69 65 6e 74 01 00 01 69 01 00 01 49 01 00 0d 53 ............gradient...i...I...S
a9e0 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 14 47 72 61 64 tackMapTable...SourceFile...Grad
aa00 69 65 6e 74 44 65 73 63 65 6e 74 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 02 00 01 00 05 ientDescent.java.!..............
aa20 00 06 00 01 00 07 00 00 00 46 00 02 00 02 00 00 00 0a 2a b7 00 08 2a 2b b5 00 0b b1 00 00 00 02 .........F........*...*+........
aa40 00 0f 00 00 00 0e 00 03 00 00 00 09 00 04 00 0a 00 09 00 0b 00 10 00 00 00 16 00 02 00 00 00 0a ................................
aa60 00 11 00 12 00 00 00 00 00 0a 00 0d 00 0e 00 01 00 01 00 13 00 14 00 01 00 07 00 00 00 70 00 04 .............................p..
aa80 00 02 00 00 00 23 03 3c a7 00 13 2a b4 00 15 1b 2a b4 00 19 1b 31 77 52 84 01 01 1b 2a b4 00 19 .....#.<...*....*....1wR....*...
aaa0 be a1 ff ea 2a b4 00 15 b0 00 00 00 03 00 0f 00 00 00 12 00 04 00 00 00 0e 00 05 00 0f 00 12 00 ....*...........................
aac0 0e 00 1e 00 11 00 10 00 00 00 16 00 02 00 00 00 23 00 11 00 12 00 00 00 02 00 1c 00 1c 00 1d 00 ................#...............
aae0 01 00 1e 00 00 00 07 00 02 fc 00 05 01 0f 00 01 00 1f 00 00 00 02 00 20 50 4b 03 04 0a 00 00 00 ........................PK......
ab00 00 00 b1 69 d6 3c fd 07 6d 78 89 01 00 00 89 01 00 00 36 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 ...i.<..mx........6...optimizati
ab20 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 47 72 61 64 69 65 6e 74 on/gradientBasedMethods/Gradient
ab40 44 65 73 63 65 6e 74 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e Descent.javapackage.optimization
ab60 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 3b 0a 0a 69 6d 70 6f 72 74 20 6f .gradientBasedMethods;..import.o
ab80 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 4c 69 6e 65 53 65 61 72 63 ptimization.linesearch.LineSearc
aba0 68 4d 65 74 68 6f 64 3b 0a 0a 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 47 72 61 64 69 65 6e hMethod;....public.class.Gradien
abc0 74 44 65 73 63 65 6e 74 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e tDescent.extends.AbstractGradien
abe0 74 42 61 73 65 4d 65 74 68 6f 64 7b 0a 09 0a 09 70 75 62 6c 69 63 20 47 72 61 64 69 65 6e 74 44 tBaseMethod{....public.GradientD
ac00 65 73 63 65 6e 74 28 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 69 6e 65 53 65 61 72 escent(LineSearchMethod.lineSear
ac20 63 68 29 20 7b 0a 09 09 74 68 69 73 2e 6c 69 6e 65 53 65 61 72 63 68 20 3d 20 6c 69 6e 65 53 65 ch).{...this.lineSearch.=.lineSe
ac40 61 72 63 68 3b 0a 09 7d 0a 09 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 arch;..}.....public.double[].get
ac60 44 69 72 65 63 74 69 6f 6e 28 29 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 3c Direction(){...for(int.i.=.0;.i<
ac80 20 67 72 61 64 69 65 6e 74 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 64 69 72 65 63 .gradient.length;.i++){....direc
aca0 74 69 6f 6e 5b 69 5d 20 3d 20 2d 67 72 61 64 69 65 6e 74 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 tion[i].=.-gradient[i];...}...re
acc0 74 75 72 6e 20 64 69 72 65 63 74 69 6f 6e 3b 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 turn.direction;..}.}.PK.........
ace0 59 e5 3c f6 a7 99 4b b5 0d 00 00 b5 0d 00 00 2d 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f Y.<...K........-...optimization/
ad00 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4c 42 46 47 53 2e 63 6c 61 73 73 gradientBasedMethods/LBFGS.class
ad20 ca fe ba be 00 00 00 32 00 86 07 00 02 01 00 27 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 .......2.......'optimization/gra
ad40 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4c 42 46 47 53 07 00 04 01 00 3c 6f 70 74 dientBasedMethods/LBFGS.....<opt
ad60 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 41 imization/gradientBasedMethods/A
ad80 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 01 00 07 68 69 73 74 bstractGradientBaseMethod...hist
ada0 6f 72 79 01 00 01 49 01 00 06 73 6b 4c 69 73 74 01 00 03 5b 5b 44 01 00 06 79 6b 4c 69 73 74 01 ory...I...skList...[[D...ykList.
adc0 00 18 69 6e 69 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 73 01 00 01 44 01 00 ..initialHessianParameters...D..
ade0 10 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 01 00 02 5b 44 01 00 12 70 72 65 76 69 6f 75 .previousGradient...[D...previou
ae00 73 50 61 72 61 6d 65 74 65 72 73 01 00 01 71 01 00 03 72 6f 69 01 00 06 61 6c 70 68 61 69 01 00 sParameters...q...roi...alphai..
ae20 06 3c 69 6e 69 74 3e 01 00 2e 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 .<init>...(Loptimization/linesea
ae40 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 49 29 56 01 00 04 43 6f 64 65 0a rch/LineSearchMethod;I)V...Code.
ae60 00 03 00 16 0c 00 12 00 17 01 00 03 28 29 56 09 00 01 00 19 0c 00 1a 00 1b 01 00 0a 6c 69 6e 65 ............()V.............line
ae80 53 65 61 72 63 68 01 00 2a 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 Search..*Loptimization/linesearc
aea0 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 09 00 01 00 1d 0c 00 05 00 06 07 00 0d h/LineSearchMethod;.............
aec0 09 00 01 00 20 0c 00 07 00 08 09 00 01 00 22 0c 00 09 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 .............."........LineNumbe
aee0 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 rTable...LocalVariableTable...th
af00 69 73 01 00 29 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 is..)Loptimization/gradientBased
af20 4d 65 74 68 6f 64 73 2f 4c 42 46 47 53 3b 01 00 02 6c 73 01 00 05 72 65 73 65 74 0a 00 03 00 2a Methods/LBFGS;...ls...reset....*
af40 0c 00 28 00 17 09 00 01 00 2c 0c 00 0a 00 0b 09 00 01 00 2e 0c 00 0e 00 0d 09 00 01 00 30 0c 00 ..(......,...................0..
af60 0c 00 0d 09 00 01 00 32 0c 00 0f 00 0d 09 00 01 00 34 0c 00 10 00 0d 09 00 01 00 36 0c 00 11 00 .......2.........4.........6....
af80 0d 01 00 15 4c 42 46 47 53 54 77 6f 4c 6f 6f 70 52 65 63 75 72 73 69 6f 6e 01 00 05 28 44 29 5b ....LBFGSTwoLoopRecursion...(D)[
afa0 44 09 00 01 00 3a 0c 00 3b 00 0d 01 00 08 67 72 61 64 69 65 6e 74 0a 00 3d 00 3f 07 00 3e 01 00 D....:..;.....gradient..=.?..>..
afc0 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 40 00 41 01 00 09 61 72 72 61 79 63 6f .java/lang/System..@.A...arrayco
afe0 70 79 01 00 2a 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 4c 6a 61 76 61 2f 6c py..*(Ljava/lang/Object;ILjava/l
b000 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 49 29 56 0a 00 43 00 45 07 00 44 01 00 1b 6f 70 74 69 6d 69 ang/Object;II)V..C.E..D...optimi
b020 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 46 00 47 01 00 0a 64 6f 74 zation/util/MathUtils..F.G...dot
b040 50 72 6f 64 75 63 74 01 00 07 28 5b 44 5b 44 29 44 0a 00 43 00 49 0c 00 4a 00 4b 01 00 0a 70 6c Product...([D[D)D..C.I..J.K...pl
b060 75 73 45 71 75 61 6c 73 01 00 08 28 5b 44 5b 44 44 29 56 0a 00 43 00 4d 0c 00 4e 00 4f 01 00 14 usEquals...([D[DD)V..C.M..N.O...
b080 73 63 61 6c 61 72 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 01 00 06 28 5b 44 44 29 56 01 00 0c scalarMultiplication...([DD)V...
b0a0 68 65 73 73 69 61 6e 43 6f 6e 73 74 01 00 01 69 01 00 02 73 69 01 00 02 79 69 01 00 04 62 65 74 hessianConst...i...si...yi...bet
b0c0 61 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0c 67 65 74 44 69 72 65 63 74 69 6f 6e a...StackMapTable...getDirection
b0e0 01 00 04 28 29 5b 44 0a 00 01 00 59 0c 00 5a 00 17 01 00 20 63 61 6c 63 75 6c 61 74 65 49 6e 69 ...()[D....Y..Z.....calculateIni
b100 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 0a 00 01 00 5c 0c 00 37 00 38 0a 00 tialHessianParameter....\..7.8..
b120 43 00 5e 0c 00 5f 00 60 01 00 08 6e 65 67 61 74 69 6f 6e 01 00 06 28 5b 44 29 5b 44 09 00 01 00 C.^.._.`...negation...([D)[D....
b140 62 0c 00 63 00 0d 01 00 09 64 69 72 65 63 74 69 6f 6e 09 00 01 00 65 0c 00 66 00 06 01 00 1a 63 b..c.....direction....e..f.....c
b160 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 01 00 02 73 6b 01 00 urrentProjectionIteration...sk..
b180 02 79 6b 01 00 14 69 6e 69 74 69 61 6c 69 7a 65 53 74 72 75 63 74 75 72 65 73 01 00 93 28 4c 6f .yk...initializeStructures...(Lo
b1a0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
b1c0 2f 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e /Objective;Loptimization/gradien
b1e0 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 tBasedMethods/stats/OptimizerSta
b200 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 ts;Loptimization/stopCriteria/St
b220 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 56 0a 00 03 00 6c 0c 00 69 00 6a 0a 00 6e 00 70 07 opingCriteria;)V....l..i.j..n.p.
b240 00 6f 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d .o..+optimization/gradientBasedM
b260 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 0c 00 71 00 72 01 00 10 67 65 74 4e 75 6d 50 61 ethods/Objective..q.r...getNumPa
b280 72 61 6d 65 74 65 72 73 01 00 03 28 29 49 01 00 01 6f 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 rameters...()I...o..-Loptimizati
b2a0 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 on/gradientBasedMethods/Objectiv
b2c0 65 3b 01 00 05 73 74 61 74 73 01 00 38 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 e;...stats..8Loptimization/gradi
b2e0 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 entBasedMethods/stats/OptimizerS
b300 74 61 74 73 3b 01 00 04 73 74 6f 70 01 00 2b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f tats;...stop..+Loptimization/sto
b320 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 01 00 1a 75 70 64 pCriteria/StopingCriteria;...upd
b340 61 74 65 53 74 72 75 63 74 75 72 65 73 42 65 66 6f 72 65 53 74 65 70 0a 00 6e 00 7b 0c 00 7c 00 ateStructuresBeforeStep..n.{..|.
b360 57 01 00 0d 67 65 74 50 61 72 61 6d 65 74 65 72 73 01 00 19 75 70 64 61 74 65 53 74 72 75 63 74 W...getParameters...updateStruct
b380 75 72 65 73 41 66 74 65 72 53 74 65 70 0a 00 43 00 7f 0c 00 80 00 81 01 00 0a 61 72 72 61 79 4d uresAfterStep..C..........arrayM
b3a0 69 6e 75 73 01 00 08 28 5b 44 5b 44 29 5b 44 01 00 05 64 69 66 66 58 01 00 08 64 69 66 66 47 72 inus...([D[D)[D...diffX...diffGr
b3c0 61 64 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0a 4c 42 46 47 53 2e 6a 61 76 61 00 21 00 01 ad...SourceFile...LBFGS.java.!..
b3e0 00 03 00 00 00 09 00 00 00 05 00 06 00 00 00 00 00 07 00 08 00 00 00 00 00 09 00 08 00 00 00 00 ................................
b400 00 0a 00 0b 00 00 00 00 00 0c 00 0d 00 00 00 00 00 0e 00 0d 00 00 00 00 00 0f 00 0d 00 00 00 00 ................................
b420 00 10 00 0d 00 00 00 00 00 11 00 0d 00 00 00 08 00 01 00 12 00 13 00 01 00 14 00 00 00 71 00 02 .............................q..
b440 00 03 00 00 00 1f 2a b7 00 15 2a 2b b5 00 18 2a 1c b5 00 1c 2a 1c bd 00 1e b5 00 1f 2a 1c bd 00 ......*...*+...*....*.......*...
b460 1e b5 00 21 b1 00 00 00 02 00 23 00 00 00 1a 00 06 00 00 00 19 00 04 00 1a 00 09 00 1b 00 0e 00 ...!......#.....................
b480 1c 00 16 00 1d 00 1e 00 1f 00 24 00 00 00 20 00 03 00 00 00 1f 00 25 00 26 00 00 00 00 00 1f 00 ..........$...........%.&.......
b4a0 27 00 1b 00 01 00 00 00 1f 00 05 00 06 00 02 00 01 00 28 00 17 00 01 00 14 00 00 00 87 00 03 00 '.................(.............
b4c0 01 00 00 00 39 2a b7 00 29 2a 0e b5 00 2b 2a 01 b5 00 2d 2a 01 b5 00 2f 2a 2a b4 00 1c bd 00 1e ....9*..)*...+*...-*.../**......
b4e0 b5 00 1f 2a 2a b4 00 1c bd 00 1e b5 00 21 2a 01 b5 00 31 2a 01 b5 00 33 2a 01 b5 00 35 b1 00 00 ...**........!*...1*...3*...5...
b500 00 02 00 23 00 00 00 2a 00 0a 00 00 00 22 00 04 00 23 00 09 00 24 00 0e 00 25 00 13 00 26 00 1e ...#...*....."...#...$...%...&..
b520 00 27 00 29 00 28 00 2e 00 29 00 33 00 2a 00 38 00 2b 00 24 00 00 00 0c 00 01 00 00 00 39 00 25 .'.).(...).3.*.8.+.$.........9.%
b540 00 26 00 00 00 01 00 37 00 38 00 01 00 14 00 00 01 d8 00 06 00 06 00 00 01 09 2a b4 00 31 c7 00 .&.....7.8................*..1..
b560 0e 2a 2a b4 00 39 be bc 07 b5 00 31 2a b4 00 39 03 2a b4 00 31 03 2a b4 00 39 be b8 00 3c 2a b4 .**..9.....1*..9.*..1.*..9...<*.
b580 00 33 c7 00 0d 2a 2a b4 00 1c bc 07 b5 00 33 2a b4 00 35 c7 00 0d 2a 2a b4 00 1c bc 07 b5 00 35 .3...**.......3*..5...**.......5
b5a0 2a b4 00 1c 04 64 3e a7 00 4b 2a b4 00 1f 1d 32 3a 04 2a b4 00 21 1d 32 3a 05 2a b4 00 33 1d 0f *....d>..K*....2:.*..!.2:.*..3..
b5c0 19 05 19 04 b8 00 42 6f 52 2a b4 00 35 1d 19 04 2a b4 00 31 b8 00 42 2a b4 00 33 1d 31 6b 52 2a ......BoR*..5...*..1..B*..3.1kR*
b5e0 b4 00 31 19 05 2a b4 00 35 1d 31 77 b8 00 48 84 03 ff 1d 9b 00 15 2a b4 00 1f 1d 32 c6 00 0c 2a ..1..*..5.1w..H.......*....2...*
b600 b4 00 21 1d 32 c7 ff a5 2a b4 00 31 27 b8 00 4c 03 3e a7 00 32 2a b4 00 21 1d 32 2a b4 00 31 b8 ..!.2...*..1'..L.>..2*..!.2*..1.
b620 00 42 2a b4 00 33 1d 31 6b 39 04 2a b4 00 31 2a b4 00 1f 1d 32 2a b4 00 35 1d 31 18 04 67 b8 00 .B*..3.1k9.*..1*....2*..5.1..g..
b640 48 84 03 01 1d 2a b4 00 1c a2 00 15 2a b4 00 1f 1d 32 c6 00 0c 2a b4 00 21 1d 32 c7 ff ba 2a b4 H....*......*....2...*..!.2...*.
b660 00 31 b0 00 00 00 03 00 23 00 00 00 52 00 14 00 00 00 2f 00 07 00 30 00 12 00 32 00 24 00 34 00 .1......#...R...../...0...2.$.4.
b680 2b 00 35 00 35 00 38 00 3c 00 39 00 46 00 3c 00 50 00 3e 00 58 00 3f 00 60 00 40 00 6f 00 41 00 +.5.5.8.<.9.F.<.P.>.X.?.`.@.o.A.
b6a0 85 00 42 00 95 00 3c 00 ae 00 45 00 b6 00 46 00 bb 00 48 00 d1 00 49 00 e7 00 46 01 04 00 4b 00 ..B...<...E...F...H...I...F...K.
b6c0 24 00 00 00 48 00 07 00 00 01 09 00 25 00 26 00 00 00 00 01 09 00 50 00 0b 00 01 00 4d 00 61 00 $...H.......%.&.......P.....M.a.
b6e0 51 00 06 00 03 00 58 00 3d 00 52 00 0d 00 04 00 60 00 35 00 53 00 0d 00 05 00 b8 00 4c 00 51 00 Q.....X.=.R.....`.5.S.......L.Q.
b700 06 00 03 00 d1 00 16 00 54 00 0b 00 04 00 55 00 00 00 17 00 09 12 22 10 fc 00 09 01 fb 00 47 fa ........T.....U.......".......G.
b720 00 15 fc 00 0c 01 2e fa 00 19 00 01 00 56 00 57 00 01 00 14 00 00 00 43 00 04 00 01 00 00 00 15 .............V.W.......C........
b740 2a b6 00 58 2a 2a 2a b4 00 2b b6 00 5b b8 00 5d 5a b5 00 61 b0 00 00 00 02 00 23 00 00 00 0a 00 *..X***..+..[..]Z..a......#.....
b760 02 00 00 00 54 00 04 00 56 00 24 00 00 00 0c 00 01 00 00 00 15 00 25 00 26 00 00 00 01 00 5a 00 ....T...V.$...........%.&.....Z.
b780 17 00 01 00 14 00 00 00 ee 00 05 00 03 00 00 00 6d 2a b4 00 64 04 a0 00 0b 2a 0f b5 00 2b a7 00 ................m*..d....*...+..
b7a0 5f 2a b4 00 64 2a b4 00 1c a3 00 2d 2a b4 00 1f 2a b4 00 64 05 64 32 4c 2a b4 00 21 2a b4 00 64 _*..d*.....-*...*..d.d2L*..!*..d
b7c0 05 64 32 4d 2a 2b 2c b8 00 42 2c 2c b8 00 42 6f b5 00 2b a7 00 2a 2a b4 00 1f 2a b4 00 1c 04 64 .d2M*+,..B,,..Bo..+..**...*....d
b7e0 32 4c 2a b4 00 21 2a b4 00 1c 04 64 32 4d 2a 2b 2c b8 00 42 2c 2c b8 00 42 6f b5 00 2b b1 00 00 2L*..!*....d2M*+,..B,,..Bo..+...
b800 00 03 00 23 00 00 00 2a 00 0a 00 00 00 5a 00 08 00 5c 00 10 00 5d 00 1b 00 5e 00 27 00 5f 00 33 ...#...*.....Z...\...]...^.'._.3
b820 00 60 00 45 00 63 00 51 00 64 00 5d 00 65 00 6c 00 67 00 24 00 00 00 34 00 05 00 00 00 6d 00 25 .`.E.c.Q.d.].e.l.g.$...4.....m.%
b840 00 26 00 00 00 27 00 1e 00 67 00 0d 00 01 00 33 00 12 00 68 00 0d 00 02 00 51 00 1b 00 67 00 0d .&...'...g.....3...h.....Q...g..
b860 00 01 00 5d 00 0f 00 68 00 0d 00 02 00 55 00 00 00 05 00 03 10 34 26 00 01 00 69 00 6a 00 01 00 ...]...h.....U.......4&...i.j...
b880 14 00 00 00 70 00 04 00 04 00 00 00 1c 2a 2b 2c 2d b7 00 6b 2a 2b b6 00 6d bc 07 b5 00 2d 2a 2b ....p........*+,-..k*+..m....-*+
b8a0 b6 00 6d bc 07 b5 00 2f b1 00 00 00 02 00 23 00 00 00 12 00 04 00 00 00 6b 00 07 00 6c 00 11 00 ..m..../......#.........k...l...
b8c0 6d 00 1b 00 6e 00 24 00 00 00 2a 00 04 00 00 00 1c 00 25 00 26 00 00 00 00 00 1c 00 73 00 74 00 m...n.$...*.......%.&.......s.t.
b8e0 01 00 00 00 1c 00 75 00 76 00 02 00 00 00 1c 00 77 00 78 00 03 00 01 00 79 00 6a 00 01 00 14 00 ......u.v.......w.x.....y.j.....
b900 00 00 80 00 05 00 04 00 00 00 2c 2a 2b 2c 2d b7 00 6b 2b b6 00 7a 03 2a b4 00 2d 03 2a b4 00 2d ..........,*+,-..k+..z.*..-.*..-
b920 be b8 00 3c 2a b4 00 39 03 2a b4 00 2f 03 2a b4 00 39 be b8 00 3c b1 00 00 00 02 00 23 00 00 00 ...<*..9.*../.*..9...<......#...
b940 12 00 04 00 00 00 70 00 07 00 71 00 19 00 72 00 2b 00 73 00 24 00 00 00 2a 00 04 00 00 00 2c 00 ......p...q...r.+.s.$...*.....,.
b960 25 00 26 00 00 00 00 00 2c 00 73 00 74 00 01 00 00 00 2c 00 75 00 76 00 02 00 00 00 2c 00 77 00 %.&.....,.s.t.....,.u.v.....,.w.
b980 78 00 03 00 01 00 7d 00 6a 00 01 00 14 00 00 01 3a 00 05 00 07 00 00 00 91 2b b6 00 7a 2a b4 00 x.....}.j.......:........+..z*..
b9a0 2d b8 00 7e 3a 04 2a b4 00 39 2a b4 00 2f b8 00 7e 3a 05 2a b4 00 64 2a b4 00 1c a4 00 54 03 36 -..~:.*..9*../..~:.*..d*.....T.6
b9c0 06 a7 00 26 2a b4 00 1f 15 06 2a b4 00 1f 15 06 04 60 32 53 2a b4 00 21 15 06 2a b4 00 21 15 06 ...&*.....*......`2S*..!..*..!..
b9e0 04 60 32 53 84 06 01 15 06 2a b4 00 1c 04 64 a1 ff d5 2a b4 00 1f 2a b4 00 1c 04 64 19 04 53 2a .`2S.....*....d...*...*....d..S*
ba00 b4 00 21 2a b4 00 1c 04 64 19 05 53 a7 00 1d 2a b4 00 1f 2a b4 00 64 04 64 19 04 53 2a b4 00 21 ..!*....d..S...*...*..d.d..S*..!
ba20 2a b4 00 64 04 64 19 05 53 b1 00 00 00 03 00 23 00 00 00 32 00 0c 00 00 00 76 00 0d 00 77 00 1a *..d.d..S......#...2.....v...w..
ba40 00 79 00 25 00 7a 00 2b 00 7b 00 3b 00 7c 00 4b 00 7a 00 59 00 7e 00 66 00 7f 00 76 00 81 00 83 .y.%.z.+.{.;.|.K.z.Y.~.f...v....
ba60 00 82 00 90 00 84 00 24 00 00 00 48 00 07 00 00 00 91 00 25 00 26 00 00 00 00 00 91 00 73 00 74 .......$...H.......%.&.......s.t
ba80 00 01 00 00 00 91 00 75 00 76 00 02 00 00 00 91 00 77 00 78 00 03 00 0d 00 84 00 82 00 0d 00 04 .......u.v.......w.x............
baa0 00 1a 00 77 00 83 00 0d 00 05 00 28 00 31 00 51 00 06 00 06 00 55 00 00 00 11 00 04 fe 00 2b 07 ...w.......(.1.Q.....U........+.
bac0 00 1e 07 00 1e 01 22 fa 00 27 19 00 01 00 84 00 00 00 02 00 85 50 4b 03 04 0a 00 00 00 00 00 b1 ......"..'...........PK.........
bae0 69 d6 3c 8b b8 9f 81 da 1d 00 00 da 1d 00 00 2c 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f i.<............,...optimization/
bb00 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4c 42 46 47 53 2e 6a 61 76 61 70 gradientBasedMethods/LBFGS.javap
bb20 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 ackage.optimization.gradientBase
bb40 64 4d 65 74 68 6f 64 73 3b 0a 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e dMethods;...import.optimization.
bb60 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 73 74 61 74 73 2e 4f 70 74 69 6d gradientBasedMethods.stats.Optim
bb80 69 7a 65 72 53 74 61 74 73 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c izerStats;.import.optimization.l
bba0 69 6e 65 73 65 61 72 63 68 2e 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 inesearch.DifferentiableLineSear
bbc0 63 68 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e chObjective;.import.optimization
bbe0 2e 6c 69 6e 65 73 65 61 72 63 68 2e 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 0a 69 6d .linesearch.LineSearchMethod;.im
bc00 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 53 port.optimization.stopCriteria.S
bc20 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 topingCriteria;.import.optimizat
bc40 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 ion.util.MathUtils;..public.clas
bc60 73 20 4c 42 46 47 53 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 s.LBFGS.extends.AbstractGradient
bc80 42 61 73 65 4d 65 74 68 6f 64 7b 0a 0a 09 2f 2f 48 6f 77 20 6d 61 6e 79 20 70 72 65 76 69 6f 75 BaseMethod{...//How.many.previou
bca0 73 20 76 61 6c 75 65 73 20 61 72 65 20 62 65 69 6e 67 20 73 61 76 65 64 0a 09 69 6e 74 20 68 69 s.values.are.being.saved..int.hi
bcc0 73 74 6f 72 79 3b 0a 09 64 6f 75 62 6c 65 5b 5d 5b 5d 20 73 6b 4c 69 73 74 3b 0a 09 64 6f 75 62 story;..double[][].skList;..doub
bce0 6c 65 5b 5d 5b 5d 20 79 6b 4c 69 73 74 3b 0a 09 64 6f 75 62 6c 65 20 69 6e 69 74 69 61 6c 48 65 le[][].ykList;..double.initialHe
bd00 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 73 3b 0a 09 64 6f 75 62 6c 65 5b 5d 20 70 72 65 76 69 ssianParameters;..double[].previ
bd20 6f 75 73 47 72 61 64 69 65 6e 74 3b 0a 09 64 6f 75 62 6c 65 5b 5d 20 70 72 65 76 69 6f 75 73 50 ousGradient;..double[].previousP
bd40 61 72 61 6d 65 74 65 72 73 3b 0a 09 0a 09 2f 2f 61 75 78 69 6c 69 61 72 20 73 74 72 75 63 74 75 arameters;....//auxiliar.structu
bd60 72 65 73 0a 09 64 6f 75 62 6c 65 20 71 5b 5d 3b 0a 09 64 6f 75 62 6c 65 5b 5d 20 72 6f 69 3b 0a res..double.q[];..double[].roi;.
bd80 09 64 6f 75 62 6c 65 5b 5d 20 61 6c 70 68 61 69 3b 0a 09 0a 09 70 75 62 6c 69 63 20 4c 42 46 47 .double[].alphai;....public.LBFG
bda0 53 28 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 2c 20 69 6e 74 20 68 69 73 74 6f S(LineSearchMethod.ls,.int.histo
bdc0 72 79 29 20 7b 0a 09 09 6c 69 6e 65 53 65 61 72 63 68 20 3d 20 6c 73 3b 0a 09 09 74 68 69 73 2e ry).{...lineSearch.=.ls;...this.
bde0 68 69 73 74 6f 72 79 20 3d 20 68 69 73 74 6f 72 79 3b 0a 09 09 73 6b 4c 69 73 74 20 3d 20 6e 65 history.=.history;...skList.=.ne
be00 77 20 64 6f 75 62 6c 65 5b 68 69 73 74 6f 72 79 5d 5b 5d 3b 0a 09 09 79 6b 4c 69 73 74 20 3d 20 w.double[history][];...ykList.=.
be20 6e 65 77 20 64 6f 75 62 6c 65 5b 68 69 73 74 6f 72 79 5d 5b 5d 3b 0a 0a 09 7d 0a 09 0a 09 70 75 new.double[history][];...}....pu
be40 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 73 75 70 65 72 2e 72 65 73 65 74 blic.void.reset(){...super.reset
be60 28 29 3b 0a 09 09 69 6e 69 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 73 20 3d ();...initialHessianParameters.=
be80 20 30 3b 0a 09 09 70 72 65 76 69 6f 75 73 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c 3b .0;...previousParameters.=.null;
bea0 0a 09 09 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 20 3d 20 6e 75 6c 6c 3b 0a 09 09 73 6b ...previousGradient.=.null;...sk
bec0 4c 69 73 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 68 69 73 74 6f 72 79 5d 5b 5d 3b 0a 09 09 List.=.new.double[history][];...
bee0 79 6b 4c 69 73 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 68 69 73 74 6f 72 79 5d 5b 5d 3b 0a ykList.=.new.double[history][];.
bf00 09 09 71 20 3d 20 6e 75 6c 6c 3b 0a 09 09 72 6f 69 20 3d 20 6e 75 6c 6c 3b 0a 09 09 61 6c 70 68 ..q.=.null;...roi.=.null;...alph
bf20 61 69 20 3d 20 6e 75 6c 6c 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d ai.=.null;..}....public.double[]
bf40 20 4c 42 46 47 53 54 77 6f 4c 6f 6f 70 52 65 63 75 72 73 69 6f 6e 28 64 6f 75 62 6c 65 20 68 65 .LBFGSTwoLoopRecursion(double.he
bf60 73 73 69 61 6e 43 6f 6e 73 74 29 7b 0a 09 09 2f 2f 4f 6e 6c 79 20 63 72 65 61 74 65 20 61 72 72 ssianConst){...//Only.create.arr
bf80 61 79 20 6f 6e 63 65 0a 09 09 69 66 28 71 20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 20 71 20 3d ay.once...if(q.==.null){.....q.=
bfa0 20 6e 65 77 20 64 6f 75 62 6c 65 5b 67 72 61 64 69 65 6e 74 2e 6c 65 6e 67 74 68 5d 3b 0a 09 09 .new.double[gradient.length];...
bfc0 7d 0a 09 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 67 72 61 64 69 65 6e 74 2c 20 30 }...System.arraycopy(gradient,.0
bfe0 2c 20 71 2c 20 30 2c 20 67 72 61 64 69 65 6e 74 2e 6c 65 6e 67 74 68 29 3b 0a 09 09 2f 2f 4f 6e ,.q,.0,.gradient.length);...//On
c000 6c 79 20 63 72 65 61 74 65 20 61 72 72 61 79 20 6f 6e 63 65 0a 09 09 69 66 28 72 6f 69 20 3d 3d ly.create.array.once...if(roi.==
c020 20 6e 75 6c 6c 29 7b 0a 09 09 09 72 6f 69 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 68 69 73 74 .null){....roi.=.new.double[hist
c040 6f 72 79 5d 3b 20 0a 09 09 7d 0a 09 09 2f 2f 4f 6e 6c 79 20 63 72 65 61 74 65 20 61 72 72 61 79 ory];....}...//Only.create.array
c060 20 6f 6e 63 65 0a 09 09 69 66 28 61 6c 70 68 61 69 20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 61 .once...if(alphai.==.null){....a
c080 6c 70 68 61 69 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 68 69 73 74 6f 72 79 5d 3b 0a 09 09 7d lphai.=.new.double[history];...}
c0a0 0a 09 09 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 68 69 73 74 6f 72 79 2d 31 3b 20 69 20 3e ......for(int.i.=.history-1;.i.>
c0c0 3d 30 20 26 26 20 73 6b 4c 69 73 74 5b 69 5d 21 3d 20 6e 75 6c 6c 20 26 26 20 79 6b 4c 69 73 74 =0.&&.skList[i]!=.null.&&.ykList
c0e0 5b 69 5d 21 3d 6e 75 6c 6c 3b 20 69 2d 2d 20 29 7b 09 09 09 0a 09 09 2f 2f 09 53 79 73 74 65 6d [i]!=null;.i--.){......//.System
c100 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4e 65 77 20 74 6f 20 4f 6c 64 20 70 72 6f 6a 20 22 20 .out.println("New.to.Old.proj.".
c120 2b 20 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 2b 20 22 +.currentProjectionIteration.+."
c140 20 68 69 73 74 6f 72 79 20 22 2b 68 69 73 74 6f 72 79 20 2b 20 22 20 69 6e 64 65 78 20 22 20 2b .history."+history.+.".index.".+
c160 20 69 29 3b 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 73 69 20 3d 20 20 73 6b 4c 69 73 74 5b 69 5d .i);....double[].si.=..skList[i]
c180 3b 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 79 69 20 3d 20 79 6b 4c 69 73 74 5b 69 5d 3b 0a 09 09 ;....double[].yi.=.ykList[i];...
c1a0 09 72 6f 69 5b 69 5d 3d 20 31 2e 30 2f 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 .roi[i]=.1.0/MathUtils.dotProduc
c1c0 74 28 79 69 2c 73 69 29 3b 0a 09 09 09 61 6c 70 68 61 69 5b 69 5d 20 3d 20 4d 61 74 68 55 74 69 t(yi,si);....alphai[i].=.MathUti
c1e0 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 73 69 2c 20 71 29 2a 72 6f 69 5b 69 5d 3b 0a 09 09 09 ls.dotProduct(si,.q)*roi[i];....
c200 4d 61 74 68 55 74 69 6c 73 2e 70 6c 75 73 45 71 75 61 6c 73 28 71 2c 20 79 69 2c 20 2d 61 6c 70 MathUtils.plusEquals(q,.yi,.-alp
c220 68 61 69 5b 69 5d 29 3b 0a 09 09 7d 0a 09 09 2f 2f 49 6e 69 74 69 61 6c 20 48 65 73 73 69 61 6e hai[i]);...}...//Initial.Hessian
c240 20 69 73 20 6a 75 73 74 20 61 20 63 6f 6e 73 74 61 6e 74 0a 09 09 4d 61 74 68 55 74 69 6c 73 2e .is.just.a.constant...MathUtils.
c260 73 63 61 6c 61 72 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 28 71 2c 20 68 65 73 73 69 61 6e 43 scalarMultiplication(q,.hessianC
c280 6f 6e 73 74 29 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 68 69 73 74 6f onst);...for(int.i.=.0;.i.<histo
c2a0 72 79 20 26 26 20 73 6b 4c 69 73 74 5b 69 5d 21 3d 20 6e 75 6c 6c 20 26 26 20 79 6b 4c 69 73 74 ry.&&.skList[i]!=.null.&&.ykList
c2c0 5b 69 5d 21 3d 6e 75 6c 6c 3b 20 69 2b 2b 20 29 7b 0a 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 [i]!=null;.i++.){...//.System.ou
c2e0 74 2e 70 72 69 6e 74 6c 6e 28 22 4f 6c 64 20 74 6f 20 4e 65 77 20 70 72 6f 6a 20 22 20 2b 20 63 t.println("Old.to.New.proj.".+.c
c300 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 2b 20 22 20 68 69 urrentProjectionIteration.+.".hi
c320 73 74 6f 72 79 20 22 2b 68 69 73 74 6f 72 79 20 2b 20 22 20 69 6e 64 65 78 20 22 20 2b 20 69 29 story."+history.+.".index.".+.i)
c340 3b 0a 09 09 09 64 6f 75 62 6c 65 20 62 65 74 61 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 ;....double.beta.=.MathUtils.dot
c360 50 72 6f 64 75 63 74 28 79 6b 4c 69 73 74 5b 69 5d 2c 20 71 29 2a 72 6f 69 5b 69 5d 3b 0a 09 09 Product(ykList[i],.q)*roi[i];...
c380 09 4d 61 74 68 55 74 69 6c 73 2e 70 6c 75 73 45 71 75 61 6c 73 28 71 2c 20 73 6b 4c 69 73 74 5b .MathUtils.plusEquals(q,.skList[
c3a0 69 5d 2c 20 28 61 6c 70 68 61 69 5b 69 5d 2d 62 65 74 61 29 29 3b 0a 09 09 7d 0a 09 09 72 65 74 i],.(alphai[i]-beta));...}...ret
c3c0 75 72 6e 20 71 3b 0a 09 7d 0a 09 0a 09 0a 09 0a 09 0a 09 40 4f 76 65 72 72 69 64 65 0a 09 70 75 urn.q;..}..........@Override..pu
c3e0 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 44 69 72 65 63 74 69 6f 6e 28 29 20 7b 0a 09 blic.double[].getDirection().{..
c400 09 0a 09 09 63 61 6c 63 75 6c 61 74 65 49 6e 69 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d ....calculateInitialHessianParam
c420 65 74 65 72 28 29 3b 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 eter();.//..System.out.println("
c440 49 6e 69 74 69 61 6c 20 68 65 73 73 69 61 6e 20 22 20 2b 20 69 6e 69 74 69 61 6c 48 65 73 73 69 Initial.hessian.".+.initialHessi
c460 61 6e 50 61 72 61 6d 65 74 65 72 73 29 3b 0a 09 09 72 65 74 75 72 6e 20 64 69 72 65 63 74 69 6f anParameters);...return.directio
c480 6e 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 6e 65 67 61 74 69 6f 6e 28 4c 42 46 47 53 54 77 6f 4c n.=.MathUtils.negation(LBFGSTwoL
c4a0 6f 6f 70 52 65 63 75 72 73 69 6f 6e 28 69 6e 69 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d oopRecursion(initialHessianParam
c4c0 65 74 65 72 73 29 29 3b 09 09 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 63 61 6c eters));....}....public.void.cal
c4e0 63 75 6c 61 74 65 49 6e 69 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 28 29 7b culateInitialHessianParameter(){
c500 0a 09 09 69 66 28 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e ...if(currentProjectionIteration
c520 20 3d 3d 20 31 29 7b 0a 09 09 09 2f 2f 55 73 65 20 67 72 61 64 69 65 6e 74 0a 09 09 09 69 6e 69 .==.1){....//Use.gradient....ini
c540 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 73 20 3d 20 31 3b 0a 09 09 7d 65 6c tialHessianParameters.=.1;...}el
c560 73 65 20 69 66 28 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e se.if(currentProjectionIteration
c580 20 3c 3d 20 68 69 73 74 6f 72 79 29 7b 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 73 6b 20 3d 20 73 .<=.history){....double[].sk.=.s
c5a0 6b 4c 69 73 74 5b 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e kList[currentProjectionIteration
c5c0 2d 32 5d 3b 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 79 6b 20 3d 20 79 6b 4c 69 73 74 5b 63 75 72 -2];....double[].yk.=.ykList[cur
c5e0 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2d 32 5d 3b 0a 09 09 09 69 rentProjectionIteration-2];....i
c600 6e 69 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 73 20 3d 20 4d 61 74 68 55 74 nitialHessianParameters.=.MathUt
c620 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 73 6b 2c 20 79 6b 29 2f 4d 61 74 68 55 74 69 6c 73 ils.dotProduct(sk,.yk)/MathUtils
c640 2e 64 6f 74 50 72 6f 64 75 63 74 28 79 6b 2c 20 79 6b 29 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 .dotProduct(yk,.yk);...}else{...
c660 09 2f 2f 67 65 74 20 74 68 65 20 6c 61 73 74 20 6f 6e 65 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 .//get.the.last.one....double[].
c680 73 6b 20 3d 20 73 6b 4c 69 73 74 5b 68 69 73 74 6f 72 79 2d 31 5d 3b 0a 09 09 09 64 6f 75 62 6c sk.=.skList[history-1];....doubl
c6a0 65 5b 5d 20 79 6b 20 3d 20 79 6b 4c 69 73 74 5b 68 69 73 74 6f 72 79 2d 31 5d 3b 0a 09 09 09 69 e[].yk.=.ykList[history-1];....i
c6c0 6e 69 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 73 20 3d 20 4d 61 74 68 55 74 nitialHessianParameters.=.MathUt
c6e0 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 73 6b 2c 20 79 6b 29 2f 4d 61 74 68 55 74 69 6c 73 ils.dotProduct(sk,.yk)/MathUtils
c700 2e 64 6f 74 50 72 6f 64 75 63 74 28 79 6b 2c 20 79 6b 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 2f .dotProduct(yk,.yk);...}..}..../
c720 2f 54 4f 44 4f 20 69 66 20 73 74 72 75 63 74 75 72 65 73 20 65 78 69 74 20 6a 75 73 74 20 72 65 /TODO.if.structures.exit.just.re
c740 73 65 74 20 74 68 65 6d 20 74 6f 20 7a 65 72 6f 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 69 6e set.them.to.zero..public.void.in
c760 69 74 69 61 6c 69 7a 65 53 74 72 75 63 74 75 72 65 73 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f itializeStructures(Objective.o,O
c780 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 ptimizerStats.stats,.StopingCrit
c7a0 65 72 69 61 20 73 74 6f 70 29 7b 0a 09 09 73 75 70 65 72 2e 69 6e 69 74 69 61 6c 69 7a 65 53 74 eria.stop){...super.initializeSt
c7c0 72 75 63 74 75 72 65 73 28 6f 2c 20 73 74 61 74 73 2c 20 73 74 6f 70 29 3b 0a 09 09 70 72 65 76 ructures(o,.stats,.stop);...prev
c7e0 69 6f 75 73 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 65 iousParameters.=.new.double[o.ge
c800 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 09 09 70 72 65 76 69 6f 75 73 47 72 61 tNumParameters()];...previousGra
c820 64 69 65 6e 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 65 74 4e 75 6d 50 61 72 61 6d dient.=.new.double[o.getNumParam
c840 65 74 65 72 73 28 29 5d 3b 0a 09 7d 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 75 70 64 61 74 65 eters()];..}..public.void.update
c860 53 74 72 75 63 74 75 72 65 73 42 65 66 6f 72 65 53 74 65 70 28 4f 62 6a 65 63 74 69 76 65 20 6f StructuresBeforeStep(Objective.o
c880 2c 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 ,OptimizerStats.stats,.StopingCr
c8a0 69 74 65 72 69 61 20 73 74 6f 70 29 7b 09 0a 09 09 73 75 70 65 72 2e 69 6e 69 74 69 61 6c 69 7a iteria.stop){....super.initializ
c8c0 65 53 74 72 75 63 74 75 72 65 73 28 6f 2c 20 73 74 61 74 73 2c 20 73 74 6f 70 29 3b 0a 09 09 53 eStructures(o,.stats,.stop);...S
c8e0 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 6f 2e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 ystem.arraycopy(o.getParameters(
c900 29 2c 20 30 2c 20 70 72 65 76 69 6f 75 73 50 61 72 61 6d 65 74 65 72 73 2c 20 30 2c 20 70 72 65 ),.0,.previousParameters,.0,.pre
c920 76 69 6f 75 73 50 61 72 61 6d 65 74 65 72 73 2e 6c 65 6e 67 74 68 29 3b 0a 09 09 53 79 73 74 65 viousParameters.length);...Syste
c940 6d 2e 61 72 72 61 79 63 6f 70 79 28 67 72 61 64 69 65 6e 74 2c 20 30 2c 20 70 72 65 76 69 6f 75 m.arraycopy(gradient,.0,.previou
c960 73 47 72 61 64 69 65 6e 74 2c 20 30 2c 20 67 72 61 64 69 65 6e 74 2e 6c 65 6e 67 74 68 29 3b 0a sGradient,.0,.gradient.length);.
c980 09 7d 0a 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 09 75 70 64 61 74 65 53 74 72 75 63 74 75 72 .}...public.void..updateStructur
c9a0 65 73 41 66 74 65 72 53 74 65 70 28 20 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a esAfterStep(.Objective.o,Optimiz
c9c0 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 erStats.stats,.StopingCriteria.s
c9e0 74 6f 70 29 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 64 69 66 66 58 20 3d 20 4d 61 74 68 55 74 69 top){...double[].diffX.=.MathUti
ca00 6c 73 2e 61 72 72 61 79 4d 69 6e 75 73 28 6f 2e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 2c ls.arrayMinus(o.getParameters(),
ca20 20 70 72 65 76 69 6f 75 73 50 61 72 61 6d 65 74 65 72 73 29 3b 0a 09 09 64 6f 75 62 6c 65 5b 5d .previousParameters);...double[]
ca40 20 64 69 66 66 47 72 61 64 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 61 72 72 61 79 4d 69 6e 75 73 .diffGrad.=.MathUtils.arrayMinus
ca60 28 67 72 61 64 69 65 6e 74 2c 20 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 29 3b 0a 09 09 (gradient,.previousGradient);...
ca80 2f 2f 53 61 76 65 20 6e 65 77 20 76 61 6c 75 65 73 20 61 6e 64 20 64 69 73 63 61 72 64 20 6e 65 //Save.new.values.and.discard.ne
caa0 77 20 6f 6e 65 73 0a 09 09 69 66 28 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 w.ones...if(currentProjectionIte
cac0 72 61 74 69 6f 6e 20 3e 20 68 69 73 74 6f 72 79 29 7b 0a 09 09 09 66 6f 72 28 69 6e 74 20 69 20 ration.>.history){....for(int.i.
cae0 3d 20 30 3b 20 69 20 3c 20 68 69 73 74 6f 72 79 2d 31 3b 69 2b 2b 29 7b 0a 09 09 09 09 73 6b 4c =.0;.i.<.history-1;i++){.....skL
cb00 69 73 74 5b 69 5d 3d 73 6b 4c 69 73 74 5b 69 2b 31 5d 3b 0a 09 09 09 09 79 6b 4c 69 73 74 5b 69 ist[i]=skList[i+1];.....ykList[i
cb20 5d 3d 79 6b 4c 69 73 74 5b 69 2b 31 5d 3b 0a 09 09 09 7d 0a 09 09 09 73 6b 4c 69 73 74 5b 68 69 ]=ykList[i+1];....}....skList[hi
cb40 73 74 6f 72 79 2d 31 5d 3d 64 69 66 66 58 3b 0a 09 09 09 79 6b 4c 69 73 74 5b 68 69 73 74 6f 72 story-1]=diffX;....ykList[histor
cb60 79 2d 31 5d 3d 64 69 66 66 47 72 61 64 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 73 6b 4c 69 73 y-1]=diffGrad;...}else{....skLis
cb80 74 5b 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2d 31 5d 3d t[currentProjectionIteration-1]=
cba0 64 69 66 66 58 3b 0a 09 09 09 79 6b 4c 69 73 74 5b 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 diffX;....ykList[currentProjecti
cbc0 6f 6e 49 74 65 72 61 74 69 6f 6e 2d 31 5d 3d 64 69 66 66 47 72 61 64 3b 0a 09 09 7d 09 0a 09 7d onIteration-1]=diffGrad;...}...}
cbe0 0a 09 0a 2f 2f 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 6f 70 74 69 6d 69 7a 65 28 4f 62 ...//.public.boolean.optimize(Ob
cc00 6a 65 63 74 69 76 65 20 6f 2c 20 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c jective.o,.OptimizerStats.stats,
cc20 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 29 20 7b 09 09 0a 2f 2f 09 09 44 .StopingCriteria.stop).{...//..D
cc40 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 ifferentiableLineSearchObjective
cc60 20 6c 73 6f 20 3d 20 6e 65 77 20 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 .lso.=.new.DifferentiableLineSea
cc80 72 63 68 4f 62 6a 65 63 74 69 76 65 28 6f 29 3b 09 09 0a 2f 2f 09 09 67 72 61 64 69 65 6e 74 20 rchObjective(o);...//..gradient.
cca0 3d 20 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 3b 0a 2f 2f 09 09 64 69 72 65 63 74 69 6f 6e =.o.getGradient();.//..direction
ccc0 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 .=.new.double[o.getNumParameters
cce0 28 29 5d 3b 0a 2f 2f 09 09 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 20 3d 20 6e 65 77 20 ()];.//..previousGradient.=.new.
cd00 64 6f 75 62 6c 65 5b 6f 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 2f 2f double[o.getNumParameters()];.//
cd20 09 09 0a 2f 2f 09 09 70 72 65 76 69 6f 75 73 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 ...//..previousParameters.=.new.
cd40 64 6f 75 62 6c 65 5b 6f 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 2f 2f double[o.getNumParameters()];.//
cd60 09 0a 2f 2f 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 49 6e 69 74 53 74 61 74 73 28 74 68 69 ..//..stats.collectInitStats(thi
cd80 73 2c 20 6f 29 3b 0a 2f 2f 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c s,.o);.//..previousValue.=.Doubl
cda0 65 2e 4d 41 58 5f 56 41 4c 55 45 3b 0a 2f 2f 09 09 63 75 72 72 56 61 6c 75 65 3d 20 6f 2e 67 65 e.MAX_VALUE;.//..currValue=.o.ge
cdc0 74 56 61 6c 75 65 28 29 3b 0a 2f 2f 09 09 2f 2f 55 73 65 64 20 66 6f 72 20 73 74 6f 70 70 69 6e tValue();.//..//Used.for.stoppin
cde0 67 20 63 72 69 74 65 72 69 61 0a 2f 2f 09 09 64 6f 75 62 6c 65 5b 5d 20 6f 72 69 67 69 6e 61 6c g.criteria.//..double[].original
ce00 47 72 61 64 69 65 6e 74 20 3d 20 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 3b 0a 2f 2f 09 09 Gradient.=.o.getGradient();.//..
ce20 0a 2f 2f 09 09 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 20 3d 20 4d 61 .//..originalGradientL2Norm.=.Ma
ce40 74 68 55 74 69 6c 73 2e 4c 32 4e 6f 72 6d 28 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 29 thUtils.L2Norm(originalGradient)
ce60 3b 0a 2f 2f 09 09 69 66 28 73 74 6f 70 2e 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 6f ;.//..if(stop.stopOptimization(o
ce80 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 29 29 7b 0a 2f 2f 09 09 09 73 74 61 74 73 2e 63 6f riginalGradient)){.//...stats.co
cea0 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 2f 2f 09 09 09 72 llectFinalStats(this,.o);.//...r
cec0 65 74 75 72 6e 20 74 72 75 65 3b 0a 2f 2f 09 09 7d 0a 2f 2f 09 09 66 6f 72 20 28 63 75 72 72 65 eturn.true;.//..}.//..for.(curre
cee0 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3d 20 31 3b 20 63 75 72 72 65 ntProjectionIteration.=.1;.curre
cf00 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3c 20 6d 61 78 4e 75 6d 62 65 ntProjectionIteration.<.maxNumbe
cf20 72 4f 66 49 74 65 72 61 74 69 6f 6e 73 3b 20 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e rOfIterations;.currentProjection
cf40 49 74 65 72 61 74 69 6f 6e 2b 2b 29 7b 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 63 Iteration++){.//....//....//...c
cf60 75 72 72 56 61 6c 75 65 20 3d 20 6f 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 2f 2f 09 09 09 67 72 urrValue.=.o.getValue();.//...gr
cf80 61 64 69 65 6e 74 20 20 3d 20 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 3b 0a 2f 2f 09 09 09 adient..=.o.getGradient();.//...
cfa0 63 75 72 72 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6f 2e 67 65 74 50 61 72 61 6d 65 74 65 72 73 currParameters.=.o.getParameters
cfc0 28 29 3b 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 69 66 28 63 75 72 72 65 6e 74 50 ();.//....//....//...if(currentP
cfe0 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3d 3d 20 31 29 7b 0a 2f 2f 09 09 09 09 rojectionIteration.==.1){.//....
d000 2f 2f 55 73 65 20 67 72 61 64 69 65 6e 74 0a 2f 2f 09 09 09 09 69 6e 69 74 69 61 6c 48 65 73 73 //Use.gradient.//....initialHess
d020 69 61 6e 50 61 72 61 6d 65 74 65 72 73 20 3d 20 31 3b 0a 2f 2f 09 09 09 7d 65 6c 73 65 20 69 66 ianParameters.=.1;.//...}else.if
d040 28 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3c 3d 20 68 (currentProjectionIteration.<=.h
d060 69 73 74 6f 72 79 29 7b 0a 2f 2f 09 09 09 09 64 6f 75 62 6c 65 5b 5d 20 73 6b 20 3d 20 73 6b 4c istory){.//....double[].sk.=.skL
d080 69 73 74 5b 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2d 32 ist[currentProjectionIteration-2
d0a0 5d 3b 0a 2f 2f 09 09 09 09 64 6f 75 62 6c 65 5b 5d 20 79 6b 20 3d 20 79 6b 4c 69 73 74 5b 63 75 ];.//....double[].yk.=.ykList[cu
d0c0 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2d 32 5d 3b 0a 2f 2f 09 rrentProjectionIteration-2];.//.
d0e0 09 09 09 69 6e 69 74 69 61 6c 48 65 73 73 69 61 6e 50 61 72 61 6d 65 74 65 72 73 20 3d 20 4d 61 ...initialHessianParameters.=.Ma
d100 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 73 6b 2c 20 79 6b 29 2f 4d 61 74 68 55 thUtils.dotProduct(sk,.yk)/MathU
d120 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 79 6b 2c 20 79 6b 29 3b 0a 2f 2f 09 09 09 7d 65 tils.dotProduct(yk,.yk);.//...}e
d140 6c 73 65 7b 0a 2f 2f 09 09 09 09 2f 2f 67 65 74 20 74 68 65 20 6c 61 73 74 20 6f 6e 65 0a 2f 2f lse{.//....//get.the.last.one.//
d160 09 09 09 09 64 6f 75 62 6c 65 5b 5d 20 73 6b 20 3d 20 73 6b 4c 69 73 74 5b 68 69 73 74 6f 72 79 ....double[].sk.=.skList[history
d180 2d 31 5d 3b 0a 2f 2f 09 09 09 09 64 6f 75 62 6c 65 5b 5d 20 79 6b 20 3d 20 79 6b 4c 69 73 74 5b -1];.//....double[].yk.=.ykList[
d1a0 68 69 73 74 6f 72 79 2d 31 5d 3b 0a 2f 2f 09 09 09 09 69 6e 69 74 69 61 6c 48 65 73 73 69 61 6e history-1];.//....initialHessian
d1c0 50 61 72 61 6d 65 74 65 72 73 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 Parameters.=.MathUtils.dotProduc
d1e0 74 28 73 6b 2c 20 79 6b 29 2f 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 79 t(sk,.yk)/MathUtils.dotProduct(y
d200 6b 2c 20 79 6b 29 3b 0a 2f 2f 09 09 09 7d 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 67 65 74 44 69 72 k,.yk);.//...}.//....//...getDir
d220 65 63 74 69 6f 6e 28 29 3b 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 2f 2f 4d 61 74 72 69 78 4f 75 74 ection();.//....//...//MatrixOut
d240 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 64 69 72 65 63 74 69 6f 6e 2c 20 put.printDoubleArray(direction,.
d260 22 64 69 72 65 63 74 69 6f 6e 22 29 3b 0a 2f 2f 09 09 09 64 6f 75 62 6c 65 20 64 6f 74 20 3d 20 "direction");.//...double.dot.=.
d280 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 64 69 72 65 63 74 69 6f 6e 2c 20 MathUtils.dotProduct(direction,.
d2a0 67 72 61 64 69 65 6e 74 29 3b 0a 2f 2f 09 09 09 69 66 28 64 6f 74 20 3e 20 30 29 7b 09 09 09 09 gradient);.//...if(dot.>.0){....
d2c0 0a 2f 2f 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f .//....throw.new.RuntimeExceptio
d2e0 6e 28 22 4e 6f 74 20 61 20 64 65 73 63 65 6e 74 20 64 69 72 65 63 74 69 6f 6e 22 29 3b 0a 2f 2f n("Not.a.descent.direction");.//
d300 09 09 09 7d 20 69 66 20 28 44 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 64 6f 74 29 29 7b 0a 2f 2f 09 ...}.if.(Double.isNaN(dot)){.//.
d320 09 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 64 ...throw.new.RuntimeException("d
d340 6f 74 20 69 73 20 6e 6f 74 20 61 20 6e 75 6d 62 65 72 21 21 22 29 3b 0a 2f 2f 09 09 09 7d 0a 2f ot.is.not.a.number!!");.//...}./
d360 2f 09 09 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 63 75 72 72 50 61 72 61 6d 65 74 /...System.arraycopy(currParamet
d380 65 72 73 2c 20 30 2c 20 70 72 65 76 69 6f 75 73 50 61 72 61 6d 65 74 65 72 73 2c 20 30 2c 20 63 ers,.0,.previousParameters,.0,.c
d3a0 75 72 72 50 61 72 61 6d 65 74 65 72 73 2e 6c 65 6e 67 74 68 29 3b 0a 2f 2f 09 09 09 53 79 73 74 urrParameters.length);.//...Syst
d3c0 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 67 72 61 64 69 65 6e 74 2c 20 30 2c 20 70 72 65 76 69 6f em.arraycopy(gradient,.0,.previo
d3e0 75 73 47 72 61 64 69 65 6e 74 2c 20 30 2c 20 67 72 61 64 69 65 6e 74 2e 6c 65 6e 67 74 68 29 3b usGradient,.0,.gradient.length);
d400 0a 2f 2f 09 09 09 6c 73 6f 2e 72 65 73 65 74 28 64 69 72 65 63 74 69 6f 6e 29 3b 0a 2f 2f 09 09 .//...lso.reset(direction);.//..
d420 09 73 74 65 70 20 3d 20 6c 69 6e 65 53 65 61 72 63 68 2e 67 65 74 53 74 65 70 53 69 7a 65 28 6c .step.=.lineSearch.getStepSize(l
d440 73 6f 29 3b 0a 2f 2f 09 09 09 69 66 28 73 74 65 70 3d 3d 2d 31 29 7b 0a 2f 2f 09 09 09 09 53 79 so);.//...if(step==-1){.//....Sy
d460 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 66 69 6e 64 stem.out.println("Failed.to.find
d480 20 61 20 73 74 65 70 20 73 69 7a 65 22 29 3b 0a 2f 2f 2f 2f 09 09 09 09 6c 73 6f 2e 70 72 69 6e .a.step.size");.////....lso.prin
d4a0 74 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 73 28 29 3b 0a 2f 2f 2f 2f 09 09 09 09 53 79 73 74 tLineSearchSteps();.////....Syst
d4c0 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 73 74 61 74 73 2e 70 72 65 74 74 79 50 72 69 6e 74 em.out.println(stats.prettyPrint
d4e0 28 31 29 29 3b 0a 2f 2f 09 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 (1));.//....stats.collectFinalSt
d500 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 2f 2f 09 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 ats(this,.o);.//....return.false
d520 3b 09 0a 2f 2f 09 09 09 7d 0a 2f 2f 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 49 74 65 72 ;..//...}.//...stats.collectIter
d540 61 74 69 6f 6e 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 ationStats(this,.o);.//....//...
d560 2f 2f 57 65 20 61 72 65 20 6e 6f 74 20 75 70 64 61 74 69 6e 67 20 74 68 65 20 61 6c 70 68 61 20 //We.are.not.updating.the.alpha.
d580 73 69 6e 63 65 20 69 74 20 69 73 20 64 6f 6e 65 20 69 6e 20 6c 69 6e 65 20 73 65 61 72 63 68 20 since.it.is.done.in.line.search.
d5a0 61 6c 72 65 61 64 79 0a 2f 2f 09 09 09 63 75 72 72 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6f 2e already.//...currParameters.=.o.
d5c0 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 3b 0a 2f 2f 09 09 09 67 72 61 64 69 65 6e 74 20 3d getParameters();.//...gradient.=
d5e0 20 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 3b 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 69 66 28 .o.getGradient();.//....//...if(
d600 73 74 6f 70 2e 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 67 72 61 64 69 65 6e 74 29 29 stop.stopOptimization(gradient))
d620 7b 0a 2f 2f 09 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 {.//....stats.collectFinalStats(
d640 74 68 69 73 2c 20 6f 29 3b 0a 2f 2f 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 2f 2f 09 this,.o);.//....return.true;.//.
d660 09 09 7d 0a 2f 2f 09 09 09 64 6f 75 62 6c 65 5b 5d 20 64 69 66 66 58 20 3d 20 4d 61 74 68 55 74 ..}.//...double[].diffX.=.MathUt
d680 69 6c 73 2e 61 72 72 61 79 4d 69 6e 75 73 28 63 75 72 72 50 61 72 61 6d 65 74 65 72 73 2c 20 70 ils.arrayMinus(currParameters,.p
d6a0 72 65 76 69 6f 75 73 50 61 72 61 6d 65 74 65 72 73 29 3b 0a 2f 2f 09 09 09 64 6f 75 62 6c 65 5b reviousParameters);.//...double[
d6c0 5d 20 64 69 66 66 47 72 61 64 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 61 72 72 61 79 4d 69 6e 75 ].diffGrad.=.MathUtils.arrayMinu
d6e0 73 28 67 72 61 64 69 65 6e 74 2c 20 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 29 3b 0a 2f s(gradient,.previousGradient);./
d700 2f 09 09 09 2f 2f 53 61 76 65 20 6e 65 77 20 76 61 6c 75 65 73 20 61 6e 64 20 64 69 73 63 61 72 /...//Save.new.values.and.discar
d720 64 20 6e 65 77 20 6f 6e 65 73 0a 2f 2f 09 09 09 69 66 28 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 d.new.ones.//...if(currentProjec
d740 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3e 20 68 69 73 74 6f 72 79 29 7b 0a 2f 2f 09 09 09 09 tionIteration.>.history){.//....
d760 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 68 69 73 74 6f 72 79 2d 31 3b 69 2b 2b for(int.i.=.0;.i.<.history-1;i++
d780 29 7b 0a 2f 2f 09 09 09 09 09 73 6b 4c 69 73 74 5b 69 5d 3d 73 6b 4c 69 73 74 5b 69 2b 31 5d 3b ){.//.....skList[i]=skList[i+1];
d7a0 0a 2f 2f 09 09 09 09 09 79 6b 4c 69 73 74 5b 69 5d 3d 79 6b 4c 69 73 74 5b 69 2b 31 5d 3b 0a 2f .//.....ykList[i]=ykList[i+1];./
d7c0 2f 09 09 09 09 7d 0a 2f 2f 09 09 09 09 73 6b 4c 69 73 74 5b 68 69 73 74 6f 72 79 2d 31 5d 3d 64 /....}.//....skList[history-1]=d
d7e0 69 66 66 58 3b 0a 2f 2f 09 09 09 09 79 6b 4c 69 73 74 5b 68 69 73 74 6f 72 79 2d 31 5d 3d 64 69 iffX;.//....ykList[history-1]=di
d800 66 66 47 72 61 64 3b 0a 2f 2f 09 09 09 7d 65 6c 73 65 7b 0a 2f 2f 09 09 09 09 73 6b 4c 69 73 74 ffGrad;.//...}else{.//....skList
d820 5b 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2d 31 5d 3d 64 [currentProjectionIteration-1]=d
d840 69 66 66 58 3b 0a 2f 2f 09 09 09 09 79 6b 4c 69 73 74 5b 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 iffX;.//....ykList[currentProjec
d860 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2d 31 5d 3d 64 69 66 66 47 72 61 64 3b 0a 2f 2f 09 09 09 tionIteration-1]=diffGrad;.//...
d880 7d 09 09 0a 2f 2f 09 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 63 75 72 72 56 61 6c }...//...previousValue.=.currVal
d8a0 75 65 3b 0a 2f 2f 09 09 7d 0a 2f 2f 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c ue;.//..}.//..stats.collectFinal
d8c0 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 2f 2f 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 Stats(this,.o);.//..return.false
d8e0 3b 09 0a 2f 2f 09 7d 0a 09 0a 0a 0a 09 0a 0a 09 0a 0a 09 0a 09 0a 0a 7d 0a 50 4b 03 04 0a 00 00 ;..//.}................}.PK.....
d900 00 00 00 96 59 e5 3c 8d 2d af 21 a0 08 00 00 a0 08 00 00 31 00 00 00 6f 70 74 69 6d 69 7a 61 74 ....Y.<.-.!........1...optimizat
d920 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 ion/gradientBasedMethods/Objecti
d940 76 65 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 62 07 00 02 01 00 2b 6f 70 74 69 6d 69 7a 61 ve.class.......2.b.....+optimiza
d960 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 tion/gradientBasedMethods/Object
d980 69 76 65 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 0d 66 75 6e 63 ive......java/lang/Object...func
d9a0 74 69 6f 6e 43 61 6c 6c 73 01 00 01 49 01 00 0d 67 72 61 64 69 65 6e 74 43 61 6c 6c 73 01 00 0b tionCalls...I...gradientCalls...
d9c0 75 70 64 61 74 65 43 61 6c 6c 73 01 00 0a 70 61 72 61 6d 65 74 65 72 73 01 00 02 5b 44 01 00 08 updateCalls...parameters...[D...
d9e0 67 72 61 64 69 65 6e 74 01 00 0a 64 65 62 75 67 4c 65 76 65 6c 01 00 06 3c 69 6e 69 74 3e 01 00 gradient...debugLevel...<init>..
da00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 11 0c 00 0d 00 0e 09 00 01 00 13 0c 00 05 00 06 09 .()V...Code.....................
da20 00 01 00 15 0c 00 07 00 06 09 00 01 00 17 0c 00 08 00 06 09 00 01 00 19 0c 00 0c 00 06 01 00 0f ................................
da40 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 LineNumberTable...LocalVariableT
da60 61 62 6c 65 01 00 04 74 68 69 73 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 able...this..-Loptimization/grad
da80 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 0d 73 65 ientBasedMethods/Objective;...se
daa0 74 44 65 62 75 67 4c 65 76 65 6c 01 00 04 28 49 29 56 01 00 05 6c 65 76 65 6c 01 00 10 67 65 74 tDebugLevel...(I)V...level...get
dac0 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 01 00 03 28 29 49 09 00 01 00 24 0c 00 09 00 0a 01 00 0c NumParameters...()I....$........
dae0 67 65 74 50 61 72 61 6d 65 74 65 72 01 00 04 28 49 29 44 01 00 05 69 6e 64 65 78 01 00 0d 67 65 getParameter...(I)D...index...ge
db00 74 50 61 72 61 6d 65 74 65 72 73 01 00 04 28 29 5b 44 01 00 0b 67 65 74 47 72 61 64 69 65 6e 74 tParameters...()[D...getGradient
db20 01 00 0c 73 65 74 50 61 72 61 6d 65 74 65 72 01 00 05 28 49 44 29 56 01 00 05 76 61 6c 75 65 01 ...setParameter...(ID)V...value.
db40 00 01 44 01 00 0d 73 65 74 50 61 72 61 6d 65 74 65 72 73 01 00 05 28 5b 44 29 56 0a 00 32 00 34 ..D...setParameters...([D)V..2.4
db60 07 00 33 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 35 00 36 01 00 09 61 72 ..3...java/lang/System..5.6...ar
db80 72 61 79 63 6f 70 79 01 00 2a 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 4c 6a raycopy..*(Ljava/lang/Object;ILj
dba0 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 49 29 56 01 00 06 70 61 72 61 6d 73 01 00 0d ava/lang/Object;II)V...params...
dbc0 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 16 67 65 74 4e 75 6d 62 65 72 46 75 6e 63 74 69 6f StackMapTable...getNumberFunctio
dbe0 6e 43 61 6c 6c 73 01 00 16 67 65 74 4e 75 6d 62 65 72 47 72 61 64 69 65 6e 74 43 61 6c 6c 73 01 nCalls...getNumberGradientCalls.
dc00 00 0f 66 69 6e 61 6c 49 6e 66 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 ..finalInfoString...()Ljava/lang
dc20 2f 53 74 72 69 6e 67 3b 07 00 3e 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 /String;..>...java/lang/StringBu
dc40 69 6c 64 65 72 08 00 40 01 00 04 46 45 3a 20 0a 00 3d 00 42 0c 00 0d 00 43 01 00 15 28 4c 6a 61 ilder..@...FE:...=.B....C...(Lja
dc60 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 3d 00 45 0c 00 46 00 47 01 00 06 61 70 va/lang/String;)V..=.E..F.G...ap
dc80 70 65 6e 64 01 00 1c 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 pend...(I)Ljava/lang/StringBuild
dca0 65 72 3b 08 00 49 01 00 04 20 47 45 20 0a 00 3d 00 4b 0c 00 46 00 4c 01 00 2d 28 4c 6a 61 76 61 er;..I....GE...=.K..F.L..-(Ljava
dcc0 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 /lang/String;)Ljava/lang/StringB
dce0 75 69 6c 64 65 72 3b 08 00 4e 01 00 0f 20 50 61 72 61 6d 73 20 75 70 64 61 74 65 73 0a 00 3d 00 uilder;..N....Params.updates..=.
dd00 50 0c 00 51 00 3c 01 00 08 74 6f 53 74 72 69 6e 67 01 00 0f 70 72 69 6e 74 50 61 72 61 6d 65 74 P..Q.<...toString...printParamet
dd20 65 72 73 09 00 32 00 54 0c 00 55 00 56 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 ers..2.T..U.V...out...Ljava/io/P
dd40 72 69 6e 74 53 74 72 65 61 6d 3b 0a 00 01 00 50 0a 00 59 00 5b 07 00 5a 01 00 13 6a 61 76 61 2f rintStream;....P..Y.[..Z...java/
dd60 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 5c 00 43 01 00 07 70 72 69 6e 74 6c 6e 01 00 08 io/PrintStream..\.C...println...
dd80 67 65 74 56 61 6c 75 65 01 00 03 28 29 44 01 00 14 73 65 74 49 6e 69 74 69 61 6c 50 61 72 61 6d getValue...()D...setInitialParam
dda0 65 74 65 72 73 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0e 4f 62 6a 65 63 74 69 76 65 2e 6a eters...SourceFile...Objective.j
ddc0 61 76 61 04 21 00 01 00 03 00 00 00 06 00 04 00 05 00 06 00 00 00 04 00 07 00 06 00 00 00 04 00 ava.!...........................
dde0 08 00 06 00 00 00 04 00 09 00 0a 00 00 00 01 00 0b 00 0a 00 00 00 00 00 0c 00 06 00 00 00 0f 00 ................................
de00 01 00 0d 00 0e 00 01 00 0f 00 00 00 57 00 02 00 01 00 00 00 19 2a b7 00 10 2a 03 b5 00 12 2a 03 ............W........*...*....*.
de20 b5 00 14 2a 03 b5 00 16 2a 03 b5 00 18 b1 00 00 00 02 00 1a 00 00 00 1a 00 06 00 00 00 0b 00 04 ...*....*.......................
de40 00 0d 00 09 00 0e 00 0e 00 0f 00 13 00 15 00 18 00 0b 00 1b 00 00 00 0c 00 01 00 00 00 19 00 1c ................................
de60 00 1d 00 00 00 01 00 1e 00 1f 00 01 00 0f 00 00 00 3e 00 02 00 02 00 00 00 06 2a 1b b5 00 18 b1 .................>........*.....
de80 00 00 00 02 00 1a 00 00 00 0a 00 02 00 00 00 18 00 05 00 19 00 1b 00 00 00 16 00 02 00 00 00 06 ................................
dea0 00 1c 00 1d 00 00 00 00 00 06 00 20 00 06 00 01 00 01 00 21 00 22 00 01 00 0f 00 00 00 30 00 01 ...................!.".......0..
dec0 00 01 00 00 00 06 2a b4 00 23 be ac 00 00 00 02 00 1a 00 00 00 06 00 01 00 00 00 1c 00 1b 00 00 ......*..#......................
dee0 00 0c 00 01 00 00 00 06 00 1c 00 1d 00 00 00 01 00 25 00 26 00 01 00 0f 00 00 00 3b 00 02 00 02 .................%.&.......;....
df00 00 00 00 07 2a b4 00 23 1b 31 af 00 00 00 02 00 1a 00 00 00 06 00 01 00 00 00 20 00 1b 00 00 00 ....*..#.1......................
df20 16 00 02 00 00 00 07 00 1c 00 1d 00 00 00 00 00 07 00 27 00 06 00 01 00 01 00 28 00 29 00 01 00 ..................'.......(.)...
df40 0f 00 00 00 2f 00 01 00 01 00 00 00 05 2a b4 00 23 b0 00 00 00 02 00 1a 00 00 00 06 00 01 00 00 ..../........*..#...............
df60 00 24 00 1b 00 00 00 0c 00 01 00 00 00 05 00 1c 00 1d 00 00 04 01 00 2a 00 29 00 00 00 01 00 2b .$.....................*.).....+
df80 00 2c 00 01 00 0f 00 00 00 4a 00 04 00 04 00 00 00 08 2a b4 00 23 1b 28 52 b1 00 00 00 02 00 1a .,.......J........*..#.(R.......
dfa0 00 00 00 0a 00 02 00 00 00 2a 00 07 00 2b 00 1b 00 00 00 20 00 03 00 00 00 08 00 1c 00 1d 00 00 .........*...+..................
dfc0 00 00 00 08 00 27 00 06 00 01 00 00 00 08 00 2d 00 2e 00 02 00 01 00 2f 00 30 00 01 00 0f 00 00 .....'.........-......./.0......
dfe0 00 73 00 05 00 02 00 00 00 26 2a b4 00 23 c7 00 0b 2a 2b be bc 07 b5 00 23 2a 59 b4 00 16 04 60 .s.......&*..#...*+.....#*Y....`
e000 b5 00 16 2b 03 2a b4 00 23 03 2b be b8 00 31 b1 00 00 00 03 00 1a 00 00 00 16 00 05 00 00 00 2e ...+.*..#.+...1.................
e020 00 07 00 2f 00 0f 00 31 00 19 00 32 00 25 00 33 00 1b 00 00 00 16 00 02 00 00 00 26 00 1c 00 1d .../...1...2.%.3...........&....
e040 00 00 00 00 00 26 00 37 00 0a 00 01 00 38 00 00 00 03 00 01 0f 00 01 00 39 00 22 00 01 00 0f 00 .....&.7.....8..........9.".....
e060 00 00 2f 00 01 00 01 00 00 00 05 2a b4 00 12 ac 00 00 00 02 00 1a 00 00 00 06 00 01 00 00 00 37 ../........*...................7
e080 00 1b 00 00 00 0c 00 01 00 00 00 05 00 1c 00 1d 00 00 00 01 00 3a 00 22 00 01 00 0f 00 00 00 2f .....................:."......./
e0a0 00 01 00 01 00 00 00 05 2a b4 00 14 ac 00 00 00 02 00 1a 00 00 00 06 00 01 00 00 00 3b 00 1b 00 ........*...................;...
e0c0 00 00 0c 00 01 00 00 00 05 00 1c 00 1d 00 00 00 01 00 3b 00 3c 00 01 00 0f 00 00 00 5e 00 03 00 ..................;.<.......^...
e0e0 01 00 00 00 2c bb 00 3d 59 12 3f b7 00 41 2a b4 00 12 b6 00 44 12 48 b6 00 4a 2a b4 00 14 b6 00 ....,..=Y.?..A*.....D.H..J*.....
e100 44 12 4d b6 00 4a 2a b4 00 16 b6 00 44 b6 00 4f b0 00 00 00 02 00 1a 00 00 00 0e 00 03 00 00 00 D.M..J*.....D..O................
e120 3f 00 21 00 40 00 28 00 3f 00 1b 00 00 00 0c 00 01 00 00 00 2c 00 1c 00 1d 00 00 00 01 00 52 00 ?.!.@.(.?...........,.........R.
e140 0e 00 01 00 0f 00 00 00 39 00 02 00 01 00 00 00 0b b2 00 53 2a b6 00 57 b6 00 58 b1 00 00 00 02 ........9..........S*..W..X.....
e160 00 1a 00 00 00 0a 00 02 00 00 00 43 00 0a 00 44 00 1b 00 00 00 0c 00 01 00 00 00 0b 00 1c 00 1d ...........C...D................
e180 00 00 04 01 00 51 00 3c 00 00 04 01 00 5d 00 5e 00 00 00 01 00 5f 00 30 00 01 00 0f 00 00 00 3e .....Q.<.....].^....._.0.......>
e1a0 00 02 00 02 00 00 00 06 2a 2b b5 00 23 b1 00 00 00 02 00 1a 00 00 00 0a 00 02 00 00 00 50 00 05 ........*+..#................P..
e1c0 00 51 00 1b 00 00 00 16 00 02 00 00 00 06 00 1c 00 1d 00 00 00 00 00 06 00 37 00 0a 00 01 00 01 .Q.......................7......
e1e0 00 60 00 00 00 02 00 61 50 4b 03 04 0a 00 00 00 00 00 b1 69 d6 3c ec 5d ff 97 a0 06 00 00 a0 06 .`.....aPK.........i.<.]........
e200 00 00 30 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 ..0...optimization/gradientBased
e220 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 Methods/Objective.javapackage.op
e240 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 3b timization.gradientBasedMethods;
e260 0a 0a 0a 2f 2a 2a 0a 20 2a 20 44 65 66 69 6e 65 73 20 61 6e 20 6f 70 74 69 6d 69 7a 61 74 69 6f .../**..*.Defines.an.optimizatio
e280 6e 20 6f 62 6a 65 63 74 69 76 65 3a 0a 20 2a 20 0a 20 2a 20 0a 20 2a 20 40 61 75 74 68 6f 72 20 n.objective:..*...*...*.@author.
e2a0 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 20 63 6c 61 javg..*..*/.public.abstract..cla
e2c0 73 73 20 4f 62 6a 65 63 74 69 76 65 20 7b 0a 0a 09 70 72 6f 74 65 63 74 65 64 20 69 6e 74 20 66 ss.Objective.{...protected.int.f
e2e0 75 6e 63 74 69 6f 6e 43 61 6c 6c 73 20 3d 20 30 3b 0a 09 70 72 6f 74 65 63 74 65 64 20 69 6e 74 unctionCalls.=.0;..protected.int
e300 20 67 72 61 64 69 65 6e 74 43 61 6c 6c 73 20 3d 20 30 3b 0a 09 70 72 6f 74 65 63 74 65 64 20 69 .gradientCalls.=.0;..protected.i
e320 6e 74 20 75 70 64 61 74 65 43 61 6c 6c 73 20 3d 20 30 3b 0a 09 0a 09 70 72 6f 74 65 63 74 65 64 nt.updateCalls.=.0;....protected
e340 20 64 6f 75 62 6c 65 5b 5d 20 70 61 72 61 6d 65 74 65 72 73 3b 0a 09 0a 09 2f 2f 43 6f 6e 74 61 .double[].parameters;....//Conta
e360 69 6e 73 20 61 20 63 61 63 68 65 20 77 69 74 68 20 74 68 65 20 67 72 61 64 69 65 6e 74 0a 09 70 ins.a.cache.with.the.gradient..p
e380 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 67 72 61 64 69 65 6e 74 3b 0a 09 69 6e 74 20 64 65 ublic.double[].gradient;..int.de
e3a0 62 75 67 4c 65 76 65 6c 20 3d 20 30 3b 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 65 74 bugLevel.=.0;....public.void.set
e3c0 44 65 62 75 67 4c 65 76 65 6c 28 69 6e 74 20 6c 65 76 65 6c 29 7b 0a 09 09 64 65 62 75 67 4c 65 DebugLevel(int.level){...debugLe
e3e0 76 65 6c 20 3d 20 6c 65 76 65 6c 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 69 6e 74 20 67 65 vel.=.level;..}....public.int.ge
e400 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 70 61 72 61 tNumParameters().{...return.para
e420 6d 65 74 65 72 73 2e 6c 65 6e 67 74 68 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c meters.length;..}...public.doubl
e440 65 20 67 65 74 50 61 72 61 6d 65 74 65 72 28 69 6e 74 20 69 6e 64 65 78 29 20 7b 0a 09 09 72 65 e.getParameter(int.index).{...re
e460 74 75 72 6e 20 70 61 72 61 6d 65 74 65 72 73 5b 69 6e 64 65 78 5d 3b 0a 09 7d 0a 0a 09 70 75 62 turn.parameters[index];..}...pub
e480 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 20 7b 0a 09 lic.double[].getParameters().{..
e4a0 09 72 65 74 75 72 6e 20 70 61 72 61 6d 65 74 65 72 73 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 .return.parameters;..}...public.
e4c0 61 62 73 74 72 61 63 74 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 47 72 61 64 69 65 6e 74 28 20 29 abstract.double[].getGradient(.)
e4e0 3b 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 65 74 50 61 72 61 6d 65 74 65 72 28 69 6e ;....public.void.setParameter(in
e500 74 20 69 6e 64 65 78 2c 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 29 20 7b 0a 09 09 70 61 72 61 6d t.index,.double.value).{...param
e520 65 74 65 72 73 5b 69 6e 64 65 78 5d 3d 76 61 6c 75 65 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 eters[index]=value;..}...public.
e540 76 6f 69 64 20 73 65 74 50 61 72 61 6d 65 74 65 72 73 28 64 6f 75 62 6c 65 5b 5d 20 70 61 72 61 void.setParameters(double[].para
e560 6d 73 29 20 7b 0a 09 09 69 66 28 70 61 72 61 6d 65 74 65 72 73 20 3d 3d 20 6e 75 6c 6c 29 7b 0a ms).{...if(parameters.==.null){.
e580 09 09 09 70 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 70 61 72 61 6d ...parameters.=.new.double[param
e5a0 73 2e 6c 65 6e 67 74 68 5d 3b 0a 09 09 7d 0a 09 09 75 70 64 61 74 65 43 61 6c 6c 73 2b 2b 3b 0a s.length];...}...updateCalls++;.
e5c0 09 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 70 61 72 61 6d 73 2c 20 30 2c 20 70 61 ..System.arraycopy(params,.0,.pa
e5e0 72 61 6d 65 74 65 72 73 2c 20 30 2c 20 70 61 72 61 6d 73 2e 6c 65 6e 67 74 68 29 3b 0a 09 7d 0a rameters,.0,.params.length);..}.
e600 0a 09 0a 09 70 75 62 6c 69 63 20 69 6e 74 20 67 65 74 4e 75 6d 62 65 72 46 75 6e 63 74 69 6f 6e ....public.int.getNumberFunction
e620 43 61 6c 6c 73 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 43 61 6c 6c 73 Calls().{...return.functionCalls
e640 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 69 6e 74 20 67 65 74 4e 75 6d 62 65 72 47 72 61 64 69 ;..}...public.int.getNumberGradi
e660 65 6e 74 43 61 6c 6c 73 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 67 72 61 64 69 65 6e 74 43 61 entCalls().{...return.gradientCa
e680 6c 6c 73 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 53 74 72 69 6e 67 20 66 69 6e 61 6c 49 6e lls;..}....public.String.finalIn
e6a0 66 6f 53 74 72 69 6e 67 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 22 46 45 3a 20 22 20 2b 20 66 foString().{...return."FE:.".+.f
e6c0 75 6e 63 74 69 6f 6e 43 61 6c 6c 73 20 2b 20 22 20 47 45 20 22 20 2b 20 67 72 61 64 69 65 6e 74 unctionCalls.+.".GE.".+.gradient
e6e0 43 61 6c 6c 73 20 2b 20 22 20 50 61 72 61 6d 73 20 75 70 64 61 74 65 73 22 20 2b 0a 09 09 75 70 Calls.+.".Params.updates".+...up
e700 64 61 74 65 43 61 6c 6c 73 3b 0a 09 7d 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 70 72 69 6e 74 dateCalls;..}..public.void.print
e720 50 61 72 61 6d 65 74 65 72 73 28 29 20 7b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e Parameters().{...System.out.prin
e740 74 6c 6e 28 74 6f 53 74 72 69 6e 67 28 29 29 3b 0a 09 7d 09 0a 09 0a 09 70 75 62 6c 69 63 20 61 tln(toString());..}.....public.a
e760 62 73 74 72 61 63 74 20 53 74 72 69 6e 67 20 74 6f 53 74 72 69 6e 67 28 29 3b 09 0a 09 70 75 62 bstract.String.toString();...pub
e780 6c 69 63 20 61 62 73 74 72 61 63 74 20 64 6f 75 62 6c 65 20 67 65 74 56 61 6c 75 65 20 28 29 3b lic.abstract.double.getValue.();
e7a0 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 53 65 74 73 20 74 68 65 20 69 6e 69 74 69 61 6c 20 6f 62 6a ..../**...*.Sets.the.initial.obj
e7c0 65 63 74 69 76 65 20 70 61 72 61 6d 65 74 65 72 73 0a 09 20 2a 20 46 6f 72 20 75 6e 63 6f 6e 73 ective.parameters...*.For.uncons
e7e0 74 72 61 69 6e 65 64 20 6d 6f 64 65 6c 73 20 74 68 69 73 20 6a 75 73 74 20 73 65 74 73 20 74 68 trained.models.this.just.sets.th
e800 65 20 6f 62 6a 65 63 74 69 76 65 20 70 61 72 61 6d 73 20 3d 20 61 72 67 75 6d 65 6e 74 20 6e 6f e.objective.params.=.argument.no
e820 20 63 6f 70 79 69 6e 67 0a 09 20 2a 20 46 6f 72 20 61 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 6f .copying...*.For.a.constrained.o
e840 62 6a 65 63 74 69 76 65 20 70 72 6f 6a 65 63 74 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 bjective.project.the.parameters.
e860 61 6e 64 20 74 68 65 6e 20 73 65 74 0a 09 20 2a 20 40 70 61 72 61 6d 20 70 61 72 61 6d 73 0a 09 and.then.set...*.@param.params..
e880 20 2a 2f 0a 09 70 75 62 6c 69 63 20 20 76 6f 69 64 20 73 65 74 49 6e 69 74 69 61 6c 50 61 72 61 .*/..public..void.setInitialPara
e8a0 6d 65 74 65 72 73 28 64 6f 75 62 6c 65 5b 5d 20 70 61 72 61 6d 73 29 7b 0a 09 09 70 61 72 61 6d meters(double[].params){...param
e8c0 65 74 65 72 73 20 3d 20 70 61 72 61 6d 73 3b 0a 09 7d 0a 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 eters.=.params;..}..}.PK........
e8e0 96 59 e5 3c 75 f3 42 e2 3a 09 00 00 3a 09 00 00 39 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e .Y.<u.B.:...:...9...optimization
e900 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 43 6f 6e 6a 75 67 61 74 65 47 /gradientBasedMethods/ConjugateG
e920 72 61 64 69 65 6e 74 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 71 07 00 02 01 00 33 6f 70 74 radient.class.......2.q.....3opt
e940 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 43 imization/gradientBasedMethods/C
e960 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 07 00 04 01 00 3c 6f 70 74 69 6d 69 7a 61 74 69 onjugateGradient.....<optimizati
e980 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 41 62 73 74 72 61 63 74 on/gradientBasedMethods/Abstract
e9a0 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 01 00 10 70 72 65 76 69 6f 75 73 47 72 61 GradientBaseMethod...previousGra
e9c0 64 69 65 6e 74 01 00 02 5b 44 01 00 11 70 72 65 76 69 6f 75 73 44 69 72 65 63 74 69 6f 6e 01 00 dient...[D...previousDirection..
e9e0 06 3c 69 6e 69 74 3e 01 00 2d 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 .<init>..-(Loptimization/linesea
ea00 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 29 56 01 00 04 43 6f 64 65 0a 00 rch/LineSearchMethod;)V...Code..
ea20 03 00 0c 0c 00 08 00 0d 01 00 03 28 29 56 09 00 01 00 0f 0c 00 10 00 11 01 00 0a 6c 69 6e 65 53 ...........()V.............lineS
ea40 65 61 72 63 68 01 00 2a 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 earch..*Loptimization/linesearch
ea60 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 /LineSearchMethod;...LineNumberT
ea80 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 able...LocalVariableTable...this
eaa0 01 00 35 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 ..5Loptimization/gradientBasedMe
eac0 74 68 6f 64 73 2f 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 3b 01 00 05 72 65 73 65 74 thods/ConjugateGradient;...reset
eae0 0a 00 03 00 18 0c 00 16 00 0d 09 00 01 00 1a 0c 00 07 00 06 0a 00 1c 00 1e 07 00 1d 01 00 10 6a ...............................j
eb00 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 73 0c 00 1f 00 20 01 00 04 66 69 6c 6c 01 00 06 28 5b ava/util/Arrays........fill...([
eb20 44 44 29 56 09 00 01 00 22 0c 00 05 00 06 01 00 14 69 6e 69 74 69 61 6c 69 7a 65 53 74 72 75 63 DD)V...."........initializeStruc
eb40 74 75 72 65 73 01 00 93 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 tures...(Loptimization/gradientB
eb60 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a 61 74 asedMethods/Objective;Loptimizat
eb80 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f ion/gradientBasedMethods/stats/O
eba0 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 ptimizerStats;Loptimization/stop
ebc0 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 56 0a 00 03 00 26 Criteria/StopingCriteria;)V....&
ebe0 0c 00 23 00 24 0a 00 28 00 2a 07 00 29 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 ..#.$..(.*..)..+optimization/gra
ec00 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 0c 00 2b 00 2c dientBasedMethods/Objective..+.,
ec20 01 00 10 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 01 00 03 28 29 49 01 00 01 6f 01 00 2d ...getNumParameters...()I...o..-
ec40 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f Loptimization/gradientBasedMetho
ec60 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 05 73 74 61 74 73 01 00 38 4c 6f 70 74 69 6d 69 7a ds/Objective;...stats..8Loptimiz
ec80 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 ation/gradientBasedMethods/stats
eca0 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 01 00 04 73 74 6f 70 01 00 2b 4c 6f 70 74 69 6d /OptimizerStats;...stop..+Loptim
ecc0 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 ization/stopCriteria/StopingCrit
ece0 65 72 69 61 3b 01 00 1a 75 70 64 61 74 65 53 74 72 75 63 74 75 72 65 73 42 65 66 6f 72 65 53 74 eria;...updateStructuresBeforeSt
ed00 65 70 09 00 01 00 35 0c 00 36 00 06 01 00 08 67 72 61 64 69 65 6e 74 0a 00 38 00 3a 07 00 39 01 ep....5..6.....gradient..8.:..9.
ed20 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 3b 00 3c 01 00 09 61 72 72 61 79 63 ..java/lang/System..;.<...arrayc
ed40 6f 70 79 01 00 2a 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 4c 6a 61 76 61 2f opy..*(Ljava/lang/Object;ILjava/
ed60 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 49 29 56 09 00 01 00 3e 0c 00 3f 00 06 01 00 09 64 69 72 lang/Object;II)V....>..?.....dir
ed80 65 63 74 69 6f 6e 01 00 0c 67 65 74 44 69 72 65 63 74 69 6f 6e 01 00 04 28 29 5b 44 0a 00 43 00 ection...getDirection...()[D..C.
eda0 45 07 00 44 01 00 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 E..D...optimization/util/MathUti
edc0 6c 73 0c 00 46 00 47 01 00 08 6e 65 67 61 74 69 6f 6e 01 00 06 28 5b 44 29 5b 44 09 00 01 00 49 ls..F.G...negation...([D)[D....I
ede0 0c 00 4a 00 4b 01 00 1a 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 ..J.K...currentProjectionIterati
ee00 6f 6e 01 00 01 49 0a 00 43 00 4d 0c 00 4e 00 4f 01 00 0a 61 72 72 61 79 4d 69 6e 75 73 01 00 08 on...I..C.M..N.O...arrayMinus...
ee20 28 5b 44 5b 44 29 5b 44 0a 00 43 00 51 0c 00 52 00 53 01 00 0a 64 6f 74 50 72 6f 64 75 63 74 01 ([D[D)[D..C.Q..R.S...dotProduct.
ee40 00 07 28 5b 44 5b 44 29 44 09 00 38 00 55 0c 00 56 00 57 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 ..([D[D)D..8.U..V.W...out...Ljav
ee60 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 08 00 59 01 00 1e 44 65 66 61 75 6c 74 69 6e a/io/PrintStream;..Y...Defaultin
ee80 67 20 74 6f 20 67 72 61 64 69 65 6e 74 20 64 65 73 63 65 6e 74 0a 00 5b 00 5d 07 00 5c 01 00 13 g.to.gradient.descent..[.]..\...
eea0 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 5e 00 5f 01 00 07 70 72 69 6e 74 java/io/PrintStream..^._...print
eec0 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 61 00 63 07 ln...(Ljava/lang/String;)V..a.c.
eee0 00 62 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 68 0c 00 64 00 65 01 00 03 6d 61 78 01 00 .b...java/lang/Math..d.e...max..
ef00 05 28 44 44 29 44 0a 00 43 00 67 0c 00 68 00 69 01 00 0a 70 6c 75 73 45 71 75 61 6c 73 01 00 08 .(DD)D..C.g..h.i...plusEquals...
ef20 28 5b 44 5b 44 44 29 56 08 00 6b 01 00 2c 4e 6f 74 20 61 6e 20 64 65 73 63 65 6e 74 20 64 69 72 ([D[DD)V..k..,Not.an.descent.dir
ef40 65 63 74 69 6f 6e 20 72 65 73 65 74 69 6e 67 20 74 6f 20 67 72 61 64 69 65 6e 01 00 01 62 01 00 ection.reseting.to.gradien...b..
ef60 01 44 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 .D...StackMapTable...SourceFile.
ef80 00 16 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 2e 6a 61 76 61 00 21 00 01 00 03 00 00 ..ConjugateGradient.java.!......
efa0 00 02 00 00 00 05 00 06 00 00 00 00 00 07 00 06 00 00 00 05 00 01 00 08 00 09 00 01 00 0a 00 00 ................................
efc0 00 46 00 02 00 02 00 00 00 0a 2a b7 00 0b 2a 2b b5 00 0e b1 00 00 00 02 00 12 00 00 00 0e 00 03 .F........*...*+................
efe0 00 00 00 11 00 04 00 12 00 09 00 13 00 13 00 00 00 16 00 02 00 00 00 0a 00 14 00 15 00 00 00 00 ................................
f000 00 0a 00 10 00 11 00 01 00 01 00 16 00 0d 00 01 00 0a 00 00 00 4b 00 03 00 01 00 00 00 15 2a b7 .....................K........*.
f020 00 17 2a b4 00 19 0e b8 00 1b 2a b4 00 21 0e b8 00 1b b1 00 00 00 02 00 12 00 00 00 12 00 04 00 ..*.......*..!..................
f040 00 00 16 00 04 00 17 00 0c 00 18 00 14 00 19 00 13 00 00 00 0c 00 01 00 00 00 15 00 14 00 15 00 ................................
f060 00 00 01 00 23 00 24 00 01 00 0a 00 00 00 70 00 04 00 04 00 00 00 1c 2a 2b 2c 2d b7 00 25 2a 2b ....#.$.......p........*+,-..%*+
f080 b6 00 27 bc 07 b5 00 21 2a 2b b6 00 27 bc 07 b5 00 19 b1 00 00 00 02 00 12 00 00 00 12 00 04 00 ..'....!*+..'...................
f0a0 00 00 1c 00 07 00 1d 00 11 00 1e 00 1b 00 1f 00 13 00 00 00 2a 00 04 00 00 00 1c 00 14 00 15 00 ....................*...........
f0c0 00 00 00 00 1c 00 2d 00 2e 00 01 00 00 00 1c 00 2f 00 30 00 02 00 00 00 1c 00 31 00 32 00 03 00 ......-........./.0.......1.2...
f0e0 01 00 33 00 24 00 01 00 0a 00 00 00 75 00 05 00 04 00 00 00 25 2a b4 00 34 03 2a b4 00 21 03 2a ..3.$.......u.......%*..4.*..!.*
f100 b4 00 34 be b8 00 37 2a b4 00 3d 03 2a b4 00 19 03 2a b4 00 3d be b8 00 37 b1 00 00 00 02 00 12 ..4...7*..=.*....*..=...7.......
f120 00 00 00 0e 00 03 00 00 00 21 00 12 00 22 00 24 00 23 00 13 00 00 00 2a 00 04 00 00 00 25 00 14 .........!...".$.#.....*.....%..
f140 00 15 00 00 00 00 00 25 00 2d 00 2e 00 01 00 00 00 25 00 2f 00 30 00 02 00 00 00 25 00 31 00 32 .......%.-.......%./.0.....%.1.2
f160 00 03 00 01 00 40 00 41 00 01 00 0a 00 00 00 ed 00 04 00 03 00 00 00 7a 2a 2a b4 00 34 b8 00 42 .....@.A...............z**..4..B
f180 b5 00 3d 2a b4 00 48 04 9f 00 65 2a b4 00 34 2a b4 00 34 2a b4 00 21 b8 00 4c b8 00 50 2a b4 00 ..=*..H...e*..4*..4*..!..L..P*..
f1a0 21 2a b4 00 21 b8 00 50 6f 48 27 0e 98 9c 00 11 b2 00 54 12 58 b6 00 5a 27 0e b8 00 60 48 2a b4 !*..!..PoH'.......T.X..Z'...`H*.
f1c0 00 3d 2a b4 00 19 27 b8 00 66 2a b4 00 3d 2a b4 00 34 b8 00 50 0e 97 9e 00 16 b2 00 54 12 6a b6 .=*...'..f*..=*..4..P.......T.j.
f1e0 00 5a 2a 2a b4 00 34 b8 00 42 b5 00 3d 2a b4 00 3d b0 00 00 00 03 00 12 00 00 00 36 00 0d 00 00 .Z**..4..B..=*..=..........6....
f200 00 44 00 0b 00 45 00 13 00 47 00 25 00 48 00 30 00 47 00 32 00 49 00 38 00 4a 00 40 00 4b 00 46 .D...E...G.%.H.0.G.2.I.8.J.@.K.F
f220 00 4d 00 52 00 4f 00 62 00 50 00 6a 00 51 00 75 00 54 00 13 00 00 00 16 00 02 00 00 00 7a 00 14 .M.R.O.b.P.j.Q.u.T...........z..
f240 00 15 00 00 00 32 00 43 00 6c 00 6d 00 01 00 6e 00 00 00 09 00 02 fc 00 46 03 fa 00 2e 00 01 00 .....2.C.l.m...n........F.......
f260 6f 00 00 00 02 00 70 50 4b 03 04 0a 00 00 00 00 00 b1 69 d6 3c c7 61 90 bf 85 0b 00 00 85 0b 00 o.....pPK.........i.<.a.........
f280 00 38 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d .8...optimization/gradientBasedM
f2a0 65 74 68 6f 64 73 2f 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 2e 6a 61 76 61 70 61 63 ethods/ConjugateGradient.javapac
f2c0 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d kage.optimization.gradientBasedM
f2e0 65 74 68 6f 64 73 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 ethods;..import.optimization.gra
f300 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 73 74 61 74 73 2e 4f 70 74 69 6d 69 7a 65 dientBasedMethods.stats.Optimize
f320 72 53 74 61 74 73 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 rStats;.import.optimization.line
f340 73 65 61 72 63 68 2e 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f search.DifferentiableLineSearchO
f360 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 bjective;.import.optimization.li
f380 6e 65 73 65 61 72 63 68 2e 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 0a 69 6d 70 6f 72 nesearch.LineSearchMethod;.impor
f3a0 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 2e 53 74 6f 70 t.optimization.stopCriteria.Stop
f3c0 69 6e 67 43 72 69 74 65 72 69 61 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ingCriteria;.import.optimization
f3e0 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 0a 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 .util.MathUtils;....public.class
f400 20 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 .ConjugateGradient.extends.Abstr
f420 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 7b 0a 09 0a 09 0a 09 64 6f 75 62 actGradientBaseMethod{......doub
f440 6c 65 5b 5d 20 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 3b 0a 09 64 6f 75 62 6c 65 5b 5d le[].previousGradient;..double[]
f460 20 70 72 65 76 69 6f 75 73 44 69 72 65 63 74 69 6f 6e 3b 0a 0a 09 70 75 62 6c 69 63 20 43 6f 6e .previousDirection;...public.Con
f480 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 28 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 jugateGradient(LineSearchMethod.
f4a0 6c 69 6e 65 53 65 61 72 63 68 29 20 7b 0a 09 09 74 68 69 73 2e 6c 69 6e 65 53 65 61 72 63 68 20 lineSearch).{...this.lineSearch.
f4c0 3d 20 6c 69 6e 65 53 65 61 72 63 68 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 =.lineSearch;..}....public.void.
f4e0 72 65 73 65 74 28 29 7b 0a 09 09 73 75 70 65 72 2e 72 65 73 65 74 28 29 3b 0a 09 09 6a 61 76 61 reset(){...super.reset();...java
f500 2e 75 74 69 6c 2e 41 72 72 61 79 73 2e 66 69 6c 6c 28 70 72 65 76 69 6f 75 73 44 69 72 65 63 74 .util.Arrays.fill(previousDirect
f520 69 6f 6e 2c 20 30 29 3b 0a 09 09 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 73 2e 66 69 6c 6c ion,.0);...java.util.Arrays.fill
f540 28 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 2c 20 30 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 (previousGradient,.0);..}....pub
f560 6c 69 63 20 76 6f 69 64 20 69 6e 69 74 69 61 6c 69 7a 65 53 74 72 75 63 74 75 72 65 73 28 4f 62 lic.void.initializeStructures(Ob
f580 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 jective.o,OptimizerStats.stats,.
f5a0 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 29 7b 0a 09 09 73 75 70 65 72 2e 69 StopingCriteria.stop){...super.i
f5c0 6e 69 74 69 61 6c 69 7a 65 53 74 72 75 63 74 75 72 65 73 28 6f 2c 20 73 74 61 74 73 2c 20 73 74 nitializeStructures(o,.stats,.st
f5e0 6f 70 29 3b 0a 09 09 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 20 3d 20 6e 65 77 20 64 6f op);...previousGradient.=.new.do
f600 75 62 6c 65 5b 6f 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 09 09 70 72 uble[o.getNumParameters()];...pr
f620 65 76 69 6f 75 73 44 69 72 65 63 74 69 6f 6e 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 eviousDirection.=.new.double[o.g
f640 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 09 7d 0a 09 70 75 62 6c 69 63 20 76 etNumParameters()];..}..public.v
f660 6f 69 64 20 75 70 64 61 74 65 53 74 72 75 63 74 75 72 65 73 42 65 66 6f 72 65 53 74 65 70 28 4f oid.updateStructuresBeforeStep(O
f680 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c bjective.o,OptimizerStats.stats,
f6a0 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 29 7b 0a 09 09 53 79 73 74 65 6d .StopingCriteria.stop){...System
f6c0 2e 61 72 72 61 79 63 6f 70 79 28 67 72 61 64 69 65 6e 74 2c 20 30 2c 20 70 72 65 76 69 6f 75 73 .arraycopy(gradient,.0,.previous
f6e0 47 72 61 64 69 65 6e 74 2c 20 30 2c 20 67 72 61 64 69 65 6e 74 2e 6c 65 6e 67 74 68 29 3b 0a 09 Gradient,.0,.gradient.length);..
f700 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 64 69 72 65 63 74 69 6f 6e 2c 20 30 2c 20 .System.arraycopy(direction,.0,.
f720 70 72 65 76 69 6f 75 73 44 69 72 65 63 74 69 6f 6e 2c 20 30 2c 20 64 69 72 65 63 74 69 6f 6e 2e previousDirection,.0,.direction.
f740 6c 65 6e 67 74 68 29 3b 09 0a 09 7d 0a 09 0a 2f 2f 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e length);...}...//.public.boolean
f760 20 6f 70 74 69 6d 69 7a 65 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 .optimize(Objective.o,OptimizerS
f780 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 tats.stats,.StopingCriteria.stop
f7a0 29 7b 0a 2f 2f 09 09 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f ){.//..DifferentiableLineSearchO
f7c0 62 6a 65 63 74 69 76 65 20 6c 73 6f 20 3d 20 6e 65 77 20 44 69 66 66 65 72 65 6e 74 69 61 62 6c bjective.lso.=.new.Differentiabl
f7e0 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 28 6f 29 3b 0a 2f 2f 09 09 73 74 61 eLineSearchObjective(o);.//..sta
f800 74 73 2e 63 6f 6c 6c 65 63 74 49 6e 69 74 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 2f 2f ts.collectInitStats(this,.o);.//
f820 09 09 64 69 72 65 63 74 69 6f 6e 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 65 74 4e 75 ..direction.=.new.double[o.getNu
f840 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 2f 2f 09 09 69 6e 69 74 69 61 6c 69 7a 65 53 74 mParameters()];.//..initializeSt
f860 72 75 63 74 75 72 65 73 28 6f 2c 20 73 74 61 74 73 2c 20 73 74 6f 70 29 3b 0a 2f 2f 09 09 66 6f ructures(o,.stats,.stop);.//..fo
f880 72 20 28 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3d 20 r.(currentProjectionIteration.=.
f8a0 30 3b 20 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3c 20 0;.currentProjectionIteration.<.
f8c0 6d 61 78 4e 75 6d 62 65 72 4f 66 49 74 65 72 61 74 69 6f 6e 73 3b 20 63 75 72 72 65 6e 74 50 72 maxNumberOfIterations;.currentPr
f8e0 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2b 2b 29 7b 0a 2f 2f 09 09 09 70 72 65 76 69 ojectionIteration++){.//...previ
f900 6f 75 73 56 61 6c 75 65 20 3d 20 63 75 72 72 56 61 6c 75 65 3b 0a 2f 2f 09 09 09 63 75 72 72 56 ousValue.=.currValue;.//...currV
f920 61 6c 75 65 20 3d 20 6f 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 2f 2f 09 09 09 67 72 61 64 69 65 alue.=.o.getValue();.//...gradie
f940 6e 74 20 3d 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 3b 0a 2f 2f 09 09 09 69 66 28 73 74 6f nt.=o.getGradient();.//...if(sto
f960 70 2e 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 67 72 61 64 69 65 6e 74 29 29 7b 0a 2f p.stopOptimization(gradient)){./
f980 2f 09 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 69 /....stats.collectFinalStats(thi
f9a0 73 2c 20 6f 29 3b 0a 2f 2f 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 2f 2f 09 09 09 7d s,.o);.//....return.true;.//...}
f9c0 0a 2f 2f 09 09 09 67 65 74 44 69 72 65 63 74 69 6f 6e 28 29 3b 0a 2f 2f 09 09 09 75 70 64 61 74 .//...getDirection();.//...updat
f9e0 65 53 74 72 75 63 74 75 72 65 73 28 6f 2c 20 73 74 61 74 73 2c 20 73 74 6f 70 29 3b 0a 2f 2f 09 eStructures(o,.stats,.stop);.//.
fa00 09 09 6c 73 6f 2e 72 65 73 65 74 28 64 69 72 65 63 74 69 6f 6e 29 3b 0a 2f 2f 09 09 09 73 74 65 ..lso.reset(direction);.//...ste
fa20 70 20 3d 20 6c 69 6e 65 53 65 61 72 63 68 2e 67 65 74 53 74 65 70 53 69 7a 65 28 6c 73 6f 29 3b p.=.lineSearch.getStepSize(lso);
fa40 09 0a 2f 2f 09 09 09 69 66 28 73 74 65 70 3d 3d 2d 31 29 7b 0a 2f 2f 09 09 09 09 53 79 73 74 65 ..//...if(step==-1){.//....Syste
fa60 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 66 69 6e 64 20 61 20 m.out.println("Failed.to.find.a.
fa80 73 74 65 70 20 73 69 7a 65 22 29 3b 0a 2f 2f 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 step.size");.//....System.out.pr
faa0 69 6e 74 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 66 69 6e 64 20 73 74 65 70 22 29 3b 0a 2f 2f intln("Failed.to.find.step");.//
fac0 09 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 69 73 ....stats.collectFinalStats(this
fae0 2c 20 6f 29 3b 0a 2f 2f 09 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 09 0a 2f 2f 09 09 09 ,.o);.//....return.false;..//...
fb00 7d 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 49 74 65 72 61 74 }.//....//...stats.collectIterat
fb20 69 6f 6e 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 2f 2f 09 09 7d 0a 2f 2f 09 09 73 74 61 ionStats(this,.o);.//..}.//..sta
fb40 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a 2f ts.collectFinalStats(this,.o);./
fb60 2f 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 2f 2f 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 /..return.false;.//.}....public.
fb80 64 6f 75 62 6c 65 5b 5d 20 67 65 74 44 69 72 65 63 74 69 6f 6e 28 29 7b 0a 09 09 64 69 72 65 63 double[].getDirection(){...direc
fba0 74 69 6f 6e 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 6e 65 67 61 74 69 6f 6e 28 67 72 61 64 69 65 tion.=.MathUtils.negation(gradie
fbc0 6e 74 29 3b 0a 09 09 69 66 28 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 nt);...if(currentProjectionItera
fbe0 74 69 6f 6e 20 21 3d 20 31 29 7b 0a 09 09 09 2f 2f 55 73 69 6e 67 20 50 6f 6c 61 6b 2d 52 69 62 tion.!=.1){....//Using.Polak-Rib
fc00 69 65 72 65 20 6d 65 74 68 6f 64 20 28 62 6f 6f 6b 20 65 71 75 61 74 69 6f 6e 20 35 2e 34 35 29 iere.method.(book.equation.5.45)
fc20 0a 09 09 09 64 6f 75 62 6c 65 20 62 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 ....double.b.=.MathUtils.dotProd
fc40 75 63 74 28 67 72 61 64 69 65 6e 74 2c 20 4d 61 74 68 55 74 69 6c 73 2e 61 72 72 61 79 4d 69 6e uct(gradient,.MathUtils.arrayMin
fc60 75 73 28 67 72 61 64 69 65 6e 74 2c 20 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 29 29 0a us(gradient,.previousGradient)).
fc80 09 09 09 2f 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 70 72 65 76 69 6f 75 .../MathUtils.dotProduct(previou
fca0 73 47 72 61 64 69 65 6e 74 2c 20 70 72 65 76 69 6f 75 73 47 72 61 64 69 65 6e 74 29 3b 0a 09 09 sGradient,.previousGradient);...
fcc0 09 69 66 28 62 3c 30 29 7b 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e .if(b<0){.....System.out.println
fce0 28 22 44 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 67 72 61 64 69 65 6e 74 20 64 65 73 63 65 6e 74 ("Defaulting.to.gradient.descent
fd00 22 29 3b 0a 09 09 09 09 62 20 3d 20 4d 61 74 68 2e 6d 61 78 28 62 2c 20 30 29 3b 0a 09 09 09 7d ");.....b.=.Math.max(b,.0);....}
fd20 0a 09 09 09 4d 61 74 68 55 74 69 6c 73 2e 70 6c 75 73 45 71 75 61 6c 73 28 64 69 72 65 63 74 69 ....MathUtils.plusEquals(directi
fd40 6f 6e 2c 20 70 72 65 76 69 6f 75 73 44 69 72 65 63 74 69 6f 6e 2c 20 62 29 3b 0a 09 09 09 2f 2f on,.previousDirection,.b);....//
fd60 44 65 62 75 67 20 63 6f 64 65 0a 09 09 09 69 66 28 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 Debug.code....if(MathUtils.dotPr
fd80 6f 64 75 63 74 28 64 69 72 65 63 74 69 6f 6e 2c 20 67 72 61 64 69 65 6e 74 29 20 3e 20 30 29 7b oduct(direction,.gradient).>.0){
fda0 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4e 6f 74 20 61 6e 20 .....System.out.println("Not.an.
fdc0 64 65 73 63 65 6e 74 20 64 69 72 65 63 74 69 6f 6e 20 72 65 73 65 74 69 6e 67 20 74 6f 20 67 72 descent.direction.reseting.to.gr
fde0 61 64 69 65 6e 22 29 3b 0a 09 09 09 09 64 69 72 65 63 74 69 6f 6e 20 3d 20 4d 61 74 68 55 74 69 adien");.....direction.=.MathUti
fe00 6c 73 2e 6e 65 67 61 74 69 6f 6e 28 67 72 61 64 69 65 6e 74 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a ls.negation(gradient);....}...}.
fe20 09 09 72 65 74 75 72 6e 20 64 69 72 65 63 74 69 6f 6e 3b 0a 09 7d 0a 09 0a 09 0a 09 0a 0a 0a 0a ..return.direction;..}..........
fe40 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c aa cc 4e 2d 9e 07 00 00 9e 07 00 00 40 00 00 00 }.PK.........Y.<..N-........@...
fe60 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 optimization/gradientBasedMethod
fe80 73 2f 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 2e 63 6c 61 73 73 s/ProjectedGradientDescent.class
fea0 ca fe ba be 00 00 00 32 00 3b 07 00 02 01 00 3a 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 .......2.;.....:optimization/gra
fec0 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 dientBasedMethods/ProjectedGradi
fee0 65 6e 74 44 65 73 63 65 6e 74 07 00 04 01 00 45 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 entDescent.....Eoptimization/gra
ff00 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 41 62 73 74 72 dientBasedMethods/ProjectedAbstr
ff20 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 01 00 03 6f 62 6a 01 00 36 4c 6f actGradientBaseMethod...obj..6Lo
ff40 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
ff60 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 3b 01 00 06 3c 69 6e 69 74 3e 01 00 2d /ProjectedObjective;...<init>..-
ff80 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 (Loptimization/linesearch/LineSe
ffa0 61 72 63 68 4d 65 74 68 6f 64 3b 29 56 01 00 04 43 6f 64 65 0a 00 03 00 0b 0c 00 07 00 0c 01 00 archMethod;)V...Code............
ffc0 03 28 29 56 09 00 01 00 0e 0c 00 0f 00 10 01 00 0a 6c 69 6e 65 53 65 61 72 63 68 01 00 2a 4c 6f .()V.............lineSearch..*Lo
ffe0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 ptimization/linesearch/LineSearc
10000 68 4d 65 74 68 6f 64 3b 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 hMethod;...LineNumberTable...Loc
10020 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 3c 4c 6f 70 74 69 6d 69 alVariableTable...this..<Loptimi
10040 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a zation/gradientBasedMethods/Proj
10060 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 3b 01 00 14 69 6e 69 74 69 61 6c 69 ectedGradientDescent;...initiali
10080 7a 65 53 74 72 75 63 74 75 72 65 73 01 00 93 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 zeStructures...(Loptimization/gr
100a0 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 adientBasedMethods/Objective;Lop
100c0 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f timization/gradientBasedMethods/
100e0 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 stats/OptimizerStats;Loptimizati
10100 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b on/stopCriteria/StopingCriteria;
10120 29 56 07 00 18 01 00 42 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f )V.....Boptimization/linesearch/
10140 50 72 6f 6a 65 63 74 65 64 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 ProjectedDifferentiableLineSearc
10160 68 4f 62 6a 65 63 74 69 76 65 0a 00 17 00 1a 0c 00 07 00 1b 01 00 30 28 4c 6f 70 74 69 6d 69 7a hObjective............0(Loptimiz
10180 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 ation/gradientBasedMethods/Objec
101a0 74 69 76 65 3b 29 56 09 00 01 00 1d 0c 00 1e 00 1f 01 00 03 6c 73 6f 01 00 3b 4c 6f 70 74 69 6d tive;)V.............lso..;Loptim
101c0 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c ization/linesearch/Differentiabl
101e0 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 01 00 01 6f 01 00 2d 4c 6f 70 74 eLineSearchObjective;...o..-Lopt
10200 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f imization/gradientBasedMethods/O
10220 62 6a 65 63 74 69 76 65 3b 01 00 05 73 74 61 74 73 01 00 38 4c 6f 70 74 69 6d 69 7a 61 74 69 6f bjective;...stats..8Loptimizatio
10240 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 n/gradientBasedMethods/stats/Opt
10260 69 6d 69 7a 65 72 53 74 61 74 73 3b 01 00 04 73 74 6f 70 01 00 2b 4c 6f 70 74 69 6d 69 7a 61 74 imizerStats;...stop..+Loptimizat
10280 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 ion/stopCriteria/StopingCriteria
102a0 3b 01 00 08 6f 70 74 69 6d 69 7a 65 01 00 9c 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 ;...optimize...(Loptimization/gr
102c0 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 adientBasedMethods/ProjectedObje
102e0 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 ctive;Loptimization/gradientBase
10300 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 4c 6f dMethods/stats/OptimizerStats;Lo
10320 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 ptimization/stopCriteria/Stoping
10340 43 72 69 74 65 72 69 61 3b 29 5a 09 00 01 00 29 0c 00 05 00 06 0a 00 03 00 2b 0c 00 26 00 2c 01 Criteria;)Z....).........+..&.,.
10360 00 93 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 ..(Loptimization/gradientBasedMe
10380 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 thods/Objective;Loptimization/gr
103a0 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a adientBasedMethods/stats/Optimiz
103c0 65 72 53 74 61 74 73 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 erStats;Loptimization/stopCriter
103e0 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 5a 01 00 0c 67 65 74 44 69 72 65 63 ia/StopingCriteria;)Z...getDirec
10400 74 69 6f 6e 01 00 04 28 29 5b 44 09 00 01 00 30 0c 00 31 00 32 01 00 09 64 69 72 65 63 74 69 6f tion...()[D....0..1.2...directio
10420 6e 01 00 02 5b 44 09 00 01 00 34 0c 00 35 00 32 01 00 08 67 72 61 64 69 65 6e 74 01 00 01 69 01 n...[D....4..5.2...gradient...i.
10440 00 01 49 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 ..I...StackMapTable...SourceFile
10460 01 00 1d 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 2e 6a 61 76 61 ...ProjectedGradientDescent.java
10480 00 21 00 01 00 03 00 00 00 01 00 00 00 05 00 06 00 00 00 04 00 01 00 07 00 08 00 01 00 09 00 00 .!..............................
104a0 00 46 00 02 00 02 00 00 00 0a 2a b7 00 0a 2a 2b b5 00 0d b1 00 00 00 02 00 11 00 00 00 0e 00 03 .F........*...*+................
104c0 00 00 00 2b 00 04 00 2c 00 09 00 2d 00 12 00 00 00 16 00 02 00 00 00 0a 00 13 00 14 00 00 00 00 ...+...,...-....................
104e0 00 0a 00 0f 00 10 00 01 00 01 00 15 00 16 00 01 00 09 00 00 00 59 00 04 00 04 00 00 00 0d 2a bb .....................Y........*.
10500 00 17 59 2b b7 00 19 b5 00 1c b1 00 00 00 02 00 11 00 00 00 0a 00 02 00 00 00 31 00 0c 00 32 00 ..Y+......................1...2.
10520 12 00 00 00 2a 00 04 00 00 00 0d 00 13 00 14 00 00 00 00 00 0d 00 20 00 21 00 01 00 00 00 0d 00 ....*...................!.......
10540 22 00 23 00 02 00 00 00 0d 00 24 00 25 00 03 00 01 00 26 00 27 00 01 00 09 00 00 00 59 00 04 00 ".#.......$.%.....&.'.......Y...
10560 04 00 00 00 0d 2a 2b b5 00 28 2a 2b 2c 2d b7 00 2a ac 00 00 00 02 00 11 00 00 00 0a 00 02 00 00 .....*+..(*+,-..*...............
10580 00 37 00 05 00 38 00 12 00 00 00 2a 00 04 00 00 00 0d 00 13 00 14 00 00 00 00 00 0d 00 20 00 06 .7...8.....*....................
105a0 00 01 00 00 00 0d 00 22 00 23 00 02 00 00 00 0d 00 24 00 25 00 03 00 01 00 2d 00 2e 00 01 00 09 .......".#.......$.%.....-......
105c0 00 00 00 70 00 04 00 02 00 00 00 23 03 3c a7 00 13 2a b4 00 2f 1b 2a b4 00 33 1b 31 77 52 84 01 ...p.......#.<...*../.*..3.1wR..
105e0 01 1b 2a b4 00 33 be a1 ff ea 2a b4 00 2f b0 00 00 00 03 00 11 00 00 00 12 00 04 00 00 00 3c 00 ..*..3....*../................<.
10600 05 00 3d 00 12 00 3c 00 1e 00 3f 00 12 00 00 00 16 00 02 00 00 00 23 00 13 00 14 00 00 00 02 00 ..=...<...?...........#.........
10620 1c 00 36 00 37 00 01 00 38 00 00 00 07 00 02 fc 00 05 01 0f 00 01 00 39 00 00 00 02 00 3a 50 4b ..6.7...8..............9.....:PK
10640 03 04 0a 00 00 00 00 00 b1 69 d6 3c 80 d8 36 a6 5c 12 00 00 5c 12 00 00 3f 00 00 00 6f 70 74 69 .........i.<..6.\...\...?...opti
10660 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 mization/gradientBasedMethods/Pr
10680 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 2e 6a 61 76 61 70 61 63 6b 61 ojectedGradientDescent.javapacka
106a0 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 ge.optimization.gradientBasedMet
106c0 68 6f 64 73 3b 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 69 6f 2e 49 4f 45 78 63 65 70 74 69 6f hods;..import.java.io.IOExceptio
106e0 6e 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 n;..import.optimization.gradient
10700 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 73 74 61 74 73 2e 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 BasedMethods.stats.OptimizerStat
10720 73 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 s;.import.optimization.linesearc
10740 68 2e 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 h.DifferentiableLineSearchObject
10760 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 ive;.import.optimization.linesea
10780 72 63 68 2e 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 rch.LineSearchMethod;.import.opt
107a0 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 2e 50 72 6f 6a 65 63 74 65 64 44 69 imization.linesearch.ProjectedDi
107c0 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b fferentiableLineSearchObjective;
107e0 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 .import.optimization.stopCriteri
10800 61 2e 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 a.StopingCriteria;.import.optimi
10820 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 0a 0a 2f 2a 2a 0a 20 2a 20 zation.util.MathUtils;.../**..*.
10840 54 68 69 73 20 63 6c 61 73 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 70 72 6f 6a 65 63 This.class.implements.the.projec
10860 74 65 64 20 67 72 61 64 69 65 6e 64 0a 20 2a 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 ted.gradiend..*.as.described.in.
10880 42 65 72 74 73 65 6b 61 73 20 22 4e 6f 6e 20 4c 69 6e 65 61 72 20 50 72 6f 67 72 61 6d 6d 69 6e Bertsekas."Non.Linear.Programmin
108a0 67 22 0a 20 2a 20 73 65 63 74 69 6f 6e 20 32 2e 33 2e 0a 20 2a 20 0a 20 2a 20 54 68 65 20 75 70 g"..*.section.2.3...*...*.The.up
108c0 64 61 74 65 20 69 73 20 67 69 76 65 6e 20 62 79 3a 0a 20 2a 20 78 5f 6b 2b 31 20 3d 20 78 5f 6b date.is.given.by:..*.x_k+1.=.x_k
108e0 20 2b 20 61 6c 70 68 61 5e 6b 28 78 62 61 72 5f 6b 2d 78 5f 6b 29 0a 20 2a 20 57 68 65 72 65 20 .+.alpha^k(xbar_k-x_k)..*.Where.
10900 78 62 61 72 20 69 73 3a 0a 20 2a 20 78 62 61 72 20 3d 20 5b 78 5f 6b 20 2d 73 5f 6b 20 67 72 61 xbar.is:..*.xbar.=.[x_k.-s_k.gra
10920 64 28 66 28 78 5f 6b 29 29 5d 2b 0a 20 2a 20 77 68 65 72 65 20 5b 5d 2b 20 69 73 20 74 68 65 20 d(f(x_k))]+..*.where.[]+.is.the.
10940 70 72 6f 6a 65 63 74 69 6f 6e 20 69 6e 74 6f 20 74 68 65 20 66 65 61 73 69 62 69 6c 69 74 79 20 projection.into.the.feasibility.
10960 73 65 74 0a 20 2a 20 0a 20 2a 20 61 6c 70 68 61 20 69 73 20 74 68 65 20 73 74 65 70 20 73 69 7a set..*...*.alpha.is.the.step.siz
10980 65 20 0a 20 2a 20 73 5f 6b 20 2d 20 69 73 20 61 20 70 6f 73 69 74 69 76 65 20 73 63 61 6c 61 72 e...*.s_k.-.is.a.positive.scalar
109a0 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 76 69 65 77 20 61 73 20 61 20 73 74 65 70 20 73 69 7a .which.can.be.view.as.a.step.siz
109c0 65 20 61 73 20 77 65 6c 6c 2c 20 62 79 20 0a 20 2a 20 73 65 74 74 69 6e 67 20 61 6c 70 68 61 20 e.as.well,.by...*.setting.alpha.
109e0 74 6f 20 31 2c 20 74 68 65 6e 20 78 5f 6b 2b 31 20 3d 20 5b 78 5f 6b 20 2d 73 5f 6b 20 67 72 61 to.1,.then.x_k+1.=.[x_k.-s_k.gra
10a00 64 28 66 28 78 5f 6b 29 29 5d 2b 0a 20 2a 20 54 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 74 61 d(f(x_k))]+..*.This.is.called.ta
10a20 6b 69 6e 67 20 61 20 73 74 65 70 20 73 69 7a 65 20 61 6c 6f 6e 67 20 74 68 65 20 70 72 6f 6a 65 king.a.step.size.along.the.proje
10a40 63 74 69 6f 6e 20 61 72 63 20 28 42 65 72 74 73 65 6b 61 73 29 20 77 68 69 63 68 0a 20 2a 20 77 ction.arc.(Bertsekas).which..*.w
10a60 65 20 77 69 6c 6c 20 75 73 65 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 20 2a 20 0a 20 2a 20 4e 6f e.will.use.by.default...*...*.No
10a80 74 65 20 74 68 61 74 20 74 68 65 20 6f 6e 6c 79 20 70 6c 61 63 65 20 77 68 65 72 65 20 77 65 20 te.that.the.only.place.where.we.
10aa0 61 63 74 75 61 6c 6c 79 20 74 61 6b 65 20 61 20 73 74 65 70 20 73 69 7a 65 20 69 73 20 6f 6e 20 actually.take.a.step.size.is.on.
10ac0 70 69 63 6b 20 61 20 73 74 65 70 20 73 69 7a 65 0a 20 2a 20 73 6f 20 74 68 69 73 20 69 73 20 67 pick.a.step.size..*.so.this.is.g
10ae0 6f 69 6e 67 20 74 6f 20 62 65 20 6a 75 73 74 20 6c 69 6b 65 20 61 20 6e 6f 72 6d 61 6c 20 67 72 oing.to.be.just.like.a.normal.gr
10b00 61 64 69 65 6e 74 20 64 65 73 63 65 6e 74 20 62 75 74 20 75 73 65 20 61 20 64 69 66 66 65 72 65 adient.descent.but.use.a.differe
10b20 6e 74 20 0a 20 2a 20 61 72 6d 69 6a 6f 20 6c 69 6e 65 20 73 65 61 72 63 68 20 77 68 65 72 65 20 nt...*.armijo.line.search.where.
10b40 77 65 20 70 72 6f 6a 65 63 74 20 61 66 74 65 72 20 74 61 6b 69 6e 67 20 61 20 73 74 65 70 2e 0a we.project.after.taking.a.step..
10b60 20 2a 20 0a 20 2a 20 0a 20 2a 20 40 61 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 .*...*...*.@author.javg..*..*/.p
10b80 75 62 6c 69 63 20 63 6c 61 73 73 20 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 ublic.class.ProjectedGradientDes
10ba0 63 65 6e 74 20 65 78 74 65 6e 64 73 20 50 72 6f 6a 65 63 74 65 64 41 62 73 74 72 61 63 74 47 72 cent.extends.ProjectedAbstractGr
10bc0 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 7b 0a 09 0a 0a 09 0a 09 0a 09 70 75 62 6c 69 63 adientBaseMethod{.........public
10be0 20 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 28 4c 69 6e 65 53 65 .ProjectedGradientDescent(LineSe
10c00 61 72 63 68 4d 65 74 68 6f 64 20 6c 69 6e 65 53 65 61 72 63 68 29 20 7b 0a 09 09 74 68 69 73 2e archMethod.lineSearch).{...this.
10c20 6c 69 6e 65 53 65 61 72 63 68 20 3d 20 6c 69 6e 65 53 65 61 72 63 68 3b 0a 09 7d 0a 09 0a 09 2f lineSearch.=.lineSearch;..}..../
10c40 2f 55 73 65 20 70 72 6f 6a 65 63 74 65 64 20 64 69 66 66 65 72 65 6e 74 69 61 6c 20 6f 62 6a 65 /Use.projected.differential.obje
10c60 63 74 69 76 65 20 69 6e 73 74 65 61 64 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 69 6e 69 74 69 ctive.instead..public.void.initi
10c80 61 6c 69 7a 65 53 74 72 75 63 74 75 72 65 73 28 4f 62 6a 65 63 74 69 76 65 20 6f 2c 20 4f 70 74 alizeStructures(Objective.o,.Opt
10ca0 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 imizerStats.stats,.StopingCriter
10cc0 69 61 20 73 74 6f 70 29 20 7b 0a 09 09 6c 73 6f 20 3d 20 6e 65 77 20 50 72 6f 6a 65 63 74 65 64 ia.stop).{...lso.=.new.Projected
10ce0 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 DifferentiableLineSearchObjectiv
10d00 65 28 6f 29 3b 0a 09 7d 3b 0a 09 0a 09 0a 09 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 e(o);..};......ProjectedObjectiv
10d20 65 20 6f 62 6a 3b 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 6f 70 74 69 6d 69 7a 65 28 e.obj;..public.boolean.optimize(
10d40 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 74 ProjectedObjective.o,OptimizerSt
10d60 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 73 74 6f 70 29 ats.stats,.StopingCriteria.stop)
10d80 7b 0a 09 09 6f 62 6a 20 3d 20 6f 3b 0a 09 09 72 65 74 75 72 6e 20 73 75 70 65 72 2e 6f 70 74 69 {...obj.=.o;...return.super.opti
10da0 6d 69 7a 65 28 6f 2c 20 73 74 61 74 73 2c 20 73 74 6f 70 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c mize(o,.stats,.stop);..}....publ
10dc0 69 63 20 64 6f 75 62 6c 65 5b 5d 20 67 65 74 44 69 72 65 63 74 69 6f 6e 28 29 7b 0a 09 09 66 6f ic.double[].getDirection(){...fo
10de0 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 3c 20 67 72 61 64 69 65 6e 74 2e 6c 65 6e 67 74 68 3b r(int.i.=.0;.i<.gradient.length;
10e00 20 69 2b 2b 29 7b 0a 09 09 09 64 69 72 65 63 74 69 6f 6e 5b 69 5d 20 3d 20 2d 67 72 61 64 69 65 .i++){....direction[i].=.-gradie
10e20 6e 74 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 64 69 72 65 63 74 69 6f 6e 3b 0a 09 nt[i];...}...return.direction;..
10e40 7d 0a 09 0a 09 0a 0a 09 09 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 2f 2f 2f 4f 4c 44 20 43 4f 44 45 0a 0a }.........}........///OLD.CODE..
10e60 2f 2f 55 73 65 20 70 72 6f 6a 65 63 74 65 64 20 67 72 61 64 69 65 6e 74 20 6e 6f 72 6d 0a 2f 2f //Use.projected.gradient.norm.//
10e80 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 73 74 6f 70 43 72 69 74 65 72 69 61 28 64 6f 75 62 public.boolean.stopCriteria(doub
10ea0 6c 65 5b 5d 20 67 72 61 64 69 65 6e 74 29 7b 0a 2f 2f 09 69 66 28 6f 72 69 67 69 6e 61 6c 44 69 le[].gradient){.//.if(originalDi
10ec0 72 65 6e 63 74 69 6f 6e 4c 32 4e 6f 72 6d 20 3d 3d 20 30 29 7b 0a 2f 2f 09 09 53 79 73 74 65 6d renctionL2Norm.==.0){.//..System
10ee0 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4c 65 61 76 69 6e 67 20 6f 72 69 67 69 6e 61 6c 20 64 .out.println("Leaving.original.d
10f00 69 72 65 63 74 69 6f 6e 20 6e 6f 72 6d 20 69 73 20 7a 65 72 6f 22 29 3b 0a 2f 2f 09 09 72 65 74 irection.norm.is.zero");.//..ret
10f20 75 72 6e 20 74 72 75 65 3b 09 0a 2f 2f 09 7d 0a 2f 2f 09 69 66 28 4d 61 74 68 55 74 69 6c 73 2e urn.true;..//.}.//.if(MathUtils.
10f40 4c 32 4e 6f 72 6d 28 64 69 72 65 63 74 69 6f 6e 29 2f 6f 72 69 67 69 6e 61 6c 44 69 72 65 6e 63 L2Norm(direction)/originalDirenc
10f60 74 69 6f 6e 4c 32 4e 6f 72 6d 20 3c 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 tionL2Norm.<.gradientConvergence
10f80 56 61 6c 75 65 29 7b 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 Value){.//..System.out.println("
10fa0 4c 65 61 76 69 6e 67 20 70 72 6f 6a 65 63 74 65 64 20 67 72 61 64 69 65 6e 74 20 4e 6f 72 6d 20 Leaving.projected.gradient.Norm.
10fc0 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 65 70 73 69 6c 6f 6e 22 29 3b 0a 2f 2f 09 09 72 65 74 75 smaller.than.epsilon");.//..retu
10fe0 72 6e 20 74 72 75 65 3b 09 0a 2f 2f 09 7d 0a 2f 2f 09 69 66 28 28 70 72 65 76 69 6f 75 73 56 61 rn.true;..//.}.//.if((previousVa
11000 6c 75 65 20 2d 20 63 75 72 72 56 61 6c 75 65 29 2f 4d 61 74 68 2e 61 62 73 28 70 72 65 76 69 6f lue.-.currValue)/Math.abs(previo
11020 75 73 56 61 6c 75 65 29 20 3c 20 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 usValue).<.valueConvergenceValue
11040 29 20 7b 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4c 65 61 76 ).{.//..System.out.println("Leav
11060 69 6e 67 20 76 61 6c 75 65 20 63 68 61 6e 67 65 20 62 65 6c 6f 77 20 74 72 65 73 68 6f 6c 64 20 ing.value.change.below.treshold.
11080 22 20 2b 20 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 2b 20 22 20 2d 20 22 20 2b 20 63 75 72 72 ".+.previousValue.+.".-.".+.curr
110a0 56 61 6c 75 65 29 3b 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 70 Value);.//..System.out.println(p
110c0 72 65 76 69 6f 75 73 56 61 6c 75 65 2f 63 75 72 72 56 61 6c 75 65 20 2b 20 22 20 2d 20 22 20 2b reviousValue/currValue.+.".-.".+
110e0 20 63 75 72 72 56 61 6c 75 65 2f 63 75 72 72 56 61 6c 75 65 20 0a 2f 2f 09 09 09 09 2b 20 22 20 .currValue/currValue..//....+.".
11100 3d 20 22 20 2b 20 28 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 2d 20 63 75 72 72 56 61 6c 75 65 =.".+.(previousValue.-.currValue
11120 29 2f 4d 61 74 68 2e 61 62 73 28 70 72 65 76 69 6f 75 73 56 61 6c 75 65 29 29 3b 0a 2f 2f 09 09 )/Math.abs(previousValue));.//..
11140 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 2f 2f 09 7d 0a 2f 2f 09 72 65 74 75 72 6e 20 66 61 6c 73 return.true;.//.}.//.return.fals
11160 65 3b 0a 2f 2f 7d 0a 2f 2f 0a 0a 2f 2f 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 6f 70 74 69 e;.//}.//..//public.boolean.opti
11180 6d 69 7a 65 28 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 20 6f 2c 4f 70 74 69 6d 69 mize(ProjectedObjective.o,Optimi
111a0 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 zerStats.stats,.StopingCriteria.
111c0 73 74 6f 70 29 7b 0a 2f 2f 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 49 6e 69 74 53 74 61 74 stop){.//..stats.collectInitStat
111e0 73 28 74 68 69 73 2c 20 6f 29 3b 0a 2f 2f 09 09 6f 62 6a 20 3d 20 6f 3b 0a 2f 2f 09 09 73 74 65 s(this,.o);.//..obj.=.o;.//..ste
11200 70 20 3d 20 30 3b 0a 2f 2f 09 09 63 75 72 72 56 61 6c 75 65 20 3d 20 6f 2e 67 65 74 56 61 6c 75 p.=.0;.//..currValue.=.o.getValu
11220 65 28 29 3b 0a 2f 2f 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e e();.//..previousValue.=.Double.
11240 4d 41 58 5f 56 41 4c 55 45 3b 0a 2f 2f 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6f 2e 67 65 74 47 MAX_VALUE;.//..gradient.=.o.getG
11260 72 61 64 69 65 6e 74 28 29 3b 0a 2f 2f 09 09 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4c radient();.//..originalGradientL
11280 32 4e 6f 72 6d 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 4c 32 4e 6f 72 6d 28 67 72 61 64 69 65 6e 2Norm.=.MathUtils.L2Norm(gradien
112a0 74 29 3b 0a 2f 2f 09 09 70 61 72 61 6d 65 74 65 72 43 68 61 6e 67 65 20 3d 20 6e 65 77 20 64 6f t);.//..parameterChange.=.new.do
112c0 75 62 6c 65 5b 67 72 61 64 69 65 6e 74 2e 6c 65 6e 67 74 68 5d 3b 0a 2f 2f 09 09 67 65 74 44 69 uble[gradient.length];.//..getDi
112e0 72 65 63 74 69 6f 6e 28 29 3b 0a 2f 2f 09 09 50 72 6f 6a 65 63 74 65 64 44 69 66 66 65 72 65 6e rection();.//..ProjectedDifferen
11300 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 20 6c 73 6f 20 3d 20 tiableLineSearchObjective.lso.=.
11320 6e 65 77 20 50 72 6f 6a 65 63 74 65 64 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 new.ProjectedDifferentiableLineS
11340 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 28 6f 2c 64 69 72 65 63 74 69 6f 6e 29 3b 0a 2f 2f 09 earchObjective(o,direction);.//.
11360 09 0a 2f 2f 09 09 6f 72 69 67 69 6e 61 6c 44 69 72 65 6e 63 74 69 6f 6e 4c 32 4e 6f 72 6d 20 3d ..//..originalDirenctionL2Norm.=
11380 20 4d 61 74 68 55 74 69 6c 73 2e 4c 32 4e 6f 72 6d 28 64 69 72 65 63 74 69 6f 6e 29 3b 0a 2f 2f .MathUtils.L2Norm(direction);.//
113a0 09 09 2f 2f 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 ..//MatrixOutput.printDoubleArra
113c0 79 28 63 75 72 72 50 61 72 61 6d 65 74 65 72 73 2c 20 22 70 61 72 61 6d 65 74 65 72 73 22 29 3b y(currParameters,."parameters");
113e0 0a 2f 2f 09 09 66 6f 72 20 28 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 .//..for.(currentProjectionItera
11400 74 69 6f 6e 20 3d 20 30 3b 20 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 tion.=.0;.currentProjectionItera
11420 74 69 6f 6e 20 3c 20 6d 61 78 4e 75 6d 62 65 72 4f 66 49 74 65 72 61 74 69 6f 6e 73 3b 20 63 75 tion.<.maxNumberOfIterations;.cu
11440 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2b 2b 29 7b 09 09 0a 2f rrentProjectionIteration++){.../
11460 2f 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 49 74 65 72 20 22 /..//.System.out.println("Iter."
11480 20 2b 20 63 75 72 72 65 6e 74 50 72 6f 6a 65 63 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 29 3b 0a .+.currentProjectionIteration);.
114a0 2f 2f 09 09 09 2f 2f 6f 2e 70 72 69 6e 74 50 61 72 61 6d 65 74 65 72 73 28 29 3b 0a 2f 2f 09 09 //...//o.printParameters();.//..
114c0 09 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 69 66 28 73 74 6f 70 2e 73 74 6f 70 4f ..//....//....//...if(stop.stopO
114e0 70 74 69 6d 69 7a 61 74 69 6f 6e 28 67 72 61 64 69 65 6e 74 29 29 7b 0a 2f 2f 09 09 09 09 73 74 ptimization(gradient)){.//....st
11500 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a ats.collectFinalStats(this,.o);.
11520 2f 2f 09 09 09 09 6c 61 73 74 53 74 65 70 55 73 65 64 20 3d 20 73 74 65 70 3b 0a 2f 2f 09 09 09 //....lastStepUsed.=.step;.//...
11540 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 2f 2f 09 09 09 7d 09 09 09 0a 2f 2f 09 09 09 6c 73 6f .return.true;.//...}....//...lso
11560 2e 72 65 73 65 74 28 64 69 72 65 63 74 69 6f 6e 29 3b 0a 2f 2f 09 09 09 73 74 65 70 20 3d 20 6c .reset(direction);.//...step.=.l
11580 69 6e 65 53 65 61 72 63 68 2e 67 65 74 53 74 65 70 53 69 7a 65 28 6c 73 6f 29 3b 0a 2f 2f 09 09 ineSearch.getStepSize(lso);.//..
115a0 09 69 66 28 73 74 65 70 3d 3d 2d 31 29 7b 0a 2f 2f 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e .if(step==-1){.//....System.out.
115c0 70 72 69 6e 74 6c 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 66 69 6e 64 20 73 74 65 70 22 29 3b 0a println("Failed.to.find.step");.
115e0 2f 2f 09 09 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 //....stats.collectFinalStats(th
11600 69 73 2c 20 6f 29 3b 0a 2f 2f 09 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 09 0a 2f 2f 09 is,.o);.//....return.false;..//.
11620 09 09 09 0a 2f 2f 09 09 09 7d 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 2f 2f 55 70 64 61 74 65 20 74 ....//...}.//....//...//Update.t
11640 68 65 20 64 69 72 65 63 74 69 6f 6e 20 66 6f 72 20 73 74 6f 70 70 69 6e 67 20 63 72 69 74 65 72 he.direction.for.stopping.criter
11660 69 61 0a 2f 2f 09 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 63 75 72 72 56 61 6c 75 ia.//...previousValue.=.currValu
11680 65 3b 0a 2f 2f 09 09 09 63 75 72 72 56 61 6c 75 65 20 3d 20 6f 2e 67 65 74 56 61 6c 75 65 28 29 e;.//...currValue.=.o.getValue()
116a0 3b 0a 2f 2f 09 09 09 67 72 61 64 69 65 6e 74 20 3d 20 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 ;.//...gradient.=.o.getGradient(
116c0 29 3b 0a 2f 2f 09 09 09 64 69 72 65 63 74 69 6f 6e 20 3d 20 67 65 74 44 69 72 65 63 74 69 6f 6e );.//...direction.=.getDirection
116e0 28 29 3b 09 09 0a 2f 2f 09 09 09 69 66 28 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 ();...//...if(MathUtils.dotProdu
11700 63 74 28 67 72 61 64 69 65 6e 74 2c 20 64 69 72 65 63 74 69 6f 6e 29 20 3e 20 30 29 7b 0a 2f 2f ct(gradient,.direction).>.0){.//
11720 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4e 6f 74 20 61 20 64 65 ....System.out.println("Not.a.de
11740 73 63 65 6e 74 20 64 69 72 65 63 74 69 6f 6e 22 29 3b 0a 2f 2f 09 09 09 09 53 79 73 74 65 6d 2e scent.direction");.//....System.
11760 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 20 63 75 72 72 65 6e 74 20 73 74 61 74 73 20 22 20 2b 20 out.println(".current.stats.".+.
11780 73 74 61 74 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 31 29 29 3b 0a 2f 2f 09 09 09 09 53 79 73 stats.prettyPrint(1));.//....Sys
117a0 74 65 6d 2e 65 78 69 74 28 2d 31 29 3b 0a 2f 2f 09 09 09 7d 0a 2f 2f 09 09 09 73 74 61 74 73 2e tem.exit(-1);.//...}.//...stats.
117c0 63 6f 6c 6c 65 63 74 49 74 65 72 61 74 69 6f 6e 53 74 61 74 73 28 74 68 69 73 2c 20 6f 29 3b 0a collectIterationStats(this,.o);.
117e0 2f 2f 09 09 7d 0a 2f 2f 09 09 6c 61 73 74 53 74 65 70 55 73 65 64 20 3d 20 73 74 65 70 3b 0a 2f //..}.//..lastStepUsed.=.step;./
11800 2f 09 09 73 74 61 74 73 2e 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 74 68 69 73 2c /..stats.collectFinalStats(this,
11820 20 6f 29 3b 0a 2f 2f 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 2f 2f 09 7d 0a 0a 2f 2f 70 .o);.//..return.false;.//.}..//p
11840 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 6f 70 74 69 6d 69 7a 65 28 4f 62 6a 65 63 74 69 76 65 ublic.boolean.optimize(Objective
11860 20 6f 2c 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 73 74 61 74 73 2c 20 53 74 6f 70 69 6e 67 .o,OptimizerStats.stats,.Stoping
11880 43 72 69 74 65 72 69 61 20 73 74 6f 70 29 7b 0a 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 Criteria.stop){.//.System.out.pr
118a0 69 6e 74 6c 6e 28 22 4f 62 6a 65 63 74 69 76 65 20 69 73 20 6e 6f 74 20 61 20 70 72 6f 6a 65 63 intln("Objective.is.not.a.projec
118c0 74 65 64 20 6f 62 6a 65 63 74 69 76 65 22 29 3b 0a 2f 2f 09 74 68 72 6f 77 20 6e 65 77 20 52 75 ted.objective");.//.throw.new.Ru
118e0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 2f 2f 7d 0a 0a 50 4b 03 04 0a 00 00 00 00 ntimeException();.//}..PK.......
11900 00 96 59 e5 3c d4 51 72 5e 4f 02 00 00 4f 02 00 00 3a 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f ..Y.<.Qr^O...O...:...optimizatio
11920 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 n/gradientBasedMethods/Projected
11940 4f 62 6a 65 63 74 69 76 65 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 1c 07 00 02 01 00 34 6f Objective.class.......2.......4o
11960 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
11980 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 07 00 04 01 00 2b 6f 70 74 69 6d 69 7a /ProjectedObjective.....+optimiz
119a0 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 ation/gradientBasedMethods/Objec
119c0 74 69 76 65 01 00 0d 61 75 78 50 61 72 61 6d 65 74 65 72 73 01 00 02 5b 44 01 00 06 3c 69 6e 69 tive...auxParameters...[D...<ini
119e0 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 0b 0c 00 07 00 08 01 00 0f 4c 69 6e 65 t>...()V...Code.............Line
11a00 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 NumberTable...LocalVariableTable
11a20 01 00 04 74 68 69 73 01 00 36 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 ...this..6Loptimization/gradient
11a40 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 3b BasedMethods/ProjectedObjective;
11a60 01 00 0c 70 72 6f 6a 65 63 74 50 6f 69 6e 74 01 00 06 28 5b 44 29 5b 44 01 00 14 73 65 74 49 6e ...projectPoint...([D)[D...setIn
11a80 69 74 69 61 6c 50 61 72 61 6d 65 74 65 72 73 01 00 05 28 5b 44 29 56 0a 00 01 00 15 0c 00 10 00 itialParameters...([D)V.........
11aa0 11 0a 00 01 00 17 0c 00 18 00 13 01 00 0d 73 65 74 50 61 72 61 6d 65 74 65 72 73 01 00 06 70 61 ..............setParameters...pa
11ac0 72 61 6d 73 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 17 50 72 6f 6a 65 63 74 65 64 4f 62 6a rams...SourceFile...ProjectedObj
11ae0 65 63 74 69 76 65 2e 6a 61 76 61 04 21 00 01 00 03 00 00 00 01 00 01 00 05 00 06 00 00 00 03 00 ective.java.!...................
11b00 01 00 07 00 08 00 01 00 09 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 0a b1 00 00 00 02 00 0c ............/........*..........
11b20 00 00 00 06 00 01 00 00 00 0f 00 0d 00 00 00 0c 00 01 00 00 00 05 00 0e 00 0f 00 00 04 01 00 10 ................................
11b40 00 11 00 00 00 01 00 12 00 13 00 01 00 09 00 00 00 42 00 03 00 02 00 00 00 0a 2a 2a 2b b6 00 14 .................B........**+...
11b60 b6 00 16 b1 00 00 00 02 00 0c 00 00 00 0a 00 02 00 00 00 17 00 09 00 18 00 0d 00 00 00 16 00 02 ................................
11b80 00 00 00 0a 00 0e 00 0f 00 00 00 00 00 0a 00 19 00 06 00 01 00 01 00 1a 00 00 00 02 00 1b 50 4b ..............................PK
11ba0 03 04 0a 00 00 00 00 00 b1 69 d6 3c 21 d2 aa dc 5f 02 00 00 5f 02 00 00 39 00 00 00 6f 70 74 69 .........i.<!..._..._...9...opti
11bc0 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 mization/gradientBasedMethods/Pr
11be0 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 ojectedObjective.javapackage.opt
11c00 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 3b 0a imization.gradientBasedMethods;.
11c20 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 .import.optimization.util.MathUt
11c40 69 6c 73 3b 0a 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6d 70 75 74 65 73 20 61 20 70 72 6f 6a 65 63 74 ils;.../**..*.Computes.a.project
11c60 65 64 20 6f 62 6a 65 63 74 69 76 65 0a 20 2a 20 57 68 65 6e 20 77 65 20 74 65 6c 6c 20 69 74 20 ed.objective..*.When.we.tell.it.
11c80 74 6f 20 73 65 74 20 73 6f 6d 65 20 70 61 72 61 6d 65 74 65 72 73 20 69 74 20 61 75 74 6f 6d 61 to.set.some.parameters.it.automa
11ca0 74 69 63 61 6c 6c 79 20 70 72 6f 6a 65 63 74 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 tically.projects.the.parameters.
11cc0 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 20 73 69 6d 70 6c 65 78 3a 0a 20 2a 20 0a 20 2a 20 0a 20 back.into.the.simplex:..*...*...
11ce0 2a 20 57 68 65 6e 20 77 65 20 74 65 6c 6c 20 69 74 20 74 6f 20 67 65 74 20 74 68 65 20 67 72 61 *.When.we.tell.it.to.get.the.gra
11d00 64 69 65 6e 74 20 69 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 74 75 72 6e 73 20 74 dient.in.automatically.returns.t
11d20 68 65 20 70 72 6f 6a 65 63 74 65 64 20 67 72 61 64 69 65 6e 74 3a 0a 20 2a 20 40 61 75 74 68 6f he.projected.gradient:..*.@autho
11d40 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 63 6c r.javg..*..*/.public.abstract.cl
11d60 61 73 73 20 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 20 65 78 74 65 6e 64 73 20 4f ass.ProjectedObjective.extends.O
11d80 62 6a 65 63 74 69 76 65 7b 0a 09 0a 09 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 64 6f 75 bjective{....public.abstract.dou
11da0 62 6c 65 5b 5d 20 70 72 6f 6a 65 63 74 50 6f 69 6e 74 20 28 64 6f 75 62 6c 65 5b 5d 20 70 6f 69 ble[].projectPoint.(double[].poi
11dc0 6e 74 29 3b 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 61 75 78 50 61 72 61 6d nt);....public.double[].auxParam
11de0 65 74 65 72 73 3b 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 20 76 6f 69 64 20 73 65 74 49 6e 69 74 eters;......public..void.setInit
11e00 69 61 6c 50 61 72 61 6d 65 74 65 72 73 28 64 6f 75 62 6c 65 5b 5d 20 70 61 72 61 6d 73 29 7b 0a ialParameters(double[].params){.
11e20 09 09 73 65 74 50 61 72 61 6d 65 74 65 72 73 28 70 72 6f 6a 65 63 74 50 6f 69 6e 74 28 70 61 72 ..setParameters(projectPoint(par
11e40 61 6d 73 29 29 3b 0a 09 7d 0a 09 0a 09 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 ams));..}.........}.PK.........Y
11e60 e5 3c 1c 46 89 fc 7e 0e 00 00 7e 0e 00 00 45 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 .<.F..~...~...E...optimization/g
11e80 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 50 72 6f 6a 65 63 radientBasedMethods/stats/Projec
11ea0 74 65 64 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 tedOptimizerStats.class.......2.
11ec0 c6 07 00 02 01 00 3f 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 ......?optimization/gradientBase
11ee0 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 dMethods/stats/ProjectedOptimize
11f00 72 53 74 61 74 73 07 00 04 01 00 36 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e rStats.....6optimization/gradien
11f20 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 tBasedMethods/stats/OptimizerSta
11f40 74 73 01 00 16 70 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4e 6f 72 6d 73 01 00 15 4c 6a ts...projectedGradientNorms...Lj
11f60 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 73 74 3b 01 00 09 53 69 67 6e 61 74 75 72 65 01 ava/util/ArrayList;...Signature.
11f80 00 29 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 73 74 3c 4c 6a 61 76 61 2f 6c 61 6e .)Ljava/util/ArrayList<Ljava/lan
11fa0 67 2f 44 6f 75 62 6c 65 3b 3e 3b 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 g/Double;>;...<init>...()V...Cod
11fc0 65 0a 00 03 00 0d 0c 00 09 00 0a 07 00 0f 01 00 13 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 e................java/util/Array
11fe0 4c 69 73 74 0a 00 0e 00 0d 09 00 01 00 12 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 List..................LineNumber
12000 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 Table...LocalVariableTable...thi
12020 73 01 00 41 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d s..ALoptimization/gradientBasedM
12040 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 53 ethods/stats/ProjectedOptimizerS
12060 74 61 74 73 3b 01 00 05 72 65 73 65 74 0a 00 03 00 19 0c 00 17 00 0a 0a 00 0e 00 1b 0c 00 1c 00 tats;...reset...................
12080 0a 01 00 05 63 6c 65 61 72 01 00 0b 70 72 65 74 74 79 50 72 69 6e 74 01 00 15 28 49 29 4c 6a 61 ....clear...prettyPrint...(I)Lja
120a0 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 07 00 20 01 00 16 6a 61 76 61 2f 6c 61 6e 67 2f 53 va/lang/String;......java/lang/S
120c0 74 72 69 6e 67 42 75 66 66 65 72 0a 00 1f 00 0d 07 00 23 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f tringBuffer.......#...java/lang/
120e0 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 25 01 00 0b 54 6f 74 61 6c 20 74 69 6d 65 20 0a 00 StringBuilder..%...Total.time...
12100 22 00 27 0c 00 09 00 28 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 ".'....(...(Ljava/lang/String;)V
12120 09 00 01 00 2a 0c 00 2b 00 2c 01 00 09 74 6f 74 61 6c 54 69 6d 65 01 00 01 44 06 40 8f 40 00 00 ....*..+.,...totalTime...D.@.@..
12140 00 00 00 0a 00 22 00 30 0c 00 31 00 32 01 00 06 61 70 70 65 6e 64 01 00 1c 28 44 29 4c 6a 61 76 .....".0..1.2...append...(D)Ljav
12160 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 34 01 00 0a 20 73 65 63 6f a/lang/StringBuilder;..4....seco
12180 6e 64 73 20 0a 0a 00 22 00 36 0c 00 31 00 37 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 nds....".6..1.7..-(Ljava/lang/St
121a0 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 ring;)Ljava/lang/StringBuilder;.
121c0 00 39 01 00 0b 49 74 65 72 61 74 69 6f 6e 73 20 09 00 01 00 3b 0c 00 3c 00 06 01 00 0a 69 74 65 .9...Iterations.....;..<.....ite
121e0 72 61 74 69 6f 6e 73 0a 00 0e 00 3e 0c 00 3f 00 40 01 00 04 73 69 7a 65 01 00 03 28 29 49 0a 00 rations....>..?.@...size...()I..
12200 22 00 42 0c 00 31 00 43 01 00 1c 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 ".B..1.C...(I)Ljava/lang/StringB
12220 75 69 6c 64 65 72 3b 08 00 45 01 00 01 0a 0a 00 22 00 47 0c 00 48 00 49 01 00 08 74 6f 53 74 72 uilder;..E......".G..H.I...toStr
12240 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 1f 00 4b 0c ing...()Ljava/lang/String;....K.
12260 00 31 00 4c 01 00 2c 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 .1.L..,(Ljava/lang/String;)Ljava
12280 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 66 66 65 72 3b 09 00 01 00 4e 0c 00 4f 00 50 01 00 13 /lang/StringBuffer;....N..O.P...
122a0 6f 62 6a 65 63 74 69 76 65 46 69 6e 61 6c 53 74 61 74 73 01 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 objectiveFinalStats...Ljava/lang
122c0 2f 53 74 72 69 6e 67 3b 0a 00 52 00 54 07 00 53 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 /String;..R.T..S...java/lang/Str
122e0 69 6e 67 0c 00 55 00 56 01 00 07 76 61 6c 75 65 4f 66 01 00 26 28 4c 6a 61 76 61 2f 6c 61 6e 67 ing..U.V...valueOf..&(Ljava/lang
12300 2f 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 58 01 00 /Object;)Ljava/lang/String;..X..
12320 0a 09 49 74 65 72 61 74 69 6f 6e 0a 00 0e 00 5a 0c 00 5b 00 5c 01 00 03 67 65 74 01 00 15 28 49 ..Iteration....Z..[.\...get...(I
12340 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 0a 00 22 00 5e 0c 00 31 00 5f 01 00 2d )Ljava/lang/Object;..".^..1._..-
12360 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 (Ljava/lang/Object;)Ljava/lang/S
12380 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 61 01 00 07 09 73 74 65 70 3a 20 09 00 01 00 63 0c tringBuilder;..a....step:.....c.
123a0 00 64 00 06 01 00 05 73 74 65 70 73 07 00 66 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 .d.....steps..f...java/lang/Doub
123c0 6c 65 0a 00 65 00 68 0c 00 69 00 6a 01 00 0b 64 6f 75 62 6c 65 56 61 6c 75 65 01 00 03 28 29 44 le..e.h..i.j...doubleValue...()D
123e0 08 00 6c 01 00 07 30 2e 30 30 45 30 30 0a 00 6e 00 70 07 00 6f 01 00 1d 6f 70 74 69 6d 69 7a 61 ..l...0.00E00..n.p..o...optimiza
12400 74 69 6f 6e 2f 75 74 69 6c 2f 53 74 61 74 69 63 54 6f 6f 6c 73 0c 00 1d 00 71 01 00 28 28 44 4c tion/util/StaticTools....q..((DL
12420 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 java/lang/String;I)Ljava/lang/St
12440 72 69 6e 67 3b 08 00 73 01 00 0e 09 67 72 61 64 69 65 6e 74 4e 6f 72 6d 20 09 00 01 00 75 0c 00 ring;..s....gradientNorm.....u..
12460 76 00 06 01 00 0d 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 08 00 78 01 00 0a 30 2e 30 30 30 30 30 v.....gradientNorms..x...0.00000
12480 45 30 30 08 00 7a 01 00 0a 09 64 69 72 65 63 74 69 6f 6e 08 00 7c 01 00 07 09 76 61 6c 75 65 20 E00..z....direction..|....value.
124a0 09 00 01 00 7e 0c 00 7f 00 06 01 00 05 76 61 6c 75 65 08 00 81 01 00 0b 30 2e 30 30 30 30 30 30 ....~........value......0.000000
124c0 45 30 30 08 00 83 01 00 0c 09 20 64 69 72 65 63 74 69 6f 6e 20 08 00 85 01 00 0b 09 76 61 6c 75 E00........direction........valu
124e0 65 44 69 66 66 20 0a 00 1f 00 47 01 00 05 6c 65 76 65 6c 01 00 01 49 01 00 03 72 65 73 01 00 18 eDiff.....G...level...I...res...
12500 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 66 66 65 72 3b 01 00 01 69 01 00 0d 53 Ljava/lang/StringBuffer;...i...S
12520 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 10 63 6f 6c 6c 65 63 74 49 6e 69 74 53 74 61 74 73 01 tackMapTable...collectInitStats.
12540 00 5d 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 .](Loptimization/gradientBasedMe
12560 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 thods/Optimizer;Loptimization/gr
12580 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 29 56 0a adientBasedMethods/Objective;)V.
125a0 00 01 00 90 0c 00 91 00 0a 01 00 09 73 74 61 72 74 54 69 6d 65 01 00 09 6f 70 74 69 6d 69 7a 65 ............startTime...optimize
125c0 72 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d r..-Loptimization/gradientBasedM
125e0 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 3b 01 00 09 6f 62 6a 65 63 74 69 76 65 01 00 2d ethods/Optimizer;...objective..-
12600 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f Loptimization/gradientBasedMetho
12620 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 15 63 6f 6c 6c 65 63 74 49 74 65 72 61 74 69 6f 6e ds/Objective;...collectIteration
12640 53 74 61 74 73 0b 00 98 00 9a 07 00 99 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 Stats..........+optimization/gra
12660 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 0c 00 9b 00 40 dientBasedMethods/Optimizer....@
12680 01 00 13 67 65 74 43 75 72 72 65 6e 74 49 74 65 72 61 74 69 6f 6e 0a 00 9d 00 9f 07 00 9e 01 00 ...getCurrentIteration..........
126a0 11 6a 61 76 61 2f 6c 61 6e 67 2f 49 6e 74 65 67 65 72 0c 00 55 00 a0 01 00 16 28 49 29 4c 6a 61 .java/lang/Integer..U.....(I)Lja
126c0 76 61 2f 6c 61 6e 67 2f 49 6e 74 65 67 65 72 3b 0a 00 0e 00 a2 0c 00 a3 00 a4 01 00 03 61 64 64 va/lang/Integer;.............add
126e0 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 5a 0a 00 a6 00 a8 07 00 a7 ...(Ljava/lang/Object;)Z........
12700 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 ..+optimization/gradientBasedMet
12720 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 0c 00 a9 00 aa 01 00 0b 67 65 74 47 72 61 64 69 65 6e hods/Objective........getGradien
12740 74 01 00 04 28 29 5b 44 0a 00 ac 00 ae 07 00 ad 01 00 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f t...()[D...........optimization/
12760 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 af 00 b0 01 00 06 4c 32 4e 6f 72 6d 01 00 05 28 util/MathUtils........L2Norm...(
12780 5b 44 29 44 0a 00 65 00 b2 0c 00 55 00 b3 01 00 15 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 44 [D)D..e....U.....(D)Ljava/lang/D
127a0 6f 75 62 6c 65 3b 0b 00 98 00 b5 0c 00 b6 00 aa 01 00 0c 67 65 74 44 69 72 65 63 74 69 6f 6e 0b ouble;.............getDirection.
127c0 00 98 00 b8 0c 00 b9 00 6a 01 00 0e 67 65 74 43 75 72 72 65 6e 74 53 74 65 70 0b 00 98 00 bb 0c ........j...getCurrentStep......
127e0 00 bc 00 6a 01 00 0f 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 01 00 11 63 6f 6c 6c 65 63 74 ...j...getCurrentValue...collect
12800 46 69 6e 61 6c 53 74 61 74 73 0a 00 01 00 bf 0c 00 c0 00 0a 01 00 08 73 74 6f 70 54 69 6d 65 0a FinalStats.............stopTime.
12820 00 a6 00 c2 0c 00 c3 00 49 01 00 0f 66 69 6e 61 6c 49 6e 66 6f 53 74 72 69 6e 67 01 00 0a 53 6f ........I...finalInfoString...So
12840 75 72 63 65 46 69 6c 65 01 00 1c 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 53 74 61 urceFile...ProjectedOptimizerSta
12860 74 73 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 01 00 00 00 05 00 06 00 01 00 07 00 00 00 02 00 ts.java.!.......................
12880 08 00 06 00 01 00 09 00 0a 00 01 00 0b 00 00 00 42 00 03 00 01 00 00 00 10 2a b7 00 0c 2a bb 00 ................B........*...*..
128a0 0e 59 b7 00 10 b5 00 11 b1 00 00 00 02 00 13 00 00 00 0e 00 03 00 00 00 0d 00 04 00 16 00 0f 00 .Y..............................
128c0 0d 00 14 00 00 00 0c 00 01 00 00 00 10 00 15 00 16 00 00 00 01 00 17 00 0a 00 01 00 0b 00 00 00 ................................
128e0 3e 00 01 00 01 00 00 00 0c 2a b7 00 18 2a b4 00 11 b6 00 1a b1 00 00 00 02 00 13 00 00 00 0e 00 >........*...*..................
12900 03 00 00 00 12 00 04 00 13 00 0b 00 14 00 14 00 00 00 0c 00 01 00 00 00 0c 00 15 00 16 00 00 00 ................................
12920 01 00 1d 00 1e 00 01 00 0b 00 00 02 8e 00 06 00 04 00 00 01 d6 bb 00 1f 59 b7 00 21 4d 2c bb 00 ........................Y..!M,..
12940 22 59 12 24 b7 00 26 2a b4 00 29 14 00 2d 6f b6 00 2f 12 33 b6 00 35 12 38 b6 00 35 2a b4 00 3a "Y.$..&*..)..-o../.3..5.8..5*..:
12960 b6 00 3d b6 00 41 12 44 b6 00 35 b6 00 46 b6 00 4a 57 2c bb 00 22 59 2a b4 00 4d b8 00 51 b7 00 ..=..A.D..5..F..JW,.."Y*..M..Q..
12980 26 12 44 b6 00 35 b6 00 46 b6 00 4a 57 1b 9e 01 78 2a b4 00 3a b6 00 3d 9e 00 98 2c bb 00 22 59 &.D..5..F..JW...x*..:..=...,.."Y
129a0 12 57 b7 00 26 2a b4 00 3a 03 b6 00 59 b6 00 5d 12 60 b6 00 35 2a b4 00 62 03 b6 00 59 c0 00 65 .W..&*..:...Y..].`..5*..b...Y..e
129c0 b6 00 67 12 6b 10 06 b8 00 6d b6 00 35 12 72 b6 00 35 2a b4 00 74 03 b6 00 59 c0 00 65 b6 00 67 ..g.k....m..5.r..5*..t...Y..e..g
129e0 12 77 10 0a b8 00 6d b6 00 35 12 79 b6 00 35 2a b4 00 11 03 b6 00 59 c0 00 65 b6 00 67 12 77 10 .w....m..5.y..5*......Y..e..g.w.
12a00 0a b8 00 6d b6 00 35 12 7b b6 00 35 2a b4 00 7d 03 b6 00 59 c0 00 65 b6 00 67 12 80 10 0b b8 00 ...m..5.{..5*..}...Y..e..g......
12a20 6d b6 00 35 12 44 b6 00 35 b6 00 46 b6 00 4a 57 04 3e a7 00 c9 2c bb 00 22 59 12 57 b7 00 26 2a m..5.D..5..F..JW.>...,.."Y.W..&*
12a40 b4 00 3a 1d b6 00 59 b6 00 5d 12 60 b6 00 35 2a b4 00 62 1d b6 00 59 c0 00 65 b6 00 67 12 6b 10 ..:...Y..].`..5*..b...Y..e..g.k.
12a60 06 b8 00 6d b6 00 35 12 72 b6 00 35 2a b4 00 74 1d b6 00 59 c0 00 65 b6 00 67 12 77 10 0a b8 00 ...m..5.r..5*..t...Y..e..g.w....
12a80 6d b6 00 35 12 82 b6 00 35 2a b4 00 11 1d b6 00 59 c0 00 65 b6 00 67 12 77 10 0a b8 00 6d b6 00 m..5....5*......Y..e..g.w....m..
12aa0 35 12 7b b6 00 35 2a b4 00 7d 1d b6 00 59 c0 00 65 b6 00 67 12 80 10 0b b8 00 6d b6 00 35 12 84 5.{..5*..}...Y..e..g......m..5..
12ac0 b6 00 35 2a b4 00 7d 1d 04 64 b6 00 59 c0 00 65 b6 00 67 2a b4 00 7d 1d b6 00 59 c0 00 65 b6 00 ..5*..}..d..Y..e..g*..}...Y..e..
12ae0 67 67 12 80 10 0b b8 00 6d b6 00 35 12 44 b6 00 35 b6 00 46 b6 00 4a 57 84 03 01 1d 2a b4 00 3a gg......m..5.D..5..F..JW....*..:
12b00 b6 00 3d a1 ff 32 2c b6 00 86 b0 00 00 00 03 00 13 00 00 00 5e 00 17 00 00 00 19 00 08 00 1a 00 ..=..2,.............^...........
12b20 3d 00 1b 00 58 00 1c 00 5c 00 1d 00 66 00 1e 00 80 00 1f 00 9d 00 20 00 b5 00 21 00 ba 00 22 00 =...X...\...f.............!...".
12b40 d2 00 23 00 f7 00 1e 00 fb 00 25 01 00 00 26 01 37 00 27 01 4f 00 28 01 54 00 29 01 6c 00 2a 01 ..#.......%...&.7.'.O.(.T.).l.*.
12b60 89 00 2b 01 b7 00 2c 01 bf 00 26 01 c3 00 25 01 d1 00 2f 00 14 00 00 00 2a 00 04 00 00 01 d6 00 ..+...,...&...%.../.....*.......
12b80 15 00 16 00 00 00 00 01 d6 00 87 00 88 00 01 00 08 01 ce 00 89 00 8a 00 02 00 fd 00 d4 00 8b 00 ................................
12ba0 88 00 03 00 8c 00 00 00 12 00 04 fc 00 fb 07 00 1f fc 00 04 01 fb 00 c5 fa 00 0a 00 01 00 8d 00 ................................
12bc0 8e 00 01 00 0b 00 00 00 47 00 01 00 03 00 00 00 05 2a b6 00 8f b1 00 00 00 02 00 13 00 00 00 0a ........G........*..............
12be0 00 02 00 00 00 34 00 04 00 35 00 14 00 00 00 20 00 03 00 00 00 05 00 15 00 16 00 00 00 00 00 05 .....4...5......................
12c00 00 92 00 93 00 01 00 00 00 05 00 94 00 95 00 02 00 01 00 96 00 8e 00 01 00 0b 00 00 00 ac 00 03 ................................
12c20 00 03 00 00 00 5a 2a b4 00 3a 2b b9 00 97 01 00 b8 00 9c b6 00 a1 57 2a b4 00 74 2c b6 00 a5 b8 .....Z*..:+...........W*..t,....
12c40 00 ab b8 00 b1 b6 00 a1 57 2a b4 00 11 2b b9 00 b4 01 00 b8 00 ab b8 00 b1 b6 00 a1 57 2a b4 00 ........W*...+..............W*..
12c60 62 2b b9 00 b7 01 00 b8 00 b1 b6 00 a1 57 2a b4 00 7d 2b b9 00 ba 01 00 b8 00 b1 b6 00 a1 57 b1 b+...........W*..}+...........W.
12c80 00 00 00 02 00 13 00 00 00 1a 00 06 00 00 00 38 00 11 00 39 00 23 00 3a 00 37 00 3b 00 48 00 3c ...............8...9.#.:.7.;.H.<
12ca0 00 59 00 3d 00 14 00 00 00 20 00 03 00 00 00 5a 00 15 00 16 00 00 00 00 00 5a 00 92 00 93 00 01 .Y.=...........Z.........Z......
12cc0 00 00 00 5a 00 94 00 95 00 02 00 01 00 bd 00 8e 00 01 00 0b 00 00 00 53 00 02 00 03 00 00 00 0d ...Z...................S........
12ce0 2a b6 00 be 2a 2c b6 00 c1 b5 00 4d b1 00 00 00 02 00 13 00 00 00 0e 00 03 00 00 00 42 00 04 00 *...*,.....M................B...
12d00 43 00 0c 00 44 00 14 00 00 00 20 00 03 00 00 00 0d 00 15 00 16 00 00 00 00 00 0d 00 92 00 93 00 C...D...........................
12d20 01 00 00 00 0d 00 94 00 95 00 02 00 01 00 c4 00 00 00 02 00 c5 50 4b 03 04 0a 00 00 00 00 00 b1 .....................PK.........
12d40 69 d6 3c f1 fc 35 65 80 09 00 00 80 09 00 00 44 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f i.<..5e........D...optimization/
12d60 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 50 72 6f 6a 65 gradientBasedMethods/stats/Proje
12d80 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f ctedOptimizerStats.javapackage.o
12da0 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization.gradientBasedMethods
12dc0 2e 73 74 61 74 73 3b 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 4c .stats;..import.java.util.ArrayL
12de0 69 73 74 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 ist;..import.optimization.gradie
12e00 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 ntBasedMethods.Objective;.import
12e20 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f .optimization.gradientBasedMetho
12e40 64 73 2e 4f 70 74 69 6d 69 7a 65 72 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f ds.Optimizer;.import.optimizatio
12e60 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 50 72 6f 6a 65 63 74 65 64 n.gradientBasedMethods.Projected
12e80 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 Objective;.import.optimization.g
12ea0 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 50 72 6f 6a 65 63 74 65 64 4f 70 74 radientBasedMethods.ProjectedOpt
12ec0 69 6d 69 7a 65 72 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c imizer;.import.optimization.util
12ee0 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e .MathUtils;.import.optimization.
12f00 75 74 69 6c 2e 53 74 61 74 69 63 54 6f 6f 6c 73 3b 0a 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 util.StaticTools;...public.class
12f20 20 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 65 78 74 65 6e 64 73 .ProjectedOptimizerStats.extends
12f40 20 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 7b 0a 09 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 76 .OptimizerStats{........public.v
12f60 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 73 75 70 65 72 2e 72 65 73 65 74 28 29 3b 0a 09 09 oid.reset(){...super.reset();...
12f80 70 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 63 6c 65 61 72 28 29 3b 0a projectedGradientNorms.clear();.
12fa0 09 7d 0a 09 0a 09 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 70 72 6f 6a 65 63 74 65 .}....ArrayList<Double>.projecte
12fc0 64 47 72 61 64 69 65 6e 74 4e 6f 72 6d 73 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 69 73 74 3c 44 dGradientNorms.=.new.ArrayList<D
12fe0 6f 75 62 6c 65 3e 28 29 3b 0a 0a 09 70 75 62 6c 69 63 20 53 74 72 69 6e 67 20 70 72 65 74 74 79 ouble>();...public.String.pretty
13000 50 72 69 6e 74 28 69 6e 74 20 6c 65 76 65 6c 29 7b 0a 09 09 53 74 72 69 6e 67 42 75 66 66 65 72 Print(int.level){...StringBuffer
13020 20 72 65 73 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 75 66 66 65 72 28 29 3b 0a 09 09 72 65 73 .res.=.new.StringBuffer();...res
13040 2e 61 70 70 65 6e 64 28 22 54 6f 74 61 6c 20 74 69 6d 65 20 22 20 2b 20 74 6f 74 61 6c 54 69 6d .append("Total.time.".+.totalTim
13060 65 2f 31 30 30 30 20 2b 20 22 20 73 65 63 6f 6e 64 73 20 5c 6e 22 20 2b 20 22 49 74 65 72 61 74 e/1000.+.".seconds.\n".+."Iterat
13080 69 6f 6e 73 20 22 20 2b 20 69 74 65 72 61 74 69 6f 6e 73 2e 73 69 7a 65 28 29 20 2b 20 22 5c 6e ions.".+.iterations.size().+."\n
130a0 22 29 3b 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 6f 62 6a 65 63 74 69 76 65 46 69 6e 61 6c 53 ");...res.append(objectiveFinalS
130c0 74 61 74 73 2b 22 5c 6e 22 29 3b 0a 09 09 69 66 28 6c 65 76 65 6c 20 3e 20 30 29 7b 0a 09 09 09 tats+"\n");...if(level.>.0){....
130e0 69 66 28 69 74 65 72 61 74 69 6f 6e 73 2e 73 69 7a 65 28 29 20 3e 20 30 29 7b 0a 09 09 09 72 65 if(iterations.size().>.0){....re
13100 73 2e 61 70 70 65 6e 64 28 22 5c 74 49 74 65 72 61 74 69 6f 6e 22 2b 69 74 65 72 61 74 69 6f 6e s.append("\tIteration"+iteration
13120 73 2e 67 65 74 28 30 29 2b 22 5c 74 73 74 65 70 3a 20 22 2b 0a 09 09 09 09 09 53 74 61 74 69 63 s.get(0)+"\tstep:."+......Static
13140 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 73 74 65 70 73 2e 67 65 74 28 30 29 2c 20 Tools.prettyPrint(steps.get(0),.
13160 22 30 2e 30 30 45 30 30 22 2c 20 36 29 2b 20 22 5c 74 67 72 61 64 69 65 6e 74 4e 6f 72 6d 20 22 "0.00E00",.6)+."\tgradientNorm."
13180 2b 20 0a 09 09 09 09 09 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 +.......StaticTools.prettyPrint(
131a0 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 67 65 74 28 30 29 2c 20 22 30 2e 30 30 30 30 30 45 30 gradientNorms.get(0),."0.00000E0
131c0 30 22 2c 20 31 30 29 0a 09 09 09 09 09 2b 20 22 5c 74 64 69 72 65 63 74 69 6f 6e 22 2b 0a 09 09 0",.10)......+."\tdirection"+...
131e0 09 09 09 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 70 72 6f 6a 65 ...StaticTools.prettyPrint(proje
13200 63 74 65 64 47 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 67 65 74 28 30 29 2c 20 22 30 2e 30 30 30 ctedGradientNorms.get(0),."0.000
13220 30 30 45 30 30 22 2c 20 31 30 29 2b 0a 09 09 09 09 09 22 5c 74 76 61 6c 75 65 20 22 2b 20 53 74 00E00",.10)+......"\tvalue."+.St
13240 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 76 61 6c 75 65 2e 67 65 74 28 aticTools.prettyPrint(value.get(
13260 30 29 2c 20 22 30 2e 30 30 30 30 30 30 45 30 30 22 2c 31 31 29 2b 22 5c 6e 22 29 3b 0a 09 09 09 0),."0.000000E00",11)+"\n");....
13280 7d 0a 09 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 31 3b 20 69 20 3c 20 69 74 65 72 61 74 69 6f }....for(int.i.=.1;.i.<.iteratio
132a0 6e 73 2e 73 69 7a 65 28 29 3b 20 69 2b 2b 29 7b 0a 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 ns.size();.i++){....res.append("
132c0 5c 74 49 74 65 72 61 74 69 6f 6e 22 2b 69 74 65 72 61 74 69 6f 6e 73 2e 67 65 74 28 69 29 2b 22 \tIteration"+iterations.get(i)+"
132e0 5c 74 73 74 65 70 3a 20 22 2b 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e \tstep:."+StaticTools.prettyPrin
13300 74 28 73 74 65 70 73 2e 67 65 74 28 69 29 2c 20 22 30 2e 30 30 45 30 30 22 2c 20 36 29 2b 20 22 t(steps.get(i),."0.00E00",.6)+."
13320 5c 74 67 72 61 64 69 65 6e 74 4e 6f 72 6d 20 22 2b 20 0a 09 09 09 09 09 53 74 61 74 69 63 54 6f \tgradientNorm."+.......StaticTo
13340 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 67 65 ols.prettyPrint(gradientNorms.ge
13360 74 28 69 29 2c 20 22 30 2e 30 30 30 30 30 45 30 30 22 2c 20 31 30 29 2b 20 0a 09 09 09 09 09 22 t(i),."0.00000E00",.10)+......."
13380 5c 74 20 64 69 72 65 63 74 69 6f 6e 20 22 2b 0a 09 09 09 09 09 53 74 61 74 69 63 54 6f 6f 6c 73 \t.direction."+......StaticTools
133a0 2e 70 72 65 74 74 79 50 72 69 6e 74 28 70 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4e 6f .prettyPrint(projectedGradientNo
133c0 72 6d 73 2e 67 65 74 28 69 29 2c 20 22 30 2e 30 30 30 30 30 45 30 30 22 2c 20 31 30 29 2b 0a 09 rms.get(i),."0.00000E00",.10)+..
133e0 09 09 09 09 22 5c 74 76 61 6c 75 65 20 22 2b 20 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 ...."\tvalue."+.StaticTools.pret
13400 74 79 50 72 69 6e 74 28 76 61 6c 75 65 2e 67 65 74 28 69 29 2c 20 22 30 2e 30 30 30 30 30 30 45 tyPrint(value.get(i),."0.000000E
13420 30 30 22 2c 31 31 29 2b 0a 09 09 09 09 09 22 5c 74 76 61 6c 75 65 44 69 66 66 20 22 2b 20 53 74 00",11)+......"\tvalueDiff."+.St
13440 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 28 76 61 6c 75 65 2e 67 65 74 aticTools.prettyPrint((value.get
13460 28 69 2d 31 29 2d 76 61 6c 75 65 2e 67 65 74 28 69 29 29 2c 20 22 30 2e 30 30 30 30 30 30 45 30 (i-1)-value.get(i)),."0.000000E0
13480 30 22 2c 31 31 29 2b 0a 09 09 09 09 09 22 5c 6e 22 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 0",11)+......"\n");....}...}...r
134a0 65 74 75 72 6e 20 72 65 73 2e 74 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 09 0a 09 70 75 eturn.res.toString();..}......pu
134c0 62 6c 69 63 20 76 6f 69 64 20 63 6f 6c 6c 65 63 74 49 6e 69 74 53 74 61 74 73 28 4f 70 74 69 6d blic.void.collectInitStats(Optim
134e0 69 7a 65 72 20 6f 70 74 69 6d 69 7a 65 72 2c 20 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 65 63 74 izer.optimizer,.Objective.object
13500 69 76 65 29 7b 0a 09 09 73 74 61 72 74 54 69 6d 65 28 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 ive){...startTime();..}....publi
13520 63 20 76 6f 69 64 20 63 6f 6c 6c 65 63 74 49 74 65 72 61 74 69 6f 6e 53 74 61 74 73 28 4f 70 74 c.void.collectIterationStats(Opt
13540 69 6d 69 7a 65 72 20 6f 70 74 69 6d 69 7a 65 72 2c 20 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 65 imizer.optimizer,.Objective.obje
13560 63 74 69 76 65 29 7b 09 09 0a 09 09 69 74 65 72 61 74 69 6f 6e 73 2e 61 64 64 28 6f 70 74 69 6d ctive){.....iterations.add(optim
13580 69 7a 65 72 2e 67 65 74 43 75 72 72 65 6e 74 49 74 65 72 61 74 69 6f 6e 28 29 29 3b 0a 09 09 67 izer.getCurrentIteration());...g
135a0 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 61 64 64 28 4d 61 74 68 55 74 69 6c 73 2e 4c 32 4e 6f 72 radientNorms.add(MathUtils.L2Nor
135c0 6d 28 6f 62 6a 65 63 74 69 76 65 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 29 29 3b 0a 09 09 70 m(objective.getGradient()));...p
135e0 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 61 64 64 28 4d 61 74 68 55 74 rojectedGradientNorms.add(MathUt
13600 69 6c 73 2e 4c 32 4e 6f 72 6d 28 6f 70 74 69 6d 69 7a 65 72 2e 67 65 74 44 69 72 65 63 74 69 6f ils.L2Norm(optimizer.getDirectio
13620 6e 28 29 29 29 3b 0a 09 09 73 74 65 70 73 2e 61 64 64 28 6f 70 74 69 6d 69 7a 65 72 2e 67 65 74 n()));...steps.add(optimizer.get
13640 43 75 72 72 65 6e 74 53 74 65 70 28 29 29 3b 0a 09 09 76 61 6c 75 65 2e 61 64 64 28 6f 70 74 69 CurrentStep());...value.add(opti
13660 6d 69 7a 65 72 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b 0a 09 7d 0a 09 0a 09 mizer.getCurrentValue());..}....
13680 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 ....public.void.collectFinalStat
136a0 73 28 4f 70 74 69 6d 69 7a 65 72 20 6f 70 74 69 6d 69 7a 65 72 2c 20 4f 62 6a 65 63 74 69 76 65 s(Optimizer.optimizer,.Objective
136c0 20 6f 62 6a 65 63 74 69 76 65 29 7b 0a 09 09 73 74 6f 70 54 69 6d 65 28 29 3b 0a 09 09 6f 62 6a .objective){...stopTime();...obj
136e0 65 63 74 69 76 65 46 69 6e 61 6c 53 74 61 74 73 20 3d 20 6f 62 6a 65 63 74 69 76 65 2e 66 69 6e ectiveFinalStats.=.objective.fin
13700 61 6c 49 6e 66 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 alInfoString();..}...}.PK.......
13720 00 96 59 e5 3c c4 6e 9a 27 f5 0f 00 00 f5 0f 00 00 3c 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f ..Y.<.n.'........<...optimizatio
13740 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 n/gradientBasedMethods/stats/Opt
13760 69 6d 69 7a 65 72 53 74 61 74 73 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 d2 07 00 02 01 00 imizerStats.class.......2.......
13780 36 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 6optimization/gradientBasedMetho
137a0 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 07 00 04 01 00 10 6a 61 76 ds/stats/OptimizerStats......jav
137c0 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 05 73 74 61 72 74 01 00 01 44 01 00 09 74 6f 74 61 a/lang/Object...start...D...tota
137e0 6c 54 69 6d 65 01 00 13 6f 62 6a 65 63 74 69 76 65 46 69 6e 61 6c 53 74 61 74 73 01 00 12 4c 6a lTime...objectiveFinalStats...Lj
13800 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 0d 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 ava/lang/String;...gradientNorms
13820 01 00 15 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 73 74 3b 01 00 09 53 69 67 6e 61 ...Ljava/util/ArrayList;...Signa
13840 74 75 72 65 01 00 29 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 73 74 3c 4c 6a 61 76 ture..)Ljava/util/ArrayList<Ljav
13860 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 3b 3e 3b 01 00 05 73 74 65 70 73 01 00 05 76 61 6c 75 65 a/lang/Double;>;...steps...value
13880 01 00 0a 69 74 65 72 61 74 69 6f 6e 73 01 00 2a 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 ...iterations..*Ljava/util/Array
138a0 4c 69 73 74 3c 4c 6a 61 76 61 2f 6c 61 6e 67 2f 49 6e 74 65 67 65 72 3b 3e 3b 01 00 09 70 72 65 List<Ljava/lang/Integer;>;...pre
138c0 76 56 61 6c 75 65 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 vValue...<init>...()V...Code....
138e0 17 0c 00 13 00 14 09 00 01 00 19 0c 00 05 00 06 09 00 01 00 1b 0c 00 07 00 06 07 00 1d 01 00 13 ................................
13900 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 73 74 0a 00 1c 00 17 09 00 01 00 20 0c 00 0a java/util/ArrayList.............
13920 00 0b 09 00 01 00 22 0c 00 0e 00 0b 09 00 01 00 24 0c 00 0f 00 0b 09 00 01 00 26 0c 00 10 00 0b ......".........$.........&.....
13940 09 00 01 00 28 0c 00 12 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c ....(........LineNumberTable...L
13960 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 38 4c 6f 70 74 69 ocalVariableTable...this..8Lopti
13980 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 mization/gradientBasedMethods/st
139a0 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 3b 01 00 05 72 65 73 65 74 08 00 2f 01 00 ats/OptimizerStats;...reset../..
139c0 00 09 00 01 00 31 0c 00 08 00 09 0a 00 1c 00 33 0c 00 34 00 14 01 00 05 63 6c 65 61 72 01 00 09 .....1.........3..4.....clear...
139e0 73 74 61 72 74 54 69 6d 65 0a 00 37 00 39 07 00 38 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 startTime..7.9..8...java/lang/Sy
13a00 73 74 65 6d 0c 00 3a 00 3b 01 00 11 63 75 72 72 65 6e 74 54 69 6d 65 4d 69 6c 6c 69 73 01 00 03 stem..:.;...currentTimeMillis...
13a20 28 29 4a 01 00 08 73 74 6f 70 54 69 6d 65 01 00 0b 70 72 65 74 74 79 50 72 69 6e 74 01 00 15 28 ()J...stopTime...prettyPrint...(
13a40 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 07 00 40 01 00 16 6a 61 76 61 2f 6c I)Ljava/lang/String;..@...java/l
13a60 61 6e 67 2f 53 74 72 69 6e 67 42 75 66 66 65 72 0a 00 3f 00 17 07 00 43 01 00 17 6a 61 76 61 2f ang/StringBuffer..?....C...java/
13a80 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 45 01 00 0b 54 6f 74 61 6c 20 74 69 lang/StringBuilder..E...Total.ti
13aa0 6d 65 20 0a 00 42 00 47 0c 00 13 00 48 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 me...B.G....H...(Ljava/lang/Stri
13ac0 6e 67 3b 29 56 06 40 8f 40 00 00 00 00 00 0a 00 42 00 4c 0c 00 4d 00 4e 01 00 06 61 70 70 65 6e ng;)V.@.@.......B.L..M.N...appen
13ae0 64 01 00 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b d...(D)Ljava/lang/StringBuilder;
13b00 08 00 50 01 00 0a 20 73 65 63 6f 6e 64 73 20 0a 0a 00 42 00 52 0c 00 4d 00 53 01 00 2d 28 4c 6a ..P....seconds....B.R..M.S..-(Lj
13b20 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 ava/lang/String;)Ljava/lang/Stri
13b40 6e 67 42 75 69 6c 64 65 72 3b 08 00 55 01 00 0b 49 74 65 72 61 74 69 6f 6e 73 20 0a 00 1c 00 57 ngBuilder;..U...Iterations.....W
13b60 0c 00 58 00 59 01 00 04 73 69 7a 65 01 00 03 28 29 49 0a 00 42 00 5b 0c 00 4d 00 5c 01 00 1c 28 ..X.Y...size...()I..B.[..M.\...(
13b80 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 5e 01 00 I)Ljava/lang/StringBuilder;..^..
13ba0 01 0a 0a 00 42 00 60 0c 00 61 00 62 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 ....B.`..a.b...toString...()Ljav
13bc0 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 3f 00 64 0c 00 4d 00 65 01 00 2c 28 4c 6a 61 76 a/lang/String;..?.d..M.e..,(Ljav
13be0 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 a/lang/String;)Ljava/lang/String
13c00 42 75 66 66 65 72 3b 0a 00 67 00 69 07 00 68 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 Buffer;..g.i..h...java/lang/Stri
13c20 6e 67 0c 00 6a 00 6b 01 00 07 76 61 6c 75 65 4f 66 01 00 26 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f ng..j.k...valueOf..&(Ljava/lang/
13c40 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 6d 01 00 0a Object;)Ljava/lang/String;..m...
13c60 09 49 74 65 72 61 74 69 6f 6e 0a 00 1c 00 6f 0c 00 70 00 71 01 00 03 67 65 74 01 00 15 28 49 29 .Iteration....o..p.q...get...(I)
13c80 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 0a 00 42 00 73 0c 00 4d 00 74 01 00 2d 28 Ljava/lang/Object;..B.s..M.t..-(
13ca0 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 Ljava/lang/Object;)Ljava/lang/St
13cc0 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 76 01 00 07 09 73 74 65 70 3a 20 07 00 78 01 00 10 6a ringBuilder;..v....step:...x...j
13ce0 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 0a 00 77 00 7a 0c 00 7b 00 7c 01 00 0b 64 6f 75 62 ava/lang/Double..w.z..{.|...doub
13d00 6c 65 56 61 6c 75 65 01 00 03 28 29 44 08 00 7e 01 00 07 30 2e 30 30 45 30 30 0a 00 80 00 82 07 leValue...()D..~...0.00E00......
13d20 00 81 01 00 1d 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 53 74 61 74 69 63 54 6f 6f .....optimization/util/StaticToo
13d40 6c 73 0c 00 3d 00 83 01 00 28 28 44 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 49 29 ls..=....((DLjava/lang/String;I)
13d60 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 85 01 00 0e 09 67 72 61 64 69 65 6e Ljava/lang/String;.......gradien
13d80 74 4e 6f 72 6d 20 08 00 87 01 00 0a 30 2e 30 30 30 30 30 45 30 30 08 00 89 01 00 07 09 76 61 6c tNorm.......0.00000E00.......val
13da0 75 65 20 08 00 8b 01 00 0b 30 2e 30 30 30 30 30 30 45 30 30 08 00 8d 01 00 0c 09 49 74 65 72 61 ue.......0.000000E00.......Itera
13dc0 74 69 6f 6e 3a 09 08 00 8f 01 00 06 09 73 74 65 70 3a 08 00 91 01 00 08 09 76 61 6c 75 65 3a 09 tion:........step:.......value:.
13de0 08 00 93 01 00 0c 09 76 61 6c 75 65 44 69 66 66 3a 09 0a 00 3f 00 60 01 00 05 6c 65 76 65 6c 01 .......valueDiff:...?.`...level.
13e00 00 01 49 01 00 03 72 65 73 01 00 18 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 66 ..I...res...Ljava/lang/StringBuf
13e20 66 65 72 3b 01 00 01 69 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 10 63 6f 6c 6c 65 fer;...i...StackMapTable...colle
13e40 63 74 49 6e 69 74 53 74 61 74 73 01 00 5d 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 ctInitStats..](Loptimization/gra
13e60 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 3b 4c 6f 70 74 dientBasedMethods/Optimizer;Lopt
13e80 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f imization/gradientBasedMethods/O
13ea0 62 6a 65 63 74 69 76 65 3b 29 56 0a 00 01 00 9e 0c 00 35 00 14 0a 00 a0 00 a2 07 00 a1 01 00 11 bjective;)V.......5.............
13ec0 6a 61 76 61 2f 6c 61 6e 67 2f 49 6e 74 65 67 65 72 0c 00 6a 00 a3 01 00 16 28 49 29 4c 6a 61 76 java/lang/Integer..j.....(I)Ljav
13ee0 61 2f 6c 61 6e 67 2f 49 6e 74 65 67 65 72 3b 0a 00 1c 00 a5 0c 00 a6 00 a7 01 00 03 61 64 64 01 a/lang/Integer;.............add.
13f00 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 5a 0a 00 a9 00 ab 07 00 aa 01 ..(Ljava/lang/Object;)Z.........
13f20 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 .+optimization/gradientBasedMeth
13f40 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 0c 00 ac 00 ad 01 00 0b 67 65 74 47 72 61 64 69 65 6e 74 ods/Objective........getGradient
13f60 01 00 04 28 29 5b 44 0a 00 af 00 b1 07 00 b0 01 00 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 ...()[D...........optimization/u
13f80 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 b2 00 b3 01 00 06 4c 32 4e 6f 72 6d 01 00 05 28 5b til/MathUtils........L2Norm...([
13fa0 44 29 44 0a 00 77 00 b5 0c 00 6a 00 b6 01 00 15 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f D)D..w....j.....(D)Ljava/lang/Do
13fc0 75 62 6c 65 3b 0a 00 a9 00 b8 0c 00 b9 00 7c 01 00 08 67 65 74 56 61 6c 75 65 01 00 09 6f 70 74 uble;.........|...getValue...opt
13fe0 69 6d 69 7a 65 72 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 imizer..-Loptimization/gradientB
14000 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 3b 01 00 09 6f 62 6a 65 63 74 69 asedMethods/Optimizer;...objecti
14020 76 65 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 ve..-Loptimization/gradientBased
14040 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 15 63 6f 6c 6c 65 63 74 49 74 65 72 Methods/Objective;...collectIter
14060 61 74 69 6f 6e 53 74 61 74 73 0b 00 c0 00 c2 07 00 c1 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f ationStats..........+optimizatio
14080 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 n/gradientBasedMethods/Optimizer
140a0 0c 00 c3 00 59 01 00 13 67 65 74 43 75 72 72 65 6e 74 49 74 65 72 61 74 69 6f 6e 0b 00 c0 00 c5 ....Y...getCurrentIteration.....
140c0 0c 00 c6 00 7c 01 00 0e 67 65 74 43 75 72 72 65 6e 74 53 74 65 70 0b 00 c0 00 c8 0c 00 c9 00 7c ....|...getCurrentStep.........|
140e0 01 00 0f 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 01 00 11 63 6f 6c 6c 65 63 74 46 69 6e 61 ...getCurrentValue...collectFina
14100 6c 53 74 61 74 73 0a 00 01 00 cc 0c 00 3c 00 14 0a 00 a9 00 ce 0c 00 cf 00 62 01 00 0f 66 69 6e lStats.......<...........b...fin
14120 61 6c 49 6e 66 6f 53 74 72 69 6e 67 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 13 4f 70 74 69 alInfoString...SourceFile...Opti
14140 6d 69 7a 65 72 53 74 61 74 73 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 08 00 00 00 05 00 06 00 mizerStats.java.!...............
14160 00 00 00 00 07 00 06 00 00 00 00 00 08 00 09 00 00 00 00 00 0a 00 0b 00 01 00 0c 00 00 00 02 00 ................................
14180 0d 00 00 00 0e 00 0b 00 01 00 0c 00 00 00 02 00 0d 00 00 00 0f 00 0b 00 01 00 0c 00 00 00 02 00 ................................
141a0 0d 00 00 00 10 00 0b 00 01 00 0c 00 00 00 02 00 11 00 00 00 12 00 06 00 00 00 08 00 01 00 13 00 ................................
141c0 14 00 01 00 15 00 00 00 8a 00 03 00 01 00 00 00 40 2a b7 00 16 2a 0e b5 00 18 2a 0e b5 00 1a 2a ................@*...*....*....*
141e0 bb 00 1c 59 b7 00 1e b5 00 1f 2a bb 00 1c 59 b7 00 1e b5 00 21 2a bb 00 1c 59 b7 00 1e b5 00 23 ...Y......*...Y.....!*...Y.....#
14200 2a bb 00 1c 59 b7 00 1e b5 00 25 2a 0e b5 00 27 b1 00 00 00 02 00 29 00 00 00 26 00 09 00 00 00 *...Y.....%*...'......)...&.....
14220 0b 00 04 00 0d 00 09 00 0e 00 0e 00 12 00 19 00 13 00 24 00 14 00 2f 00 15 00 3a 00 16 00 3f 00 ..................$.../...:...?.
14240 0b 00 2a 00 00 00 0c 00 01 00 00 00 40 00 2b 00 2c 00 00 00 01 00 2d 00 14 00 01 00 15 00 00 00 ..*.........@.+.,.....-.........
14260 7c 00 03 00 01 00 00 00 32 2a 0e b5 00 18 2a 0e b5 00 1a 2a 12 2e b5 00 30 2a b4 00 1f b6 00 32 |.......2*....*....*....0*.....2
14280 2a b4 00 21 b6 00 32 2a b4 00 23 b6 00 32 2a b4 00 25 b6 00 32 2a 0e b5 00 27 b1 00 00 00 02 00 *..!..2*..#..2*..%..2*...'......
142a0 29 00 00 00 26 00 09 00 00 00 19 00 05 00 1a 00 0a 00 1c 00 10 00 1e 00 17 00 1f 00 1e 00 20 00 )...&...........................
142c0 25 00 21 00 2c 00 22 00 31 00 23 00 2a 00 00 00 0c 00 01 00 00 00 32 00 2b 00 2c 00 00 00 01 00 %.!.,.".1.#.*.........2.+.,.....
142e0 35 00 14 00 01 00 15 00 00 00 37 00 03 00 01 00 00 00 09 2a b8 00 36 8a b5 00 18 b1 00 00 00 02 5.........7........*..6.........
14300 00 29 00 00 00 0a 00 02 00 00 00 26 00 08 00 27 00 2a 00 00 00 0c 00 01 00 00 00 09 00 2b 00 2c .).........&...'.*...........+.,
14320 00 00 00 01 00 3c 00 14 00 01 00 15 00 00 00 41 00 07 00 01 00 00 00 13 2a 59 b4 00 1a b8 00 36 .....<.........A........*Y.....6
14340 8a 2a b4 00 18 67 63 b5 00 1a b1 00 00 00 02 00 29 00 00 00 0a 00 02 00 00 00 29 00 12 00 2a 00 .*...gc.........).........)...*.
14360 2a 00 00 00 0c 00 01 00 00 00 13 00 2b 00 2c 00 00 00 01 00 3d 00 3e 00 01 00 15 00 00 02 3c 00 *...........+.,.....=.>.......<.
14380 06 00 04 00 00 01 9c bb 00 3f 59 b7 00 41 4d 2c bb 00 42 59 12 44 b7 00 46 2a b4 00 1a 14 00 49 .........?Y..AM,..BY.D..F*.....I
143a0 6f b6 00 4b 12 4f b6 00 51 12 54 b6 00 51 2a b4 00 25 b6 00 56 b6 00 5a 12 5d b6 00 51 b6 00 5f o..K.O..Q.T..Q*..%..V..Z.]..Q.._
143c0 b6 00 63 57 2c bb 00 42 59 2a b4 00 30 b8 00 66 b7 00 46 12 5d b6 00 51 b6 00 5f b6 00 63 57 1b ..cW,..BY*..0..f..F.]..Q.._..cW.
143e0 9e 01 3e 2a b4 00 25 b6 00 56 9e 00 7b 2c bb 00 42 59 12 6c b7 00 46 2a b4 00 25 03 b6 00 6e b6 ..>*..%..V..{,..BY.l..F*..%...n.
14400 00 72 12 75 b6 00 51 2a b4 00 21 03 b6 00 6e c0 00 77 b6 00 79 12 7d 10 06 b8 00 7f b6 00 51 12 .r.u..Q*..!...n..w..y.}.......Q.
14420 84 b6 00 51 2a b4 00 1f 03 b6 00 6e c0 00 77 b6 00 79 12 86 10 0a b8 00 7f b6 00 51 12 88 b6 00 ...Q*......n..w..y.........Q....
14440 51 2a b4 00 23 03 b6 00 6e c0 00 77 b6 00 79 12 8a 10 0b b8 00 7f b6 00 51 12 5d b6 00 51 b6 00 Q*..#...n..w..y.........Q.]..Q..
14460 5f b6 00 63 57 04 3e a7 00 ac 2c bb 00 42 59 12 8c b7 00 46 2a b4 00 25 1d b6 00 6e b6 00 72 12 _..cW.>...,..BY....F*..%...n..r.
14480 8e b6 00 51 2a b4 00 21 1d b6 00 6e c0 00 77 b6 00 79 12 7d 10 06 b8 00 7f b6 00 51 12 84 b6 00 ...Q*..!...n..w..y.}.......Q....
144a0 51 2a b4 00 1f 1d b6 00 6e c0 00 77 b6 00 79 12 86 10 0a b8 00 7f b6 00 51 12 90 b6 00 51 2a b4 Q*......n..w..y.........Q....Q*.
144c0 00 23 1d b6 00 6e c0 00 77 b6 00 79 12 8a 10 0b b8 00 7f b6 00 51 12 92 b6 00 51 2a b4 00 23 1d .#...n..w..y.........Q....Q*..#.
144e0 04 64 b6 00 6e c0 00 77 b6 00 79 2a b4 00 23 1d b6 00 6e c0 00 77 b6 00 79 67 12 8a 10 0b b8 00 .d..n..w..y*..#...n..w..yg......
14500 7f b6 00 51 12 5d b6 00 51 b6 00 5f b6 00 63 57 84 03 01 1d 2a b4 00 25 b6 00 56 a1 ff 4f 2c b6 ...Q.]..Q.._..cW....*..%..V..O,.
14520 00 94 b0 00 00 00 03 00 29 00 00 00 46 00 11 00 00 00 2d 00 08 00 2e 00 3d 00 2f 00 58 00 30 00 ........)...F.....-.....=./.X.0.
14540 5c 00 31 00 66 00 32 00 9d 00 33 00 da 00 32 00 de 00 35 00 e3 00 36 01 1a 00 37 01 32 00 38 01 \.1.f.2...3...2...5...6...7.2.8.
14560 4f 00 39 01 7d 00 3a 01 85 00 36 01 89 00 35 01 97 00 3d 00 2a 00 00 00 2a 00 04 00 00 01 9c 00 O.9.}.:...6...5...=.*...*.......
14580 2b 00 2c 00 00 00 00 01 9c 00 95 00 96 00 01 00 08 01 94 00 97 00 98 00 02 00 e0 00 b7 00 99 00 +.,.............................
145a0 96 00 03 00 9a 00 00 00 12 00 04 fc 00 de 07 00 3f fc 00 04 01 fb 00 a8 fa 00 0a 00 01 00 9b 00 ................?...............
145c0 9c 00 01 00 15 00 00 00 90 00 03 00 03 00 00 00 3e 2a b6 00 9d 2a b4 00 25 02 b8 00 9f b6 00 a4 ................>*...*..%.......
145e0 57 2a b4 00 1f 2c b6 00 a8 b8 00 ae b8 00 b4 b6 00 a4 57 2a b4 00 21 0e b8 00 b4 b6 00 a4 57 2a W*...,............W*..!.......W*
14600 b4 00 23 2c b6 00 b7 b8 00 b4 b6 00 a4 57 b1 00 00 00 02 00 29 00 00 00 1a 00 06 00 00 00 42 00 ..#,.........W......).........B.
14620 04 00 43 00 10 00 44 00 22 00 45 00 2e 00 46 00 3d 00 47 00 2a 00 00 00 20 00 03 00 00 00 3e 00 ..C...D.".E...F.=.G.*.........>.
14640 2b 00 2c 00 00 00 00 00 3e 00 ba 00 bb 00 01 00 00 00 3e 00 bc 00 bd 00 02 00 01 00 be 00 9c 00 +.,.....>.........>.............
14660 01 00 15 00 00 00 94 00 03 00 03 00 00 00 46 2a b4 00 25 2b b9 00 bf 01 00 b8 00 9f b6 00 a4 57 ..............F*..%+...........W
14680 2a b4 00 1f 2c b6 00 a8 b8 00 ae b8 00 b4 b6 00 a4 57 2a b4 00 21 2b b9 00 c4 01 00 b8 00 b4 b6 *...,............W*..!+.........
146a0 00 a4 57 2a b4 00 23 2b b9 00 c7 01 00 b8 00 b4 b6 00 a4 57 b1 00 00 00 02 00 29 00 00 00 16 00 ..W*..#+...........W......).....
146c0 05 00 00 00 4a 00 11 00 4b 00 23 00 4c 00 34 00 4d 00 45 00 4e 00 2a 00 00 00 20 00 03 00 00 00 ....J...K.#.L.4.M.E.N.*.........
146e0 46 00 2b 00 2c 00 00 00 00 00 46 00 ba 00 bb 00 01 00 00 00 46 00 bc 00 bd 00 02 00 01 00 ca 00 F.+.,.....F.........F...........
14700 9c 00 01 00 15 00 00 00 53 00 02 00 03 00 00 00 0d 2a b6 00 cb 2a 2c b6 00 cd b5 00 30 b1 00 00 ........S........*...*,.....0...
14720 00 02 00 29 00 00 00 0e 00 03 00 00 00 52 00 04 00 53 00 0c 00 54 00 2a 00 00 00 20 00 03 00 00 ...).........R...S...T.*........
14740 00 0d 00 2b 00 2c 00 00 00 00 00 0d 00 ba 00 bb 00 01 00 00 00 0d 00 bc 00 bd 00 02 00 01 00 d0 ...+.,..........................
14760 00 00 00 02 00 d1 50 4b 03 04 0a 00 00 00 00 00 b1 69 d6 3c 01 3e 33 cb 50 0a 00 00 50 0a 00 00 ......PK.........i.<.>3.P...P...
14780 3b 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 ;...optimization/gradientBasedMe
147a0 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 2e 6a 61 76 61 70 thods/stats/OptimizerStats.javap
147c0 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 ackage.optimization.gradientBase
147e0 64 4d 65 74 68 6f 64 73 2e 73 74 61 74 73 3b 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 dMethods.stats;..import.java.uti
14800 6c 2e 41 72 72 61 79 4c 69 73 74 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f l.ArrayList;..import.optimizatio
14820 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 n.gradientBasedMethods.Objective
14840 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 ;.import.optimization.gradientBa
14860 73 65 64 4d 65 74 68 6f 64 73 2e 4f 70 74 69 6d 69 7a 65 72 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 sedMethods.Optimizer;.import.opt
14880 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 69 6d 70 6f 72 74 imization.util.MathUtils;.import
148a0 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 53 74 61 74 69 63 54 6f 6f 6c 73 3b 0a .optimization.util.StaticTools;.
148c0 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 20 7b 0a ..public.class.OptimizerStats.{.
148e0 09 0a 09 64 6f 75 62 6c 65 20 73 74 61 72 74 20 3d 20 30 3b 0a 09 64 6f 75 62 6c 65 20 74 6f 74 ...double.start.=.0;..double.tot
14900 61 6c 54 69 6d 65 20 3d 20 30 3b 0a 09 0a 09 53 74 72 69 6e 67 20 6f 62 6a 65 63 74 69 76 65 46 alTime.=.0;....String.objectiveF
14920 69 6e 61 6c 53 74 61 74 73 3b 0a 09 0a 09 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 inalStats;....ArrayList<Double>.
14940 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 69 73 74 3c 44 6f gradientNorms.=.new.ArrayList<Do
14960 75 62 6c 65 3e 28 29 3b 0a 09 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 73 74 65 70 uble>();..ArrayList<Double>.step
14980 73 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 28 29 3b 0a 09 41 72 s.=.new.ArrayList<Double>();..Ar
149a0 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 76 61 6c 75 65 20 3d 20 6e 65 77 20 41 72 72 61 rayList<Double>.value.=.new.Arra
149c0 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 28 29 3b 0a 09 41 72 72 61 79 4c 69 73 74 3c 49 6e 74 65 yList<Double>();..ArrayList<Inte
149e0 67 65 72 3e 20 69 74 65 72 61 74 69 6f 6e 73 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 69 73 74 3c ger>.iterations.=.new.ArrayList<
14a00 49 6e 74 65 67 65 72 3e 28 29 3b 0a 09 64 6f 75 62 6c 65 20 70 72 65 76 56 61 6c 75 65 20 3d 30 Integer>();..double.prevValue.=0
14a20 3b 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 73 74 61 72 ;....public.void.reset(){...star
14a40 74 20 3d 20 30 3b 0a 09 09 74 6f 74 61 6c 54 69 6d 65 20 3d 20 30 3b 0a 09 09 0a 09 09 6f 62 6a t.=.0;...totalTime.=.0;......obj
14a60 65 63 74 69 76 65 46 69 6e 61 6c 53 74 61 74 73 3d 22 22 3b 0a 09 09 0a 09 09 67 72 61 64 69 65 ectiveFinalStats="";......gradie
14a80 6e 74 4e 6f 72 6d 73 2e 63 6c 65 61 72 28 29 3b 0a 09 09 73 74 65 70 73 2e 63 6c 65 61 72 28 29 ntNorms.clear();...steps.clear()
14aa0 3b 0a 09 09 76 61 6c 75 65 2e 63 6c 65 61 72 28 29 3b 0a 09 09 69 74 65 72 61 74 69 6f 6e 73 2e ;...value.clear();...iterations.
14ac0 63 6c 65 61 72 28 29 3b 0a 09 09 70 72 65 76 56 61 6c 75 65 20 3d 30 3b 0a 09 7d 0a 09 0a 09 70 clear();...prevValue.=0;..}....p
14ae0 75 62 6c 69 63 20 76 6f 69 64 20 73 74 61 72 74 54 69 6d 65 28 29 20 7b 0a 09 09 73 74 61 72 74 ublic.void.startTime().{...start
14b00 20 3d 20 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 54 69 6d 65 4d 69 6c 6c 69 73 28 29 3b 0a 09 .=.System.currentTimeMillis();..
14b20 7d 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 74 6f 70 54 69 6d 65 28 29 20 7b 0a 09 09 74 6f }..public.void.stopTime().{...to
14b40 74 61 6c 54 69 6d 65 20 2b 3d 20 53 79 73 74 65 6d 2e 63 75 72 72 65 6e 74 54 69 6d 65 4d 69 6c talTime.+=.System.currentTimeMil
14b60 6c 69 73 28 29 20 2d 20 73 74 61 72 74 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 53 74 72 69 lis().-.start;..}....public.Stri
14b80 6e 67 20 70 72 65 74 74 79 50 72 69 6e 74 28 69 6e 74 20 6c 65 76 65 6c 29 7b 0a 09 09 53 74 72 ng.prettyPrint(int.level){...Str
14ba0 69 6e 67 42 75 66 66 65 72 20 72 65 73 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 75 66 66 65 72 ingBuffer.res.=.new.StringBuffer
14bc0 28 29 3b 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 54 6f 74 61 6c 20 74 69 6d 65 20 22 20 2b ();...res.append("Total.time.".+
14be0 20 74 6f 74 61 6c 54 69 6d 65 2f 31 30 30 30 20 2b 20 22 20 73 65 63 6f 6e 64 73 20 5c 6e 22 20 .totalTime/1000.+.".seconds.\n".
14c00 2b 20 22 49 74 65 72 61 74 69 6f 6e 73 20 22 20 2b 20 69 74 65 72 61 74 69 6f 6e 73 2e 73 69 7a +."Iterations.".+.iterations.siz
14c20 65 28 29 20 2b 20 22 5c 6e 22 29 3b 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 6f 62 6a 65 63 74 e().+."\n");...res.append(object
14c40 69 76 65 46 69 6e 61 6c 53 74 61 74 73 2b 22 5c 6e 22 29 3b 0a 09 09 69 66 28 6c 65 76 65 6c 20 iveFinalStats+"\n");...if(level.
14c60 3e 20 30 29 7b 0a 09 09 09 69 66 28 69 74 65 72 61 74 69 6f 6e 73 2e 73 69 7a 65 28 29 20 3e 20 >.0){....if(iterations.size().>.
14c80 30 29 7b 0a 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 5c 74 49 74 65 72 61 74 69 6f 6e 22 2b 0){....res.append("\tIteration"+
14ca0 69 74 65 72 61 74 69 6f 6e 73 2e 67 65 74 28 30 29 2b 22 5c 74 73 74 65 70 3a 20 22 2b 53 74 61 iterations.get(0)+"\tstep:."+Sta
14cc0 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 73 74 65 70 73 2e 67 65 74 28 30 ticTools.prettyPrint(steps.get(0
14ce0 29 2c 20 22 30 2e 30 30 45 30 30 22 2c 20 36 29 2b 20 22 5c 74 67 72 61 64 69 65 6e 74 4e 6f 72 ),."0.00E00",.6)+."\tgradientNor
14d00 6d 20 22 2b 20 0a 09 09 09 09 09 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 m."+.......StaticTools.prettyPri
14d20 6e 74 28 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 67 65 74 28 30 29 2c 20 22 30 2e 30 30 30 30 nt(gradientNorms.get(0),."0.0000
14d40 30 45 30 30 22 2c 20 31 30 29 2b 20 22 5c 74 76 61 6c 75 65 20 22 2b 20 53 74 61 74 69 63 54 6f 0E00",.10)+."\tvalue."+.StaticTo
14d60 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 76 61 6c 75 65 2e 67 65 74 28 30 29 2c 20 22 30 ols.prettyPrint(value.get(0),."0
14d80 2e 30 30 30 30 30 30 45 30 30 22 2c 31 31 29 2b 22 5c 6e 22 29 3b 0a 09 09 09 7d 0a 09 09 09 66 .000000E00",11)+"\n");....}....f
14da0 6f 72 28 69 6e 74 20 69 20 3d 20 31 3b 20 69 20 3c 20 69 74 65 72 61 74 69 6f 6e 73 2e 73 69 7a or(int.i.=.1;.i.<.iterations.siz
14dc0 65 28 29 3b 20 69 2b 2b 29 7b 0a 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 5c 74 49 74 65 72 e();.i++){....res.append("\tIter
14de0 61 74 69 6f 6e 3a 5c 74 22 2b 69 74 65 72 61 74 69 6f 6e 73 2e 67 65 74 28 69 29 2b 22 5c 74 73 ation:\t"+iterations.get(i)+"\ts
14e00 74 65 70 3a 22 2b 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 73 74 tep:"+StaticTools.prettyPrint(st
14e20 65 70 73 2e 67 65 74 28 69 29 2c 20 22 30 2e 30 30 45 30 30 22 2c 20 36 29 2b 20 22 5c 74 67 72 eps.get(i),."0.00E00",.6)+."\tgr
14e40 61 64 69 65 6e 74 4e 6f 72 6d 20 22 2b 20 0a 09 09 09 09 09 53 74 61 74 69 63 54 6f 6f 6c 73 2e adientNorm."+.......StaticTools.
14e60 70 72 65 74 74 79 50 72 69 6e 74 28 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 67 65 74 28 69 29 prettyPrint(gradientNorms.get(i)
14e80 2c 20 22 30 2e 30 30 30 30 30 45 30 30 22 2c 20 31 30 29 2b 20 0a 09 09 09 09 09 22 5c 74 76 61 ,."0.00000E00",.10)+......."\tva
14ea0 6c 75 65 3a 5c 74 22 2b 20 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 lue:\t"+.StaticTools.prettyPrint
14ec0 28 76 61 6c 75 65 2e 67 65 74 28 69 29 2c 20 22 30 2e 30 30 30 30 30 30 45 30 30 22 2c 31 31 29 (value.get(i),."0.000000E00",11)
14ee0 2b 0a 09 09 09 09 09 22 5c 74 76 61 6c 75 65 44 69 66 66 3a 5c 74 22 2b 20 53 74 61 74 69 63 54 +......"\tvalueDiff:\t"+.StaticT
14f00 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 28 76 61 6c 75 65 2e 67 65 74 28 69 2d 31 29 ools.prettyPrint((value.get(i-1)
14f20 2d 76 61 6c 75 65 2e 67 65 74 28 69 29 29 2c 20 22 30 2e 30 30 30 30 30 30 45 30 30 22 2c 31 31 -value.get(i)),."0.000000E00",11
14f40 29 2b 0a 09 09 09 09 09 22 5c 6e 22 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e )+......"\n");....}...}...return
14f60 20 72 65 73 2e 74 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 .res.toString();..}......public.
14f80 76 6f 69 64 20 63 6f 6c 6c 65 63 74 49 6e 69 74 53 74 61 74 73 28 4f 70 74 69 6d 69 7a 65 72 20 void.collectInitStats(Optimizer.
14fa0 6f 70 74 69 6d 69 7a 65 72 2c 20 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 65 63 74 69 76 65 29 7b optimizer,.Objective.objective){
14fc0 0a 09 09 73 74 61 72 74 54 69 6d 65 28 29 3b 0a 09 09 69 74 65 72 61 74 69 6f 6e 73 2e 61 64 64 ...startTime();...iterations.add
14fe0 28 2d 31 29 3b 0a 09 09 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 61 64 64 28 4d 61 74 68 55 74 (-1);...gradientNorms.add(MathUt
15000 69 6c 73 2e 4c 32 4e 6f 72 6d 28 6f 62 6a 65 63 74 69 76 65 2e 67 65 74 47 72 61 64 69 65 6e 74 ils.L2Norm(objective.getGradient
15020 28 29 29 29 3b 0a 09 09 73 74 65 70 73 2e 61 64 64 28 30 2e 30 29 3b 0a 09 09 76 61 6c 75 65 2e ()));...steps.add(0.0);...value.
15040 61 64 64 28 6f 62 6a 65 63 74 69 76 65 2e 67 65 74 56 61 6c 75 65 28 29 29 3b 0a 09 7d 0a 09 0a add(objective.getValue());..}...
15060 09 70 75 62 6c 69 63 20 76 6f 69 64 20 63 6f 6c 6c 65 63 74 49 74 65 72 61 74 69 6f 6e 53 74 61 .public.void.collectIterationSta
15080 74 73 28 4f 70 74 69 6d 69 7a 65 72 20 6f 70 74 69 6d 69 7a 65 72 2c 20 4f 62 6a 65 63 74 69 76 ts(Optimizer.optimizer,.Objectiv
150a0 65 20 6f 62 6a 65 63 74 69 76 65 29 7b 0a 09 09 69 74 65 72 61 74 69 6f 6e 73 2e 61 64 64 28 6f e.objective){...iterations.add(o
150c0 70 74 69 6d 69 7a 65 72 2e 67 65 74 43 75 72 72 65 6e 74 49 74 65 72 61 74 69 6f 6e 28 29 29 3b ptimizer.getCurrentIteration());
150e0 0a 09 09 67 72 61 64 69 65 6e 74 4e 6f 72 6d 73 2e 61 64 64 28 4d 61 74 68 55 74 69 6c 73 2e 4c ...gradientNorms.add(MathUtils.L
15100 32 4e 6f 72 6d 28 6f 62 6a 65 63 74 69 76 65 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 29 29 3b 2Norm(objective.getGradient()));
15120 0a 09 09 73 74 65 70 73 2e 61 64 64 28 6f 70 74 69 6d 69 7a 65 72 2e 67 65 74 43 75 72 72 65 6e ...steps.add(optimizer.getCurren
15140 74 53 74 65 70 28 29 29 3b 0a 09 09 76 61 6c 75 65 2e 61 64 64 28 6f 70 74 69 6d 69 7a 65 72 2e tStep());...value.add(optimizer.
15160 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b 0a 09 7d 0a 09 0a 09 0a 09 70 75 62 6c getCurrentValue());..}......publ
15180 69 63 20 76 6f 69 64 20 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 53 74 61 74 73 28 4f 70 74 69 6d 69 ic.void.collectFinalStats(Optimi
151a0 7a 65 72 20 6f 70 74 69 6d 69 7a 65 72 2c 20 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 65 63 74 69 zer.optimizer,.Objective.objecti
151c0 76 65 29 7b 0a 09 09 73 74 6f 70 54 69 6d 65 28 29 3b 0a 09 09 6f 62 6a 65 63 74 69 76 65 46 69 ve){...stopTime();...objectiveFi
151e0 6e 61 6c 53 74 61 74 73 20 3d 20 6f 62 6a 65 63 74 69 76 65 2e 66 69 6e 61 6c 49 6e 66 6f 53 74 nalStats.=.objective.finalInfoSt
15200 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 2c d4 bf ring();..}...}.PK.........Y.<,..
15220 11 d1 04 00 00 d1 04 00 00 2d 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 .........-...optimization/linese
15240 61 72 63 68 2f 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 63 6c 61 73 73 ca fe ba be 00 00 arch/WolfeConditions.class......
15260 00 32 00 3a 07 00 02 01 00 27 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 .2.:.....'optimization/linesearc
15280 68 2f 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 h/WolfeConditions......java/lang
152a0 2f 4f 62 6a 65 63 74 01 00 0a 64 65 62 75 67 4c 65 76 65 6c 01 00 01 49 01 00 06 3c 69 6e 69 74 /Object...debugLevel...I...<init
152c0 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 0b 0c 00 07 00 08 09 00 01 00 0d 0c 00 05 >...()V...Code..................
152e0 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 .....LineNumberTable...LocalVari
15300 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 29 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ableTable...this..)Loptimization
15320 2f 6c 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 3b 01 00 0d 73 /linesearch/WolfeConditions;...s
15340 65 74 44 65 62 75 67 4c 65 76 65 6c 01 00 04 28 49 29 56 01 00 05 6c 65 76 65 6c 01 00 11 73 75 etDebugLevel...(I)V...level...su
15360 66 69 63 69 65 6e 74 44 65 63 72 65 61 73 65 01 00 3f 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ficientDecrease..?(Loptimization
15380 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 /linesearch/DifferentiableLineSe
153a0 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 44 29 5a 0a 00 18 00 1a 07 00 19 01 00 39 6f 70 74 69 archObjective;D)Z..........9opti
153c0 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 mization/linesearch/Differentiab
153e0 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 0c 00 1b 00 1c 01 00 10 67 65 74 leLineSearchObjective........get
15400 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 01 00 03 28 29 44 0a 00 18 00 1e 0c 00 1f 00 1c 01 00 08 OriginalValue...()D.............
15420 67 65 74 41 6c 70 68 61 0a 00 18 00 21 0c 00 22 00 1c 01 00 12 67 65 74 49 6e 69 74 69 61 6c 47 getAlpha....!..".....getInitialG
15440 72 61 64 69 65 6e 74 0a 00 18 00 24 0c 00 25 00 1c 01 00 0f 67 65 74 43 75 72 72 65 6e 74 56 61 radient....$..%.....getCurrentVa
15460 6c 75 65 01 00 01 6f 01 00 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 lue...o..;Loptimization/linesear
15480 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 ch/DifferentiableLineSearchObjec
154a0 74 69 76 65 3b 01 00 02 63 31 01 00 01 44 01 00 05 76 61 6c 75 65 01 00 0d 53 74 61 63 6b 4d 61 tive;...c1...D...value...StackMa
154c0 70 54 61 62 6c 65 01 00 13 73 75 66 66 69 63 69 65 6e 74 43 75 72 76 61 74 75 72 65 01 00 40 28 pTable...sufficientCurvature..@(
154e0 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 Loptimization/linesearch/Differe
15500 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 44 44 29 5a 0a ntiableLineSearchObjective;DD)Z.
15520 00 18 00 2f 0c 00 30 00 1c 01 00 12 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 0a 00 .../..0.....getCurrentGradient..
15540 32 00 34 07 00 33 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 68 0c 00 35 00 36 01 00 03 61 2.4..3...java/lang/Math..5.6...a
15560 62 73 01 00 04 28 44 29 44 01 00 02 63 32 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 14 57 6f bs...(D)D...c2...SourceFile...Wo
15580 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 01 00 00 00 05 lfeConditions.java.!............
155a0 00 06 00 00 00 04 00 01 00 07 00 08 00 01 00 09 00 00 00 3c 00 02 00 01 00 00 00 0a 2a b7 00 0a ...................<........*...
155c0 2a 03 b5 00 0c b1 00 00 00 02 00 0e 00 00 00 0e 00 03 00 00 00 04 00 04 00 11 00 09 00 04 00 0f *...............................
155e0 00 00 00 0c 00 01 00 00 00 0a 00 10 00 11 00 00 00 01 00 12 00 13 00 01 00 09 00 00 00 3e 00 02 .............................>..
15600 00 02 00 00 00 06 2a 1b b5 00 0c b1 00 00 00 02 00 0e 00 00 00 0a 00 02 00 00 00 13 00 05 00 14 ......*.........................
15620 00 0f 00 00 00 16 00 02 00 00 00 06 00 10 00 11 00 00 00 00 00 06 00 14 00 06 00 01 00 09 00 15 ................................
15640 00 16 00 01 00 09 00 00 00 6c 00 06 00 05 00 00 00 1e 2a b6 00 17 27 2a b6 00 1d 6b 2a b6 00 20 .........l........*...'*...k*...
15660 6b 63 4a 2a b6 00 23 29 98 9d 00 05 04 ac 03 ac 00 00 00 03 00 0e 00 00 00 0a 00 02 00 00 00 17 kcJ*..#)........................
15680 00 11 00 19 00 0f 00 00 00 20 00 03 00 00 00 1e 00 26 00 27 00 00 00 00 00 1e 00 28 00 29 00 01 .................&.'.......(.)..
156a0 00 11 00 0d 00 2a 00 29 00 03 00 2b 00 00 00 06 00 01 fc 00 1c 03 00 09 00 2c 00 2d 00 01 00 09 .....*.)...+.............,.-....
156c0 00 00 00 5d 00 06 00 05 00 00 00 16 2a b6 00 2e b8 00 31 29 77 2a b6 00 20 6b 98 9d 00 05 04 ac ...]........*.....1)w*...k......
156e0 03 ac 00 00 00 03 00 0e 00 00 00 06 00 01 00 00 00 2a 00 0f 00 00 00 20 00 03 00 00 00 16 00 26 .................*.............&
15700 00 27 00 00 00 00 00 16 00 28 00 29 00 01 00 00 00 16 00 37 00 29 00 03 00 2b 00 00 00 03 00 01 .'.......(.).......7.)...+......
15720 14 00 01 00 38 00 00 00 02 00 39 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c f5 cb f8 de 90 04 00 ....8.....9PK.........i.<.......
15740 00 90 04 00 00 2c 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 .....,...optimization/linesearch
15760 2f 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 /WolfeConditions.javapackage.opt
15780 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 3b 0a 0a 0a 70 75 62 6c 69 63 20 63 imization.linesearch;...public.c
157a0 6c 61 73 73 20 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 20 7b 0a 09 0a 09 2f 2a 2a 0a 09 20 lass.WolfeConditions.{..../**...
157c0 2a 20 53 75 66 66 69 63 69 65 6e 74 20 49 6e 63 72 65 61 73 65 20 6e 75 6d 62 65 72 2e 20 44 65 *.Sufficient.Increase.number..De
157e0 66 61 75 6c 74 20 63 6f 6e 73 74 61 6e 74 0a 09 20 2a 2f 0a 09 0a 09 0a 09 2f 2a 2a 0a 09 20 2a fault.constant...*/....../**...*
15800 20 56 61 6c 75 65 20 66 6f 72 20 73 75 66 69 63 69 65 6e 74 20 63 75 72 76 61 74 75 72 65 3a 0a .Value.for.suficient.curvature:.
15820 09 20 2a 20 30 2e 39 20 2d 20 46 6f 72 20 6e 65 77 74 6f 6e 20 61 6e 64 20 71 75 61 73 65 20 6e ..*.0.9.-.For.newton.and.quase.n
15840 65 74 77 6f 6e 20 6d 65 74 68 6f 64 73 0a 09 20 2a 20 30 2e 31 20 2d 20 4e 6f 6e 20 6c 69 6e 65 etwon.methods...*.0.1.-.Non.line
15860 61 72 20 63 6f 6e 68 75 67 61 74 65 20 67 72 61 64 69 65 6e 74 0a 09 20 2a 2f 0a 09 0a 09 69 6e ar.conhugate.gradient...*/....in
15880 74 20 64 65 62 75 67 4c 65 76 65 6c 20 3d 20 30 3b 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 t.debugLevel.=.0;..public.void.s
158a0 65 74 44 65 62 75 67 4c 65 76 65 6c 28 69 6e 74 20 6c 65 76 65 6c 29 7b 0a 09 09 64 65 62 75 67 etDebugLevel(int.level){...debug
158c0 4c 65 76 65 6c 20 3d 20 6c 65 76 65 6c 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 20 73 74 61 Level.=.level;..}....public..sta
158e0 74 69 63 20 62 6f 6f 6c 65 61 6e 20 73 75 66 69 63 69 65 6e 74 44 65 63 72 65 61 73 65 28 44 69 tic.boolean.suficientDecrease(Di
15900 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 20 fferentiableLineSearchObjective.
15920 6f 2c 20 64 6f 75 62 6c 65 20 63 31 29 7b 09 0a 09 09 64 6f 75 62 6c 65 20 76 61 6c 75 65 20 3d o,.double.c1){....double.value.=
15940 20 6f 2e 67 65 74 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 28 29 2b 63 31 2a 6f 2e 67 65 74 41 6c .o.getOriginalValue()+c1*o.getAl
15960 70 68 61 28 29 2a 6f 2e 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 3b 0a 2f 2f pha()*o.getInitialGradient();.//
15980 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 75 66 66 69 63 69 65 6e 74 ..System.out.println("Sufficient
159a0 20 44 65 63 72 65 61 73 65 20 6f 72 69 67 69 6e 61 6c 20 22 2b 76 61 6c 75 65 2b 22 20 6e 65 77 .Decrease.original."+value+".new
159c0 20 22 2b 20 20 6f 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b 0a 09 09 72 65 74 ."+..o.getCurrentValue());...ret
159e0 75 72 6e 20 6f 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 20 3c 3d 20 76 61 6c 75 65 urn.o.getCurrentValue().<=.value
15a00 3b 0a 09 7d 0a 09 0a 09 0a 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 65 61 ;..}........public.static.boolea
15a20 6e 20 73 75 66 66 69 63 69 65 6e 74 43 75 72 76 61 74 75 72 65 28 44 69 66 66 65 72 65 6e 74 69 n.sufficientCurvature(Differenti
15a40 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 20 6f 2c 20 64 6f 75 62 6c ableLineSearchObjective.o,.doubl
15a60 65 20 63 31 2c 20 64 6f 75 62 6c 65 20 63 32 29 7b 0a 2f 2f 09 09 69 66 28 64 65 62 75 67 4c 65 e.c1,.double.c2){.//..if(debugLe
15a80 76 65 6c 20 3e 3d 20 32 29 7b 0a 2f 2f 09 09 09 64 6f 75 62 6c 65 20 63 75 72 72 65 6e 74 20 3d vel.>=.2){.//...double.current.=
15aa0 20 4d 61 74 68 2e 61 62 73 28 6f 2e 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 28 29 .Math.abs(o.getCurrentGradient()
15ac0 29 3b 0a 2f 2f 09 09 09 64 6f 75 62 6c 65 20 6f 72 69 67 20 3d 20 2d 63 32 2a 6f 2e 67 65 74 49 );.//...double.orig.=.-c2*o.getI
15ae0 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 3b 0a 2f 2f 09 09 09 69 66 28 63 75 72 72 65 6e nitialGradient();.//...if(curren
15b00 74 20 3c 3d 20 6f 72 69 67 29 7b 0a 2f 2f 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 2f t.<=.orig){.//....return.true;./
15b20 2f 09 09 09 7d 65 6c 73 65 7b 0a 2f 2f 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e /...}else{.//....System.out.prin
15b40 74 6c 6e 28 22 4e 6f 74 20 73 61 74 69 73 74 66 79 69 6e 67 20 63 75 72 76 61 74 75 72 65 20 63 tln("Not.satistfying.curvature.c
15b60 6f 6e 64 69 74 69 6f 6e 20 63 75 72 76 61 74 75 72 65 20 22 20 2b 20 63 75 72 72 65 6e 74 20 2b ondition.curvature.".+.current.+
15b80 20 22 20 77 61 6e 74 73 20 22 20 2b 20 6f 72 69 67 29 3b 0a 2f 2f 09 09 09 09 72 65 74 75 72 6e .".wants.".+.orig);.//....return
15ba0 20 66 61 6c 73 65 3b 0a 2f 2f 09 09 09 7d 0a 2f 2f 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 4d 61 .false;.//...}.//..}...return.Ma
15bc0 74 68 2e 61 62 73 28 6f 2e 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 28 29 29 20 3c th.abs(o.getCurrentGradient()).<
15be0 3d 20 2d 63 32 2a 6f 2e 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 3b 0a 09 7d =.-c2*o.getInitialGradient();..}
15c00 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 60 22 e7 30 7c 01 00 00 7c 01 00 00 2e ...}.PK.........Y.<`".0|...|....
15c20 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 ...optimization/linesearch/LineS
15c40 65 61 72 63 68 4d 65 74 68 6f 64 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 11 07 00 02 01 00 earchMethod.class.......2.......
15c60 28 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 (optimization/linesearch/LineSea
15c80 72 63 68 4d 65 74 68 6f 64 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 rchMethod......java/lang/Object.
15ca0 00 0b 67 65 74 53 74 65 70 53 69 7a 65 01 00 3e 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c ..getStepSize..>(Loptimization/l
15cc0 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 inesearch/DifferentiableLineSear
15ce0 63 68 4f 62 6a 65 63 74 69 76 65 3b 29 44 01 00 12 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 chObjective;)D...getInitialGradi
15d00 65 6e 74 01 00 03 28 29 44 01 00 1a 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 ent...()D...getPreviousInitialGr
15d20 61 64 69 65 6e 74 01 00 13 67 65 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 01 00 0e 73 adient...getPreviousStepUsed...s
15d40 65 74 49 6e 69 74 69 61 6c 53 74 65 70 01 00 04 28 44 29 56 01 00 05 72 65 73 65 74 01 00 03 28 etInitialStep...(D)V...reset...(
15d60 29 56 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 15 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 )V...SourceFile...LineSearchMeth
15d80 6f 64 2e 6a 61 76 61 06 01 00 01 00 03 00 00 00 00 00 06 04 01 00 05 00 06 00 00 04 01 00 07 00 od.java.........................
15da0 08 00 00 04 01 00 09 00 08 00 00 04 01 00 0a 00 08 00 00 04 01 00 0b 00 0c 00 00 04 01 00 0d 00 ................................
15dc0 0e 00 00 00 01 00 0f 00 00 00 02 00 10 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 61 38 04 93 44 .............PK.........i.<a8..D
15de0 01 00 00 44 01 00 00 2d 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 ...D...-...optimization/linesear
15e00 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 ch/LineSearchMethod.javapackage.
15e20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 3b 0a 0a 0a 70 75 62 6c 69 optimization.linesearch;...publi
15e40 63 20 69 6e 74 65 72 66 61 63 65 20 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 7b 0a 09 c.interface.LineSearchMethod.{..
15e60 0a 09 64 6f 75 62 6c 65 20 67 65 74 53 74 65 70 53 69 7a 65 28 44 69 66 66 65 72 65 6e 74 69 61 ..double.getStepSize(Differentia
15e80 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 20 6f 29 3b 0a 09 0a 09 70 75 bleLineSearchObjective.o);....pu
15ea0 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 blic.double.getInitialGradient()
15ec0 3b 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 ;..public.double.getPreviousInit
15ee0 69 61 6c 47 72 61 64 69 65 6e 74 28 29 3b 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 ialGradient();..public.double.ge
15f00 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 28 29 3b 0a 09 0a 09 70 75 62 6c 69 63 20 76 tPreviousStepUsed();....public.v
15f20 6f 69 64 20 73 65 74 49 6e 69 74 69 61 6c 53 74 65 70 28 64 6f 75 62 6c 65 20 69 6e 69 74 69 61 oid.setInitialStep(double.initia
15f40 6c 29 3b 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 3b 0a 7d 0a 50 4b 03 04 l);..public.void.reset();.}.PK..
15f60 0a 00 00 00 00 00 96 59 e5 3c 15 4f 56 10 1a 0f 00 00 1a 0f 00 00 3f 00 00 00 6f 70 74 69 6d 69 .......Y.<.OV.........?...optimi
15f80 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 zation/linesearch/Differentiable
15fa0 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 2e 63 6c 61 73 73 ca fe ba be 00 00 00 LineSearchObjective.class.......
15fc0 32 00 b8 07 00 02 01 00 39 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2.......9optimization/linesearch
15fe0 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 /DifferentiableLineSearchObjecti
16000 76 65 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 01 6f 01 00 2d 4c ve......java/lang/Object...o..-L
16020 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 optimization/gradientBasedMethod
16040 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 0c 6e 72 49 74 65 72 61 74 69 6f 6e 73 01 00 01 49 01 s/Objective;...nrIterations...I.
16060 00 05 73 74 65 70 73 01 00 1c 4c 67 6e 75 2f 74 72 6f 76 65 2f 54 44 6f 75 62 6c 65 41 72 72 61 ..steps...Lgnu/trove/TDoubleArra
16080 79 4c 69 73 74 3b 01 00 06 76 61 6c 75 65 73 01 00 09 67 72 61 64 69 65 6e 74 73 01 00 12 6f 72 yList;...values...gradients...or
160a0 69 67 69 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 01 00 02 5b 44 01 00 0f 73 65 61 72 63 68 44 69 iginalParameters...[D...searchDi
160c0 72 65 63 74 69 6f 6e 01 00 06 3c 69 6e 69 74 3e 01 00 30 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f rection...<init>..0(Loptimizatio
160e0 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 n/gradientBasedMethods/Objective
16100 3b 29 56 01 00 04 43 6f 64 65 0a 00 03 00 14 0c 00 10 00 15 01 00 03 28 29 56 09 00 01 00 17 0c ;)V...Code.............()V......
16120 00 05 00 06 0a 00 19 00 1b 07 00 1a 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 ..............+optimization/grad
16140 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 0c 00 1c 00 1d 01 ientBasedMethods/Objective......
16160 00 10 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 01 00 03 28 29 49 09 00 01 00 1f 0c 00 0d ..getNumParameters...()I........
16180 00 0e 09 00 01 00 21 0c 00 0f 00 0e 07 00 23 01 00 1a 67 6e 75 2f 74 72 6f 76 65 2f 54 44 6f 75 ......!.......#...gnu/trove/TDou
161a0 62 6c 65 41 72 72 61 79 4c 69 73 74 0a 00 22 00 14 09 00 01 00 26 0c 00 09 00 0a 09 00 01 00 28 bleArrayList.."......&.........(
161c0 0c 00 0b 00 0a 09 00 01 00 2a 0c 00 0c 00 0a 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c .........*........LineNumberTabl
161e0 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 3b e...LocalVariableTable...this..;
16200 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 Loptimization/linesearch/Differe
16220 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 01 00 05 72 65 ntiableLineSearchObjective;...re
16240 73 65 74 01 00 05 28 5b 44 29 56 0a 00 19 00 32 0c 00 33 00 34 01 00 0d 67 65 74 50 61 72 61 6d set...([D)V....2..3.4...getParam
16260 65 74 65 72 73 01 00 04 28 29 5b 44 0a 00 36 00 38 07 00 37 01 00 10 6a 61 76 61 2f 6c 61 6e 67 eters...()[D..6.8..7...java/lang
16280 2f 53 79 73 74 65 6d 0c 00 39 00 3a 01 00 09 61 72 72 61 79 63 6f 70 79 01 00 2a 28 4c 6a 61 76 /System..9.:...arraycopy..*(Ljav
162a0 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 a/lang/Object;ILjava/lang/Object
162c0 3b 49 49 29 56 09 00 01 00 3c 0c 00 07 00 08 0a 00 22 00 3e 0c 00 3f 00 15 01 00 05 63 6c 65 61 ;II)V....<.......".>..?.....clea
162e0 72 0a 00 19 00 41 0c 00 42 00 43 01 00 08 67 65 74 56 61 6c 75 65 01 00 03 28 29 44 0a 00 22 00 r....A..B.C...getValue...()D..".
16300 45 0c 00 46 00 47 01 00 03 61 64 64 01 00 04 28 44 29 56 0a 00 19 00 49 0c 00 4a 00 34 01 00 0b E..F.G...add...(D)V....I..J.4...
16320 67 65 74 47 72 61 64 69 65 6e 74 0a 00 4c 00 4e 07 00 4d 01 00 1b 6f 70 74 69 6d 69 7a 61 74 69 getGradient..L.N..M...optimizati
16340 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 4f 00 50 01 00 0a 64 6f 74 50 72 6f 64 on/util/MathUtils..O.P...dotProd
16360 75 63 74 01 00 07 28 5b 44 5b 44 29 44 01 00 09 64 69 72 65 63 74 69 6f 6e 01 00 0b 75 70 64 61 uct...([D[D)D...direction...upda
16380 74 65 41 6c 70 68 61 09 00 36 00 54 0c 00 55 00 56 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f teAlpha..6.T..U.V...out...Ljava/
163a0 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 08 00 58 01 00 22 61 6c 70 68 61 20 6d 61 79 20 6e io/PrintStream;..X.."alpha.may.n
163c0 6f 74 20 62 65 20 73 6d 61 6c 6c 65 72 20 74 68 61 74 20 7a 65 72 6f 0a 00 5a 00 5c 07 00 5b 01 ot.be.smaller.that.zero..Z.\..[.
163e0 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 5d 00 5e 01 00 07 70 72 69 ..java/io/PrintStream..].^...pri
16400 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 07 00 60 01 ntln...(Ljava/lang/String;)V..`.
16420 00 1a 6a 61 76 61 2f 6c 61 6e 67 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 00 5f 00 ..java/lang/RuntimeException.._.
16440 14 0a 00 4c 00 63 0c 00 64 00 65 01 00 0a 70 6c 75 73 45 71 75 61 6c 73 01 00 08 28 5b 44 5b 44 ...L.c..d.e...plusEquals...([D[D
16460 44 29 56 0a 00 19 00 67 0c 00 68 00 30 01 00 0d 73 65 74 50 61 72 61 6d 65 74 65 72 73 01 00 05 D)V....g..h.0...setParameters...
16480 61 6c 70 68 61 01 00 01 44 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0f 67 65 74 4e alpha...D...StackMapTable...getN
164a0 72 49 74 65 72 61 74 69 6f 6e 73 01 00 04 28 49 29 44 0a 00 22 00 6f 0c 00 70 00 6d 01 00 03 67 rIterations...(I)D..".o..p.m...g
164c0 65 74 01 00 04 69 74 65 72 01 00 0f 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 01 00 10 67 65 et...iter...getCurrentValue...ge
164e0 74 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 01 00 12 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 tOriginalValue...getCurrentGradi
16500 65 6e 74 01 00 12 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 01 00 08 67 65 74 41 6c ent...getInitialGradient...getAl
16520 70 68 61 01 00 14 70 72 69 6e 74 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 73 07 00 79 01 00 17 pha...printLineSearchSteps..y...
16540 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 7b 01 00 0c 20 53 74 java/lang/StringBuilder..{....St
16560 65 70 73 20 73 69 7a 65 20 0a 00 78 00 7d 0c 00 10 00 5e 0a 00 22 00 7f 0c 00 80 00 1d 01 00 04 eps.size...x.}....^.."..........
16580 73 69 7a 65 0a 00 78 00 82 0c 00 83 00 84 01 00 06 61 70 70 65 6e 64 01 00 1c 28 49 29 4c 6a 61 size..x..........append...(I)Lja
165a0 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 86 01 00 0c 56 61 6c 75 va/lang/StringBuilder;......Valu
165c0 65 73 20 73 69 7a 65 20 0a 00 78 00 88 0c 00 83 00 89 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 es.size...x.........-(Ljava/lang
165e0 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 /String;)Ljava/lang/StringBuilde
16600 72 3b 08 00 8b 01 00 10 47 72 61 64 65 69 65 6e 74 73 20 73 69 7a 65 20 0a 00 78 00 8d 0c 00 8e r;......Gradeients.size...x.....
16620 00 8f 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 .....toString...()Ljava/lang/Str
16640 69 6e 67 3b 08 00 91 01 00 05 49 74 65 72 20 08 00 93 01 00 06 20 73 74 65 70 20 0a 00 78 00 95 ing;......Iter........step...x..
16660 0c 00 83 00 96 01 00 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c ........(D)Ljava/lang/StringBuil
16680 64 65 72 3b 08 00 98 01 00 07 20 76 61 6c 75 65 20 08 00 9a 01 00 06 20 67 72 61 64 20 01 00 01 der;.......value........grad....
166a0 69 01 00 19 70 72 69 6e 74 53 6d 61 6c 6c 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 73 08 00 9e i...printSmallLineSearchSteps...
166c0 01 00 09 30 2e 30 30 30 30 45 30 30 0a 00 a0 00 a2 07 00 a1 01 00 1d 6f 70 74 69 6d 69 7a 61 74 ...0.0000E00...........optimizat
166e0 69 6f 6e 2f 75 74 69 6c 2f 53 74 61 74 69 63 54 6f 6f 6c 73 0c 00 a3 00 a4 01 00 0b 70 72 65 74 ion/util/StaticTools........pret
16700 74 79 50 72 69 6e 74 01 00 28 28 44 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 49 29 tyPrint..((DLjava/lang/String;I)
16720 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 a6 00 a8 07 00 a7 01 00 10 6a 61 76 Ljava/lang/String;...........jav
16740 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 0c 00 a9 00 aa 01 00 07 76 61 6c 75 65 4f 66 01 00 26 28 a/lang/String........valueOf..&(
16760 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 Ljava/lang/Object;)Ljava/lang/St
16780 72 69 6e 67 3b 08 00 ac 01 00 01 20 0a 00 5a 00 ae 0c 00 af 00 5e 01 00 05 70 72 69 6e 74 0a 00 ring;.........Z......^...print..
167a0 5a 00 b1 0c 00 5d 00 15 01 00 04 6d 61 69 6e 01 00 16 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 Z....].....main...([Ljava/lang/S
167c0 74 72 69 6e 67 3b 29 56 01 00 04 61 72 67 73 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 tring;)V...args...[Ljava/lang/St
167e0 72 69 6e 67 3b 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 26 44 69 66 66 65 72 65 6e 74 69 61 ring;...SourceFile..&Differentia
16800 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 2e 6a 61 76 61 00 21 00 01 00 bleLineSearchObjective.java.!...
16820 03 00 00 00 07 00 00 00 05 00 06 00 00 00 00 00 07 00 08 00 00 00 00 00 09 00 0a 00 00 00 00 00 ................................
16840 0b 00 0a 00 00 00 00 00 0c 00 0a 00 00 00 01 00 0d 00 0e 00 00 00 01 00 0f 00 0e 00 00 00 0e 00 ................................
16860 01 00 10 00 11 00 01 00 12 00 00 00 8f 00 03 00 02 00 00 00 3f 2a b7 00 13 2a 2b b5 00 16 2a 2b ....................?*...*+...*+
16880 b6 00 18 bc 07 b5 00 1e 2a 2b b6 00 18 bc 07 b5 00 20 2a bb 00 22 59 b7 00 24 b5 00 25 2a bb 00 ........*+........*.."Y..$..%*..
168a0 22 59 b7 00 24 b5 00 27 2a bb 00 22 59 b7 00 24 b5 00 29 b1 00 00 00 02 00 2b 00 00 00 22 00 08 "Y..$..'*.."Y..$..)......+..."..
168c0 00 00 00 41 00 04 00 42 00 09 00 43 00 13 00 44 00 1d 00 45 00 28 00 46 00 33 00 47 00 3e 00 48 ...A...B...C...D...E.(.F.3.G.>.H
168e0 00 2c 00 00 00 16 00 02 00 00 00 3f 00 2d 00 2e 00 00 00 00 00 3f 00 05 00 06 00 01 00 01 00 2f .,.........?.-.......?........./
16900 00 30 00 01 00 12 00 00 00 c3 00 05 00 02 00 00 00 6b 2a b4 00 16 b6 00 31 03 2a b4 00 1e 03 2a .0...............k*.....1.*....*
16920 b4 00 16 b6 00 18 b8 00 35 2b 03 2a b4 00 20 03 2a b4 00 16 b6 00 18 b8 00 35 2a 03 b5 00 3b 2a ........5+.*....*........5*...;*
16940 b4 00 25 b6 00 3d 2a b4 00 27 b6 00 3d 2a b4 00 29 b6 00 3d 2a b4 00 27 2a b4 00 16 b6 00 40 b6 ..%..=*..'..=*..)..=*..'*.....@.
16960 00 44 2a b4 00 29 2a b4 00 16 b6 00 48 2b b8 00 4b b6 00 44 2a b4 00 25 0e b6 00 44 b1 00 00 00 .D*..)*.....H+..K..D*..%...D....
16980 02 00 2b 00 00 00 2a 00 0a 00 00 00 50 00 17 00 51 00 28 00 54 00 2d 00 55 00 34 00 56 00 3b 00 ..+...*.....P...Q.(.T.-.U.4.V.;.
169a0 57 00 42 00 59 00 50 00 5a 00 62 00 5b 00 6a 00 5c 00 2c 00 00 00 16 00 02 00 00 00 6b 00 2d 00 W.B.Y.P.Z.b.[.j.\.,.........k.-.
169c0 2e 00 00 00 00 00 6b 00 51 00 0e 00 01 00 01 00 52 00 47 00 01 00 12 00 00 00 e3 00 05 00 03 00 ......k.Q.......R.G.............
169e0 00 00 7e 27 0e 98 9c 00 13 b2 00 53 12 57 b6 00 59 bb 00 5f 59 b7 00 61 bf 2a 59 b4 00 3b 04 60 ..~'.......S.W..Y.._Y..a.*Y..;.`
16a00 b5 00 3b 2a b4 00 25 27 b6 00 44 2a b4 00 1e 03 2a b4 00 16 b6 00 31 03 2a b4 00 1e be b8 00 35 ..;*..%'..D*....*.....1.*......5
16a20 2a b4 00 16 b6 00 31 2a b4 00 20 27 b8 00 62 2a b4 00 16 2a b4 00 16 b6 00 31 b6 00 66 2a b4 00 *.....1*...'..b*...*.....1..f*..
16a40 27 2a b4 00 16 b6 00 40 b6 00 44 2a b4 00 29 2a b4 00 16 b6 00 48 2a b4 00 20 b8 00 4b b6 00 44 '*.....@..D*..)*.....H*.....K..D
16a60 b1 00 00 00 03 00 2b 00 00 00 2e 00 0b 00 00 00 65 00 06 00 66 00 0e 00 67 00 16 00 69 00 20 00 ......+.........e...f...g...i...
16a80 6a 00 28 00 6c 00 3d 00 6d 00 4c 00 6e 00 5a 00 70 00 68 00 71 00 7d 00 72 00 2c 00 00 00 16 00 j.(.l.=.m.L.n.Z.p.h.q.}.r.,.....
16aa0 02 00 00 00 7e 00 2d 00 2e 00 00 00 00 00 7e 00 69 00 6a 00 01 00 6b 00 00 00 03 00 01 16 00 01 ....~.-.......~.i.j...k.........
16ac0 00 6c 00 1d 00 01 00 12 00 00 00 2f 00 01 00 01 00 00 00 05 2a b4 00 3b ac 00 00 00 02 00 2b 00 .l........./........*..;......+.
16ae0 00 00 06 00 01 00 00 00 77 00 2c 00 00 00 0c 00 01 00 00 00 05 00 2d 00 2e 00 00 00 01 00 42 00 ........w.,...........-.......B.
16b00 6d 00 01 00 12 00 00 00 3d 00 02 00 02 00 00 00 09 2a b4 00 27 1b b6 00 6e af 00 00 00 02 00 2b m.......=........*..'...n......+
16b20 00 00 00 06 00 01 00 00 00 80 00 2c 00 00 00 16 00 02 00 00 00 09 00 2d 00 2e 00 00 00 00 00 09 ...........,...........-........
16b40 00 71 00 08 00 01 00 01 00 72 00 43 00 01 00 12 00 00 00 36 00 02 00 01 00 00 00 0c 2a b4 00 27 .q.......r.C.......6........*..'
16b60 2a b4 00 3b b6 00 6e af 00 00 00 02 00 2b 00 00 00 06 00 01 00 00 00 84 00 2c 00 00 00 0c 00 01 *..;..n......+...........,......
16b80 00 00 00 0c 00 2d 00 2e 00 00 00 01 00 73 00 43 00 01 00 12 00 00 00 33 00 02 00 01 00 00 00 09 .....-.......s.C.......3........
16ba0 2a b4 00 27 03 b6 00 6e af 00 00 00 02 00 2b 00 00 00 06 00 01 00 00 00 88 00 2c 00 00 00 0c 00 *..'...n......+...........,.....
16bc0 01 00 00 00 09 00 2d 00 2e 00 00 00 01 00 4a 00 6d 00 01 00 12 00 00 00 3d 00 02 00 02 00 00 00 ......-.......J.m.......=.......
16be0 09 2a b4 00 29 1b b6 00 6e af 00 00 00 02 00 2b 00 00 00 06 00 01 00 00 00 91 00 2c 00 00 00 16 .*..)...n......+...........,....
16c00 00 02 00 00 00 09 00 2d 00 2e 00 00 00 00 00 09 00 71 00 08 00 01 00 01 00 74 00 43 00 01 00 12 .......-.........q.......t.C....
16c20 00 00 00 36 00 02 00 01 00 00 00 0c 2a b4 00 29 2a b4 00 3b b6 00 6e af 00 00 00 02 00 2b 00 00 ...6........*..)*..;..n......+..
16c40 00 06 00 01 00 00 00 95 00 2c 00 00 00 0c 00 01 00 00 00 0c 00 2d 00 2e 00 00 00 01 00 75 00 43 .........,...........-.......u.C
16c60 00 01 00 12 00 00 00 33 00 02 00 01 00 00 00 09 2a b4 00 29 03 b6 00 6e af 00 00 00 02 00 2b 00 .......3........*..)...n......+.
16c80 00 00 06 00 01 00 00 00 99 00 2c 00 00 00 0c 00 01 00 00 00 09 00 2d 00 2e 00 00 00 01 00 76 00 ..........,...........-.......v.
16ca0 43 00 01 00 12 00 00 00 36 00 02 00 01 00 00 00 0c 2a b4 00 25 2a b4 00 3b b6 00 6e af 00 00 00 C.......6........*..%*..;..n....
16cc0 02 00 2b 00 00 00 06 00 01 00 00 00 a0 00 2c 00 00 00 0c 00 01 00 00 00 0c 00 2d 00 2e 00 00 00 ..+...........,...........-.....
16ce0 01 00 77 00 15 00 01 00 12 00 00 01 03 00 04 00 02 00 00 00 94 b2 00 53 bb 00 78 59 12 7a b7 00 ..w....................S..xY.z..
16d00 7c 2a b4 00 25 b6 00 7e b6 00 81 12 85 b6 00 87 2a b4 00 27 b6 00 7e b6 00 81 12 8a b6 00 87 2a |*..%..~........*..'..~........*
16d20 b4 00 29 b6 00 7e b6 00 81 b6 00 8c b6 00 59 03 3c a7 00 4c b2 00 53 bb 00 78 59 12 90 b7 00 7c ..)..~........Y.<..L..S..xY....|
16d40 1b b6 00 81 12 92 b6 00 87 2a b4 00 25 1b b6 00 6e b6 00 94 12 97 b6 00 87 2a b4 00 27 1b b6 00 .........*..%...n........*..'...
16d60 6e b6 00 94 12 99 b6 00 87 2a b4 00 29 1b b6 00 6e b6 00 94 b6 00 8c b6 00 59 84 01 01 1b 2a b4 n........*..)...n........Y....*.
16d80 00 25 b6 00 7e a1 ff af b1 00 00 00 03 00 2b 00 00 00 32 00 0c 00 00 00 a4 00 03 00 a5 00 16 00 .%..~.........+...2.............
16da0 a6 00 25 00 a7 00 34 00 a5 00 37 00 a4 00 3a 00 a8 00 3f 00 a9 00 5f 00 aa 00 82 00 a9 00 85 00 ..%...4...7...:...?..._.........
16dc0 a8 00 93 00 ac 00 2c 00 00 00 16 00 02 00 00 00 94 00 2d 00 2e 00 00 00 3c 00 57 00 9b 00 08 00 ......,...........-.....<.W.....
16de0 01 00 6b 00 00 00 09 00 02 fc 00 3f 01 fb 00 48 00 01 00 9c 00 15 00 01 00 12 00 00 00 92 00 07 ..k........?...H................
16e00 00 02 00 00 00 41 03 3c a7 00 2d b2 00 53 bb 00 78 59 2a b4 00 25 1b b6 00 6e 12 9d 10 08 b8 00 .....A.<..-..S..xY*..%...n......
16e20 9f b8 00 a5 b7 00 7c 12 ab b6 00 87 b6 00 8c b6 00 ad 84 01 01 1b 2a b4 00 25 b6 00 7e a1 ff ce ......|...............*..%..~...
16e40 b2 00 53 b6 00 b0 b1 00 00 00 03 00 2b 00 00 00 16 00 05 00 00 00 af 00 05 00 b0 00 2c 00 af 00 ..S.........+...............,...
16e60 3a 00 b2 00 40 00 b3 00 2c 00 00 00 16 00 02 00 00 00 41 00 2d 00 2e 00 00 00 02 00 38 00 9b 00 :...@...,.........A.-.......8...
16e80 08 00 01 00 6b 00 00 00 07 00 02 fc 00 05 01 29 00 09 00 b2 00 b3 00 01 00 12 00 00 00 2b 00 00 ....k..........).............+..
16ea0 00 01 00 00 00 01 b1 00 00 00 02 00 2b 00 00 00 06 00 01 00 00 00 b7 00 2c 00 00 00 0c 00 01 00 ............+...........,.......
16ec0 00 00 01 00 b4 00 b5 00 00 00 01 00 b6 00 00 00 02 00 b7 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 ...................PK.........i.
16ee0 3c 2b 03 22 a8 9a 12 00 00 9a 12 00 00 3e 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 <+.".........>...optimization/li
16f00 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 nesearch/DifferentiableLineSearc
16f20 68 4f 62 6a 65 63 74 69 76 65 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 hObjective.javapackage.optimizat
16f40 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 3b 0a 0a 69 6d 70 6f 72 74 20 67 6e 75 2e 74 72 6f 76 ion.linesearch;..import.gnu.trov
16f60 65 2e 54 44 6f 75 62 6c 65 41 72 72 61 79 4c 69 73 74 3b 0a 69 6d 70 6f 72 74 20 67 6e 75 2e 74 e.TDoubleArrayList;.import.gnu.t
16f80 72 6f 76 65 2e 54 49 6e 74 41 72 72 61 79 4c 69 73 74 3b 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 rove.TIntArrayList;..import.java
16fa0 2e 75 74 69 6c 2e 41 72 72 61 79 4c 69 73 74 3b 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 .util.ArrayList;.import.java.uti
16fc0 6c 2e 41 72 72 61 79 73 3b 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 43 6f 6c 6c 65 l.Arrays;.import.java.util.Colle
16fe0 63 74 69 6f 6e 73 3b 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 43 6f 6d 70 61 72 61 ctions;.import.java.util.Compara
17000 74 6f 72 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 tor;..import.optimization.gradie
17020 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 ntBasedMethods.Objective;.import
17040 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 69 6d .optimization.util.MathUtils;.im
17060 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 53 74 61 74 69 63 54 6f 6f port.optimization.util.StaticToo
17080 6c 73 3b 0a 0a 0a 0a 69 6d 70 6f 72 74 20 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 3b 0a 69 6d 70 ls;....import.util.MathUtil;.imp
170a0 6f 72 74 20 75 74 69 6c 2e 50 72 69 6e 74 69 6e 67 3b 0a 0a 0a 2f 2a 2a 0a 20 2a 20 41 20 77 72 ort.util.Printing;.../**..*.A.wr
170c0 61 70 70 65 72 20 63 6c 61 73 73 20 66 6f 72 20 74 68 65 20 61 63 74 75 61 6c 20 6f 62 6a 65 63 apper.class.for.the.actual.objec
170e0 74 69 76 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 65 72 66 6f 72 6d 20 0a 20 2a 20 6c 69 6e tive.in.order.to.perform...*.lin
17100 65 20 73 65 61 72 63 68 2e 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 63 6f 64 65 e.search...The.optimization.code
17120 20 61 73 73 75 6d 65 73 20 74 68 61 74 20 74 68 69 73 20 64 6f 65 73 20 61 20 6c 6f 74 20 0a 20 .assumes.that.this.does.a.lot...
17140 2a 20 6f 66 20 63 61 63 68 69 6e 67 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 69 6d 70 6c 69 66 *.of.caching.in.order.to.simplif
17160 79 20 6c 65 67 69 62 69 6c 69 74 79 2e 20 20 46 6f 72 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 y.legibility...For.the.applicati
17180 6f 6e 73 20 0a 20 2a 20 77 65 20 75 73 65 20 69 74 20 66 6f 72 2c 20 63 61 63 68 69 6e 67 20 74 ons...*.we.use.it.for,.caching.t
171a0 68 65 20 65 6e 74 69 72 65 20 68 69 73 74 6f 72 79 20 6f 66 20 65 76 61 6c 75 61 74 69 6f 6e 73 he.entire.history.of.evaluations
171c0 20 73 68 6f 75 6c 64 20 62 65 20 0a 20 2a 20 61 20 77 69 6e 2e 20 0a 20 2a 20 0a 20 2a 20 4e 6f .should.be...*.a.win....*...*.No
171e0 74 65 3a 20 74 68 65 20 6c 61 73 74 45 76 61 6c 75 61 74 65 64 41 74 20 76 61 6c 75 65 20 69 73 te:.the.lastEvaluatedAt.value.is
17200 20 76 65 72 79 20 69 6d 70 6f 72 74 61 6e 74 2c 20 73 69 6e 63 65 20 77 65 20 77 69 6c 6c 20 75 .very.important,.since.we.will.u
17220 73 65 0a 20 2a 20 69 74 20 74 6f 20 61 76 6f 69 64 20 64 6f 69 6e 67 20 61 6e 20 65 76 61 6c 75 se..*.it.to.avoid.doing.an.evalu
17240 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 67 72 61 64 69 65 6e 74 20 61 66 74 65 72 20 74 68 65 20 ation.of.the.gradient.after.the.
17260 6c 69 6e 65 20 73 65 61 72 63 68 2e 20 20 0a 20 2a 20 0a 20 2a 20 54 68 65 20 64 69 66 66 65 72 line.search.....*...*.The.differ
17280 65 6e 74 69 61 62 6c 65 20 6c 69 6e 65 20 73 65 61 72 63 68 20 6f 62 6a 65 63 74 69 76 65 20 64 entiable.line.search.objective.d
172a0 65 66 69 6e 65 73 20 61 20 73 65 61 72 63 68 20 61 6c 6f 6e 67 20 74 68 65 20 72 61 79 0a 20 2a efines.a.search.along.the.ray..*
172c0 20 67 69 76 65 6e 20 62 79 20 61 20 64 69 72 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 61 69 .given.by.a.direction.of.the.mai
172e0 6e 20 6f 62 6a 65 63 74 69 76 65 2e 0a 20 2a 20 49 74 20 64 65 66 69 6e 65 73 20 74 68 65 20 66 n.objective...*.It.defines.the.f
17300 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 0a 20 2a 20 77 68 65 72 65 20 66 20 69 ollowing.function,...*.where.f.i
17320 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6f 62 6a 65 63 74 69 76 65 20 66 75 6e 63 74 69 6f s.the.original.objective.functio
17340 6e 3a 0a 20 2a 20 67 28 61 6c 70 68 61 29 20 3d 20 66 28 78 5f 30 20 2b 20 61 6c 70 68 61 2a 64 n:..*.g(alpha).=.f(x_0.+.alpha*d
17360 69 72 65 63 74 69 6f 6e 29 0a 20 2a 20 67 27 28 61 6c 70 68 61 29 20 3d 20 66 27 28 78 5f 30 20 irection)..*.g'(alpha).=.f'(x_0.
17380 2b 20 61 6c 70 68 61 2a 64 69 72 65 63 74 69 6f 6e 29 2a 64 69 72 65 63 74 69 6f 6e 0a 20 2a 20 +.alpha*direction)*direction..*.
173a0 0a 20 2a 20 40 61 75 74 68 6f 72 20 6a 6f 61 6f 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 63 ..*.@author.joao..*..*/.public.c
173c0 6c 61 73 73 20 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a lass.DifferentiableLineSearchObj
173e0 65 63 74 69 76 65 20 7b 0a 0a 09 0a 09 0a 09 4f 62 6a 65 63 74 69 76 65 20 6f 3b 0a 09 69 6e 74 ective.{.......Objective.o;..int
17400 20 6e 72 49 74 65 72 61 74 69 6f 6e 73 3b 0a 09 54 44 6f 75 62 6c 65 41 72 72 61 79 4c 69 73 74 .nrIterations;..TDoubleArrayList
17420 20 73 74 65 70 73 3b 0a 09 54 44 6f 75 62 6c 65 41 72 72 61 79 4c 69 73 74 20 76 61 6c 75 65 73 .steps;..TDoubleArrayList.values
17440 3b 0a 09 54 44 6f 75 62 6c 65 41 72 72 61 79 4c 69 73 74 20 67 72 61 64 69 65 6e 74 73 3b 0a 09 ;..TDoubleArrayList.gradients;..
17460 0a 09 2f 2f 54 68 69 73 20 76 61 72 69 61 62 6c 65 73 20 63 61 6e 6e 6f 74 20 63 68 61 6e 67 65 ..//This.variables.cannot.change
17480 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 6f 72 69 67 69 6e 61 6c 50 61 72 61 6d 65 ..public.double[].originalParame
174a0 74 65 72 73 3b 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 73 65 61 72 63 68 44 69 72 ters;..public.double[].searchDir
174c0 65 63 74 69 6f 6e 3b 0a 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 44 65 66 69 6e 65 73 20 61 20 6c 69 ection;...../**...*.Defines.a.li
174e0 6e 65 20 73 65 61 72 63 68 20 6f 62 6a 65 63 74 69 76 65 3a 0a 09 20 2a 20 52 65 63 65 69 76 65 ne.search.objective:...*.Receive
17500 73 3a 0a 09 20 2a 20 4f 62 6a 65 63 74 69 76 65 20 74 6f 20 65 61 63 68 20 77 65 20 61 72 65 20 s:...*.Objective.to.each.we.are.
17520 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 65 20 6c 69 6e 65 20 73 65 61 72 63 68 2c 20 69 73 20 75 performing.the.line.search,.is.u
17540 73 65 64 20 74 6f 20 63 61 6c 63 75 6c 61 74 65 20 76 61 6c 75 65 73 20 61 6e 64 20 67 72 61 64 sed.to.calculate.values.and.grad
17560 69 65 6e 74 73 0a 09 20 2a 20 44 69 72 65 63 74 69 6f 6e 20 77 68 65 72 65 20 74 6f 20 64 6f 20 ients...*.Direction.where.to.do.
17580 74 68 65 20 72 61 79 20 73 65 61 72 63 68 2c 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 64 69 the.ray.search,.note.that.the.di
175a0 72 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 20 6f 66 20 74 68 65 20 0a rection.does.not.depend.of.the..
175c0 09 20 2a 20 6f 62 6a 65 63 74 69 76 65 20 62 75 74 20 64 65 70 65 6e 64 73 20 66 72 6f 6d 20 74 ..*.objective.but.depends.from.t
175e0 68 65 20 6d 65 74 68 6f 64 2e 0a 09 20 2a 20 40 70 61 72 61 6d 20 6f 0a 09 20 2a 20 40 70 61 72 he.method....*.@param.o...*.@par
17600 61 6d 20 64 69 72 65 63 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 44 69 66 66 65 72 am.direction...*/..public.Differ
17620 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 28 4f 62 6a 65 entiableLineSearchObjective(Obje
17640 63 74 69 76 65 20 6f 29 20 7b 0a 09 09 74 68 69 73 2e 6f 20 3d 20 6f 3b 0a 09 09 6f 72 69 67 69 ctive.o).{...this.o.=.o;...origi
17660 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 65 74 nalParameters.=.new.double[o.get
17680 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 09 09 73 65 61 72 63 68 44 69 72 65 63 74 NumParameters()];...searchDirect
176a0 69 6f 6e 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 ion.=.new.double[o.getNumParamet
176c0 65 72 73 28 29 5d 3b 0a 09 09 73 74 65 70 73 20 3d 20 6e 65 77 20 54 44 6f 75 62 6c 65 41 72 72 ers()];...steps.=.new.TDoubleArr
176e0 61 79 4c 69 73 74 28 29 3b 0a 09 09 76 61 6c 75 65 73 20 3d 20 6e 65 77 20 54 44 6f 75 62 6c 65 ayList();...values.=.new.TDouble
17700 41 72 72 61 79 4c 69 73 74 28 29 3b 0a 09 09 67 72 61 64 69 65 6e 74 73 20 3d 20 6e 65 77 20 54 ArrayList();...gradients.=.new.T
17720 44 6f 75 62 6c 65 41 72 72 61 79 4c 69 73 74 28 29 3b 0a 09 7d 0a 09 2f 2a 2a 0a 09 20 2a 20 43 DoubleArrayList();..}../**...*.C
17740 61 6c 6c 65 64 20 77 68 65 6e 65 76 65 72 20 77 65 20 73 74 61 72 74 20 61 20 6e 65 77 20 69 74 alled.whenever.we.start.a.new.it
17760 65 72 61 74 69 6f 6e 2e 20 0a 09 20 2a 20 52 65 63 65 69 76 65 73 20 74 68 65 20 72 61 79 20 77 eration.....*.Receives.the.ray.w
17780 68 65 72 65 20 77 65 20 61 72 65 20 73 65 61 72 63 68 69 6e 67 20 66 6f 72 20 61 6e 64 20 72 65 here.we.are.searching.for.and.re
177a0 73 65 74 73 20 61 6c 6c 20 76 61 6c 75 65 73 0a 09 20 2a 20 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 sets.all.values...*....*/..publi
177c0 63 20 76 6f 69 64 20 72 65 73 65 74 28 64 6f 75 62 6c 65 5b 5d 20 64 69 72 65 63 74 69 6f 6e 29 c.void.reset(double[].direction)
177e0 7b 0a 09 09 2f 2f 43 6f 70 79 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 73 0a 09 09 53 79 73 74 {...//Copy.initial.values...Syst
17800 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 6f 2e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 2c 20 em.arraycopy(o.getParameters(),.
17820 30 2c 20 6f 72 69 67 69 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 2c 20 30 2c 20 6f 2e 67 65 74 4e 0,.originalParameters,.0,.o.getN
17840 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 29 3b 0a 09 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 umParameters());...System.arrayc
17860 6f 70 79 28 64 69 72 65 63 74 69 6f 6e 2c 20 30 2c 20 73 65 61 72 63 68 44 69 72 65 63 74 69 6f opy(direction,.0,.searchDirectio
17880 6e 2c 20 30 2c 20 6f 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 29 3b 0a 09 09 0a n,.0,.o.getNumParameters());....
178a0 09 09 2f 2f 49 6e 69 74 69 61 6c 69 7a 65 20 76 61 72 69 61 62 6c 65 73 0a 09 09 6e 72 49 74 65 ..//Initialize.variables...nrIte
178c0 72 61 74 69 6f 6e 73 20 3d 20 30 3b 0a 09 09 73 74 65 70 73 2e 63 6c 65 61 72 28 29 3b 0a 09 09 rations.=.0;...steps.clear();...
178e0 76 61 6c 75 65 73 2e 63 6c 65 61 72 28 29 3b 0a 09 09 67 72 61 64 69 65 6e 74 73 2e 63 6c 65 61 values.clear();...gradients.clea
17900 72 28 29 3b 0a 09 0a 09 09 76 61 6c 75 65 73 2e 61 64 64 28 6f 2e 67 65 74 56 61 6c 75 65 28 29 r();.....values.add(o.getValue()
17920 29 3b 0a 09 09 67 72 61 64 69 65 6e 74 73 2e 61 64 64 28 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 );...gradients.add(MathUtils.dot
17940 50 72 6f 64 75 63 74 28 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 2c 64 69 72 65 63 74 69 6f Product(o.getGradient(),directio
17960 6e 29 29 3b 09 0a 09 09 73 74 65 70 73 2e 61 64 64 28 30 29 3b 0a 09 7d 0a 09 0a 09 0a 09 2f 2a n));....steps.add(0);..}....../*
17980 2a 0a 09 20 2a 20 75 70 64 61 74 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f *...*.update.the.current.value.o
179a0 66 20 61 6c 70 68 61 2e 0a 09 20 2a 20 54 61 6b 65 73 20 61 20 73 74 65 70 20 77 69 74 68 20 74 f.alpha....*.Takes.a.step.with.t
179c0 68 61 74 20 61 6c 70 68 61 20 69 6e 20 64 69 72 65 63 74 69 6f 6e 0a 09 20 2a 20 47 65 74 20 74 hat.alpha.in.direction...*.Get.t
179e0 68 65 20 72 65 61 6c 20 6f 62 6a 65 63 74 69 76 65 20 76 61 6c 75 65 20 61 6e 64 20 67 72 61 64 he.real.objective.value.and.grad
17a00 69 65 6e 74 20 61 6e 64 20 63 61 6c 63 75 6c 61 74 65 20 61 6c 6c 20 72 65 71 75 69 72 65 64 20 ient.and.calculate.all.required.
17a20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 75 information....*/..public.void.u
17a40 70 64 61 74 65 41 6c 70 68 61 28 64 6f 75 62 6c 65 20 61 6c 70 68 61 29 7b 0a 09 09 69 66 28 61 pdateAlpha(double.alpha){...if(a
17a60 6c 70 68 61 20 3c 20 30 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e lpha.<.0){....System.out.println
17a80 28 22 61 6c 70 68 61 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 6d 61 6c 6c 65 72 20 74 68 61 74 20 ("alpha.may.not.be.smaller.that.
17aa0 7a 65 72 6f 22 29 3b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 zero");....throw.new.RuntimeExce
17ac0 70 74 69 6f 6e 28 29 3b 0a 09 09 7d 0a 09 09 6e 72 49 74 65 72 61 74 69 6f 6e 73 2b 2b 3b 0a 09 ption();...}...nrIterations++;..
17ae0 09 73 74 65 70 73 2e 61 64 64 28 61 6c 70 68 61 29 3b 0a 09 09 2f 2f 78 5f 74 2b 31 20 3d 20 78 .steps.add(alpha);...//x_t+1.=.x
17b00 5f 74 20 2b 20 61 6c 70 68 61 2a 64 69 72 65 63 74 69 6f 6e 0a 09 09 53 79 73 74 65 6d 2e 61 72 _t.+.alpha*direction...System.ar
17b20 72 61 79 63 6f 70 79 28 6f 72 69 67 69 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 2c 30 2c 20 6f 2e raycopy(originalParameters,0,.o.
17b40 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 2c 20 30 2c 20 6f 72 69 67 69 6e 61 6c 50 61 72 61 getParameters(),.0,.originalPara
17b60 6d 65 74 65 72 73 2e 6c 65 6e 67 74 68 29 3b 0a 09 09 4d 61 74 68 55 74 69 6c 73 2e 70 6c 75 73 meters.length);...MathUtils.plus
17b80 45 71 75 61 6c 73 28 6f 2e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 2c 20 73 65 61 72 63 68 Equals(o.getParameters(),.search
17ba0 44 69 72 65 63 74 69 6f 6e 2c 20 61 6c 70 68 61 29 3b 0a 09 09 6f 2e 73 65 74 50 61 72 61 6d 65 Direction,.alpha);...o.setParame
17bc0 74 65 72 73 28 6f 2e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 29 3b 0a 2f 2f 09 09 53 79 73 ters(o.getParameters());.//..Sys
17be0 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 54 6f 6f 6b 20 61 20 73 74 65 70 20 6f 66 20 tem.out.println("Took.a.step.of.
17c00 22 20 2b 20 61 6c 70 68 61 20 2b 20 22 20 6e 65 77 20 76 61 6c 75 65 20 22 20 2b 20 6f 2e 67 65 ".+.alpha.+.".new.value.".+.o.ge
17c20 74 56 61 6c 75 65 28 29 29 3b 0a 09 09 76 61 6c 75 65 73 2e 61 64 64 28 6f 2e 67 65 74 56 61 6c tValue());...values.add(o.getVal
17c40 75 65 28 29 29 3b 0a 09 09 67 72 61 64 69 65 6e 74 73 2e 61 64 64 28 4d 61 74 68 55 74 69 6c 73 ue());...gradients.add(MathUtils
17c60 2e 64 6f 74 50 72 6f 64 75 63 74 28 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 2c 73 65 61 72 .dotProduct(o.getGradient(),sear
17c80 63 68 44 69 72 65 63 74 69 6f 6e 29 29 3b 09 09 0a 09 7d 0a 0a 09 0a 09 0a 09 70 75 62 6c 69 63 chDirection));....}.......public
17ca0 20 69 6e 74 20 67 65 74 4e 72 49 74 65 72 61 74 69 6f 6e 73 28 29 7b 0a 09 09 72 65 74 75 72 6e .int.getNrIterations(){...return
17cc0 20 6e 72 49 74 65 72 61 74 69 6f 6e 73 3b 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 72 65 74 .nrIterations;..}..../**...*.ret
17ce0 75 72 6e 20 67 28 61 6c 70 68 61 29 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c urn.g(alpha).for.the.current.val
17d00 75 65 20 6f 66 20 61 6c 70 68 61 0a 09 20 2a 20 40 70 61 72 61 6d 20 69 74 65 72 0a 09 20 2a 20 ue.of.alpha...*.@param.iter...*.
17d20 40 72 65 74 75 72 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 56 @return...*/..public.double.getV
17d40 61 6c 75 65 28 69 6e 74 20 69 74 65 72 29 7b 0a 09 09 72 65 74 75 72 6e 20 76 61 6c 75 65 73 2e alue(int.iter){...return.values.
17d60 67 65 74 28 69 74 65 72 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 get(iter);..}....public.double.g
17d80 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 7b 0a 09 09 72 65 74 75 72 6e 20 76 61 6c 75 65 etCurrentValue(){...return.value
17da0 73 2e 67 65 74 28 6e 72 49 74 65 72 61 74 69 6f 6e 73 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 s.get(nrIterations);..}....publi
17dc0 63 20 64 6f 75 62 6c 65 20 67 65 74 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 28 29 7b 0a 09 09 72 c.double.getOriginalValue(){...r
17de0 65 74 75 72 6e 20 76 61 6c 75 65 73 2e 67 65 74 28 30 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 eturn.values.get(0);..}.../**...
17e00 2a 20 72 65 74 75 72 6e 20 67 27 28 61 6c 70 68 61 29 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 *.return.g'(alpha).for.the.curre
17e20 6e 74 20 76 61 6c 75 65 20 6f 66 20 61 6c 70 68 61 0a 09 20 2a 20 40 70 61 72 61 6d 20 69 74 65 nt.value.of.alpha...*.@param.ite
17e40 72 0a 09 20 2a 20 40 72 65 74 75 72 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c r...*.@return...*/..public.doubl
17e60 65 20 67 65 74 47 72 61 64 69 65 6e 74 28 69 6e 74 20 69 74 65 72 29 7b 0a 09 09 72 65 74 75 72 e.getGradient(int.iter){...retur
17e80 6e 20 67 72 61 64 69 65 6e 74 73 2e 67 65 74 28 69 74 65 72 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 n.gradients.get(iter);..}....pub
17ea0 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 28 29 7b lic.double.getCurrentGradient(){
17ec0 0a 09 09 72 65 74 75 72 6e 20 67 72 61 64 69 65 6e 74 73 2e 67 65 74 28 6e 72 49 74 65 72 61 74 ...return.gradients.get(nrIterat
17ee0 69 6f 6e 73 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 49 6e ions);..}....public.double.getIn
17f00 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 7b 0a 09 09 72 65 74 75 72 6e 20 67 72 61 64 69 65 itialGradient(){...return.gradie
17f20 6e 74 73 2e 67 65 74 28 30 29 3b 0a 09 7d 0a 09 0a 09 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 64 nts.get(0);..}..........public.d
17f40 6f 75 62 6c 65 20 67 65 74 41 6c 70 68 61 28 29 7b 0a 09 09 72 65 74 75 72 6e 20 73 74 65 70 73 ouble.getAlpha(){...return.steps
17f60 2e 67 65 74 28 6e 72 49 74 65 72 61 74 69 6f 6e 73 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 .get(nrIterations);..}....public
17f80 20 76 6f 69 64 20 70 72 69 6e 74 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 73 28 29 7b 0a 09 09 .void.printLineSearchSteps(){...
17fa0 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 0a 09 09 09 09 22 20 53 74 65 70 73 20 System.out.println(.....".Steps.
17fc0 73 69 7a 65 20 22 2b 73 74 65 70 73 2e 73 69 7a 65 28 29 20 2b 20 0a 09 09 09 09 22 56 61 6c 75 size."+steps.size().+......"Valu
17fe0 65 73 20 73 69 7a 65 20 22 2b 76 61 6c 75 65 73 2e 73 69 7a 65 28 29 20 2b 0a 09 09 09 09 22 47 es.size."+values.size().+....."G
18000 72 61 64 65 69 65 6e 74 73 20 73 69 7a 65 20 22 2b 67 72 61 64 69 65 6e 74 73 2e 73 69 7a 65 28 radeients.size."+gradients.size(
18020 29 29 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 30 3b 20 69 20 3c 20 73 74 65 70 73 2e 73 69 ));...for(int.i.=0;.i.<.steps.si
18040 7a 65 28 29 3b 69 2b 2b 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e ze();i++){....System.out.println
18060 28 22 49 74 65 72 20 22 20 2b 20 69 20 2b 20 22 20 73 74 65 70 20 22 20 2b 20 73 74 65 70 73 2e ("Iter.".+.i.+.".step.".+.steps.
18080 67 65 74 28 69 29 20 2b 0a 09 09 09 09 09 22 20 76 61 6c 75 65 20 22 20 2b 20 76 61 6c 75 65 73 get(i).+......".value.".+.values
180a0 2e 67 65 74 28 69 29 20 2b 20 22 20 67 72 61 64 20 22 20 20 2b 20 67 72 61 64 69 65 6e 74 73 2e .get(i).+.".grad."..+.gradients.
180c0 67 65 74 28 69 29 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 70 get(i));...}..}....public.void.p
180e0 72 69 6e 74 53 6d 61 6c 6c 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 73 28 29 7b 0a 09 09 66 6f rintSmallLineSearchSteps(){...fo
18100 72 28 69 6e 74 20 69 20 3d 30 3b 20 69 20 3c 20 73 74 65 70 73 2e 73 69 7a 65 28 29 3b 69 2b 2b r(int.i.=0;.i.<.steps.size();i++
18120 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 28 53 74 61 74 69 63 54 6f 6f ){....System.out.print(StaticToo
18140 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 73 74 65 70 73 2e 67 65 74 28 69 29 2c 20 22 30 2e ls.prettyPrint(steps.get(i),."0.
18160 30 30 30 30 45 30 30 22 2c 38 29 20 2b 20 22 20 22 29 3b 0a 09 09 7d 0a 09 09 53 79 73 74 65 6d 0000E00",8).+.".");...}...System
18180 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 .out.println();..}....public.sta
181a0 74 69 63 20 76 6f 69 64 20 6d 61 69 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 73 29 20 7b 0a 09 tic.void.main(String[].args).{..
181c0 09 0a 09 7d 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 8e b6 8d 81 31 03 00 00 31 ...}...}.PK.........Y.<....1...1
181e0 03 00 00 32 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 ...2...optimization/linesearch/G
18200 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 2e 63 6c 61 73 73 ca fe ba be 00 00 00 enericPickFirstStep.class.......
18220 32 00 1d 07 00 02 01 00 2c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2.......,optimization/linesearch
18240 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 07 00 04 01 00 10 6a 61 76 61 2f /GenericPickFirstStep......java/
18260 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 0a 5f 69 6e 69 74 56 61 6c 75 65 01 00 01 44 01 00 06 3c lang/Object..._initValue...D...<
18280 69 6e 69 74 3e 01 00 04 28 44 29 56 01 00 04 43 6f 64 65 0a 00 03 00 0b 0c 00 07 00 0c 01 00 03 init>...(D)V...Code.............
182a0 28 29 56 09 00 01 00 0e 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 ()V.............LineNumberTable.
182c0 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 2e 4c 6f ..LocalVariableTable...this...Lo
182e0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 ptimization/linesearch/GenericPi
18300 63 6b 46 69 72 73 74 53 74 65 70 3b 01 00 09 69 6e 69 74 56 61 6c 75 65 01 00 0c 67 65 74 46 69 ckFirstStep;...initValue...getFi
18320 72 73 74 53 74 65 70 01 00 2d 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 rstStep..-(Loptimization/linesea
18340 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 29 44 01 00 02 6c 73 01 00 2a 4c rch/LineSearchMethod;)D...ls..*L
18360 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 optimization/linesearch/LineSear
18380 63 68 4d 65 74 68 6f 64 3b 01 00 11 63 6f 6c 6c 65 63 74 49 6e 69 74 56 61 6c 75 65 73 01 00 2d chMethod;...collectInitValues..-
183a0 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 (Loptimization/linesearch/LineSe
183c0 61 72 63 68 4d 65 74 68 6f 64 3b 29 56 01 00 12 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 56 61 6c 75 archMethod;)V...collectFinalValu
183e0 65 73 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 19 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 es...SourceFile...GenericPickFir
18400 73 74 53 74 65 70 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 01 00 00 00 05 00 06 00 00 00 04 00 stStep.java.!...................
18420 01 00 07 00 08 00 01 00 09 00 00 00 46 00 03 00 03 00 00 00 0a 2a b7 00 0a 2a 27 b5 00 0d b1 00 ............F........*...*'.....
18440 00 00 02 00 0f 00 00 00 0e 00 03 00 00 00 06 00 04 00 07 00 09 00 08 00 10 00 00 00 16 00 02 00 ................................
18460 00 00 0a 00 11 00 12 00 00 00 00 00 0a 00 13 00 06 00 01 00 01 00 14 00 15 00 01 00 09 00 00 00 ................................
18480 39 00 02 00 02 00 00 00 05 2a b4 00 0d af 00 00 00 02 00 0f 00 00 00 06 00 01 00 00 00 0b 00 10 9........*......................
184a0 00 00 00 16 00 02 00 00 00 05 00 11 00 12 00 00 00 00 00 05 00 16 00 17 00 01 00 01 00 18 00 19 ................................
184c0 00 01 00 09 00 00 00 35 00 00 00 02 00 00 00 01 b1 00 00 00 02 00 0f 00 00 00 06 00 01 00 00 00 .......5........................
184e0 0f 00 10 00 00 00 16 00 02 00 00 00 01 00 11 00 12 00 00 00 00 00 01 00 16 00 17 00 01 00 01 00 ................................
18500 1a 00 19 00 01 00 09 00 00 00 35 00 00 00 02 00 00 00 01 b1 00 00 00 02 00 0f 00 00 00 06 00 01 ..........5.....................
18520 00 00 00 13 00 10 00 00 00 16 00 02 00 00 00 01 00 11 00 12 00 00 00 00 00 01 00 16 00 17 00 01 ................................
18540 00 01 00 1b 00 00 00 02 00 1c 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c fe fa 4c 33 6f 01 00 00 ..........PK.........i.<..L3o...
18560 6f 01 00 00 31 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f o...1...optimization/linesearch/
18580 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 2e 6a 61 76 61 70 61 63 6b 61 67 65 GenericPickFirstStep.javapackage
185a0 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 3b 0a 0a 0a 70 75 62 6c .optimization.linesearch;...publ
185c0 69 63 20 63 6c 61 73 73 20 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 7b 0a 09 ic.class.GenericPickFirstStep{..
185e0 64 6f 75 62 6c 65 20 5f 69 6e 69 74 56 61 6c 75 65 3b 0a 09 70 75 62 6c 69 63 20 47 65 6e 65 72 double._initValue;..public.Gener
18600 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 28 64 6f 75 62 6c 65 20 69 6e 69 74 56 61 6c 75 65 icPickFirstStep(double.initValue
18620 29 20 7b 0a 09 09 5f 69 6e 69 74 56 61 6c 75 65 20 3d 20 69 6e 69 74 56 61 6c 75 65 3b 0a 09 7d ).{..._initValue.=.initValue;..}
18640 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 46 69 72 73 74 53 74 65 70 28 4c ....public.double.getFirstStep(L
18660 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 29 7b 0a 09 09 72 65 74 75 72 6e 20 5f 69 ineSearchMethod.ls){...return._i
18680 6e 69 74 56 61 6c 75 65 3b 0a 09 7d 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 63 6f 6c 6c 65 63 nitValue;..}..public.void.collec
186a0 74 49 6e 69 74 56 61 6c 75 65 73 28 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 29 tInitValues(LineSearchMethod.ls)
186c0 7b 0a 09 09 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 63 6f 6c 6c 65 63 74 46 69 {.....}....public.void.collectFi
186e0 6e 61 6c 56 61 6c 75 65 73 28 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 29 7b 0a nalValues(LineSearchMethod.ls){.
18700 09 09 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 9a 7c e6 3c 23 c9 10 8d 3c 0b 00 00 3c 0b ....}.}.PK.........|.<#...<...<.
18720 00 00 4c 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 41 72 ..L...optimization/linesearch/Ar
18740 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 41 6c 6f 6e 67 50 mijoLineSearchMinimizationAlongP
18760 72 6f 6a 65 63 74 69 6f 6e 41 72 63 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 7e 07 00 02 01 rojectionArc.class.......2.~....
18780 00 46 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 41 72 6d 69 6a 6f .Foptimization/linesearch/Armijo
187a0 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 41 6c 6f 6e 67 50 72 6f 6a 65 LineSearchMinimizationAlongProje
187c0 63 74 69 6f 6e 41 72 63 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 ctionArc......java/lang/Object..
187e0 06 01 00 28 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 ...(optimization/linesearch/Line
18800 53 65 61 72 63 68 4d 65 74 68 6f 64 01 00 11 63 6f 6e 74 72 61 63 74 69 6f 6e 46 61 63 74 6f 72 SearchMethod...contractionFactor
18820 01 00 01 44 01 00 02 63 31 01 00 0b 69 6e 69 74 69 61 6c 53 74 65 70 01 00 0d 6d 61 78 49 74 65 ...D...c1...initialStep...maxIte
18840 72 61 74 69 6f 6e 73 01 00 01 49 01 00 06 73 69 67 6d 61 31 01 00 06 73 69 67 6d 61 32 01 00 12 rations...I...sigma1...sigma2...
18860 70 72 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 01 00 17 70 72 65 76 69 6f 75 73 49 6e 69 previousStepPicked...previousIni
18880 74 47 72 61 64 69 65 6e 74 44 6f 74 01 00 16 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 tGradientDot...currentInitGradie
188a0 6e 74 44 6f 74 01 00 08 73 74 72 61 74 65 67 79 01 00 2e 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ntDot...strategy...Loptimization
188c0 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 /linesearch/GenericPickFirstStep
188e0 3b 01 00 05 72 65 73 65 74 01 00 03 28 29 56 01 00 04 43 6f 64 65 06 bf f0 00 00 00 00 00 00 09 ;...reset...()V...Code..........
18900 00 01 00 1a 0c 00 0f 00 08 09 00 01 00 1c 0c 00 10 00 08 09 00 01 00 1e 0c 00 11 00 08 01 00 0f ................................
18920 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 LineNumberTable...LocalVariableT
18940 61 62 6c 65 01 00 04 74 68 69 73 01 00 48 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 able...this..HLoptimization/line
18960 73 65 61 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 search/ArmijoLineSearchMinimizat
18980 69 6f 6e 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 3b 01 00 06 3c 69 6e 69 74 3e 0a ionAlongProjectionArc;...<init>.
189a0 00 03 00 25 0c 00 23 00 15 06 3f e0 00 00 00 00 00 00 09 00 01 00 29 0c 00 07 00 08 06 3f 1a 36 ...%..#...?...........)......?.6
189c0 e2 eb 1c 43 2d 09 00 01 00 2d 0c 00 09 00 08 09 00 01 00 2f 0c 00 0b 00 0c 06 3f b9 99 99 99 99 ...C-....-........./......?.....
189e0 99 9a 09 00 01 00 33 0c 00 0d 00 08 06 3f ec cc cc cc cc cc cd 09 00 01 00 37 0c 00 0e 00 08 09 ......3......?...........7......
18a00 00 01 00 39 0c 00 0a 00 08 01 00 31 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 ...9.......1(Loptimization/lines
18a20 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 3b 29 56 09 00 01 earch/GenericPickFirstStep;)V...
18a40 00 3c 0c 00 12 00 13 0a 00 3e 00 40 07 00 3f 01 00 2c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c .<.......>.@..?..,optimization/l
18a60 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 0c 00 inesearch/GenericPickFirstStep..
18a80 41 00 42 01 00 0c 67 65 74 46 69 72 73 74 53 74 65 70 01 00 2d 28 4c 6f 70 74 69 6d 69 7a 61 74 A.B...getFirstStep..-(Loptimizat
18aa0 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b ion/linesearch/LineSearchMethod;
18ac0 29 44 01 00 0e 73 65 74 49 6e 69 74 69 61 6c 53 74 65 70 01 00 04 28 44 29 56 01 00 07 69 6e 69 )D...setInitialStep...(D)V...ini
18ae0 74 69 61 6c 01 00 0b 67 65 74 53 74 65 70 53 69 7a 65 01 00 3e 28 4c 6f 70 74 69 6d 69 7a 61 74 tial...getStepSize..>(Loptimizat
18b00 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e ion/linesearch/DifferentiableLin
18b20 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 29 44 0a 00 49 00 4b 07 00 4a 01 00 39 6f 70 eSearchObjective;)D..I.K..J..9op
18b40 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 timization/linesearch/Differenti
18b60 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 0c 00 4c 00 44 01 00 0b 75 ableLineSearchObjective..L.D...u
18b80 70 64 61 74 65 41 6c 70 68 61 09 00 4e 00 50 07 00 4f 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 pdateAlpha..N.P..O...java/lang/S
18ba0 79 73 74 65 6d 0c 00 51 00 52 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e ystem..Q.R...out...Ljava/io/Prin
18bc0 74 53 74 72 65 61 6d 3b 08 00 54 01 00 31 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 73 tStream;..T..1Could.not.find.a.s
18be0 74 65 70 20 6c 65 61 76 69 6e 67 20 6c 69 6e 65 20 73 65 61 72 63 68 20 77 69 74 68 20 2d 31 0a tep.leaving.line.search.with.-1.
18c00 00 56 00 58 07 00 57 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 59 .V.X..W...java/io/PrintStream..Y
18c20 00 5a 01 00 07 70 72 69 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e .Z...println...(Ljava/lang/Strin
18c40 67 3b 29 56 0a 00 49 00 5c 0c 00 5d 00 15 01 00 14 70 72 69 6e 74 4c 69 6e 65 53 65 61 72 63 68 g;)V..I.\..].....printLineSearch
18c60 53 74 65 70 73 0a 00 49 00 5f 0c 00 60 00 61 01 00 08 67 65 74 41 6c 70 68 61 01 00 03 28 29 44 Steps..I._..`.a...getAlpha...()D
18c80 0a 00 49 00 63 0c 00 64 00 61 01 00 10 67 65 74 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 0a 00 49 ..I.c..d.a...getOriginalValue..I
18ca0 00 66 0c 00 67 00 61 01 00 12 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 0a 00 49 00 .f..g.a...getInitialGradient..I.
18cc0 69 0c 00 6a 00 61 01 00 0f 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 0a 00 6c 00 6e 07 00 6d i..j.a...getCurrentValue..l.n..m
18ce0 01 00 1f 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 49 6e 74 65 72 70 6f 6c 61 74 69 ...optimization/util/Interpolati
18d00 6f 6e 0c 00 6f 00 70 01 00 16 71 75 61 64 72 61 74 69 63 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e on..o.p...quadraticInterpolation
18d20 01 00 07 28 44 44 44 44 29 44 0a 00 49 00 72 0c 00 73 00 61 01 00 12 67 65 74 43 75 72 72 65 6e ...(DDDD)D..I.r..s.a...getCurren
18d40 74 47 72 61 64 69 65 6e 74 01 00 01 6f 01 00 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 tGradient...o..;Loptimization/li
18d60 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 nesearch/DifferentiableLineSearc
18d80 68 4f 62 6a 65 63 74 69 76 65 3b 01 00 0c 6e 72 49 74 65 72 61 74 69 6f 6e 73 01 00 05 61 6c 70 hObjective;...nrIterations...alp
18da0 68 61 01 00 09 61 6c 70 68 61 54 65 6d 70 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 ha...alphaTemp...StackMapTable..
18dc0 1a 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 01 00 13 67 65 .getPreviousInitialGradient...ge
18de0 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 tPreviousStepUsed...SourceFile..
18e00 33 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 41 6c 6f 3ArmijoLineSearchMinimizationAlo
18e20 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 2e 6a 61 76 61 00 21 00 01 00 03 00 01 00 05 00 0a ngProjectionArc.java.!..........
18e40 00 00 00 07 00 08 00 00 00 00 00 09 00 08 00 00 00 00 00 0a 00 08 00 00 00 00 00 0b 00 0c 00 00 ................................
18e60 00 00 00 0d 00 08 00 00 00 00 00 0e 00 08 00 00 00 00 00 0f 00 08 00 00 00 00 00 10 00 08 00 00 ................................
18e80 00 00 00 11 00 08 00 00 00 00 00 12 00 13 00 00 00 08 00 01 00 14 00 15 00 01 00 16 00 00 00 4c ...............................L
18ea0 00 03 00 01 00 00 00 16 2a 14 00 17 b5 00 19 2a 14 00 17 b5 00 1b 2a 14 00 17 b5 00 1d b1 00 00 ........*......*......*.........
18ec0 00 02 00 1f 00 00 00 12 00 04 00 00 00 3b 00 07 00 3c 00 0e 00 3d 00 15 00 3e 00 20 00 00 00 0c .............;...<...=...>......
18ee0 00 01 00 00 00 16 00 21 00 22 00 00 00 01 00 23 00 15 00 01 00 16 00 00 00 93 00 03 00 01 00 00 .......!.".....#................
18f00 00 41 2a b7 00 24 2a 14 00 26 b5 00 28 2a 14 00 2a b5 00 2c 2a 10 64 b5 00 2e 2a 14 00 30 b5 00 .A*..$*..&..(*..*..,*.d...*..0..
18f20 32 2a 14 00 34 b5 00 36 2a 14 00 17 b5 00 19 2a 14 00 17 b5 00 1b 2a 14 00 17 b5 00 1d 2a 0f b5 2*..4..6*......*......*......*..
18f40 00 38 b1 00 00 00 02 00 1f 00 00 00 2e 00 0b 00 00 00 41 00 04 00 27 00 0b 00 28 00 12 00 2c 00 .8................A...'...(...,.
18f60 18 00 2f 00 1f 00 30 00 26 00 33 00 2d 00 34 00 34 00 35 00 3b 00 42 00 40 00 43 00 20 00 00 00 ../...0.&.3.-.4.4.5.;.B.@.C.....
18f80 0c 00 01 00 00 00 41 00 21 00 22 00 00 00 01 00 23 00 3a 00 01 00 16 00 00 00 aa 00 03 00 02 00 ......A.!.".....#.:.............
18fa0 00 00 4a 2a b7 00 24 2a 14 00 26 b5 00 28 2a 14 00 2a b5 00 2c 2a 10 64 b5 00 2e 2a 14 00 30 b5 ..J*..$*..&..(*..*..,*.d...*..0.
18fc0 00 32 2a 14 00 34 b5 00 36 2a 14 00 17 b5 00 19 2a 14 00 17 b5 00 1b 2a 14 00 17 b5 00 1d 2a 2b .2*..4..6*......*......*......*+
18fe0 b5 00 3b 2a 2b 2a b6 00 3d b5 00 38 b1 00 00 00 02 00 1f 00 00 00 32 00 0c 00 00 00 45 00 04 00 ..;*+*..=..8..........2.....E...
19000 27 00 0b 00 28 00 12 00 2c 00 18 00 2f 00 1f 00 30 00 26 00 33 00 2d 00 34 00 34 00 35 00 3b 00 '...(...,.../...0.&.3.-.4.4.5.;.
19020 46 00 40 00 47 00 49 00 48 00 20 00 00 00 16 00 02 00 00 00 4a 00 21 00 22 00 00 00 00 00 4a 00 F.@.G.I.H...........J.!.".....J.
19040 12 00 13 00 01 00 01 00 43 00 44 00 01 00 16 00 00 00 3e 00 03 00 03 00 00 00 06 2a 27 b5 00 38 ........C.D.......>........*'..8
19060 b1 00 00 00 02 00 1f 00 00 00 0a 00 02 00 00 00 4c 00 05 00 4d 00 20 00 00 00 16 00 02 00 00 00 ................L...M...........
19080 06 00 21 00 22 00 00 00 00 00 06 00 45 00 08 00 01 00 01 00 46 00 47 00 01 00 16 00 00 01 4e 00 ..!.".......E.......F.G.......N.
190a0 08 00 07 00 00 00 99 2a 2a b4 00 3b 2a b6 00 3d b5 00 38 2b 2a b4 00 38 b6 00 48 03 3d a7 00 60 .......**..;*..=..8+*..8..H.=..`
190c0 1c 2a b4 00 2e a1 00 13 b2 00 4d 12 53 b6 00 55 2b b6 00 5b 14 00 17 af 2b b6 00 5e 4a 2b b6 00 .*........M.S..U+..[....+..^J+..
190e0 62 2b b6 00 65 29 2b b6 00 68 b8 00 6b 39 05 18 05 2a b4 00 32 97 9c 00 12 18 05 2a b4 00 36 2b b+..e)+..h..k9...*..2......*..6+
19100 b6 00 5e 6b 98 9d 00 09 18 05 4a a7 00 0a 29 2a b4 00 28 6b 4a 2b 29 b6 00 48 84 02 01 2b b6 00 ..^k......J...)*..(kJ+)..H...+..
19120 68 2b b6 00 62 2a b4 00 2c 2b b6 00 71 6b 63 97 9d ff 90 2a 2b b6 00 5e b5 00 19 2b b6 00 5e af h+..b*..,+..qkc....*+..^...+..^.
19140 00 00 00 03 00 1f 00 00 00 52 00 14 00 00 00 57 00 0c 00 58 00 14 00 59 00 16 00 5c 00 19 00 63 .........R.....W...X...Y...\...c
19160 00 21 00 64 00 29 00 65 00 2d 00 66 00 31 00 68 00 36 00 6a 00 46 00 69 00 48 00 6b 00 61 00 6c .!.d.).e.-.f.1.h.6.j.F.i.H.k.a.l
19180 00 67 00 6e 00 6e 00 71 00 73 00 72 00 76 00 5c 00 7a 00 5d 00 8c 00 7a 00 94 00 7b 00 20 00 00 .g.n.n.q.s.r.v.\.z.]...z...{....
191a0 00 34 00 05 00 00 00 99 00 21 00 22 00 00 00 00 00 99 00 74 00 75 00 01 00 16 00 83 00 76 00 0c .4.......!.".......t.u.......v..
191c0 00 02 00 36 00 40 00 77 00 08 00 03 00 48 00 2e 00 78 00 08 00 05 00 79 00 00 00 11 00 06 fc 00 ...6.@.w.....H...x.....y........
191e0 19 01 17 fd 00 2f 03 03 05 06 f9 00 07 00 01 00 67 00 61 00 01 00 16 00 00 00 2f 00 02 00 01 00 ...../..........g.a......./.....
19200 00 00 05 2a b4 00 1d af 00 00 00 02 00 1f 00 00 00 06 00 01 00 00 00 7f 00 20 00 00 00 0c 00 01 ...*............................
19220 00 00 00 05 00 21 00 22 00 00 00 01 00 7a 00 61 00 01 00 16 00 00 00 2f 00 02 00 01 00 00 00 05 .....!.".....z.a......./........
19240 2a b4 00 1b af 00 00 00 02 00 1f 00 00 00 06 00 01 00 00 00 84 00 20 00 00 00 0c 00 01 00 00 00 *...............................
19260 05 00 21 00 22 00 00 00 01 00 7b 00 61 00 01 00 16 00 00 00 2f 00 02 00 01 00 00 00 05 2a b4 00 ..!.".....{.a......./........*..
19280 19 af 00 00 00 02 00 1f 00 00 00 06 00 01 00 00 00 88 00 20 00 00 00 0c 00 01 00 00 00 05 00 21 ...............................!
192a0 00 22 00 00 00 01 00 7c 00 00 00 02 00 7d 50 4b 03 04 0a 00 00 00 00 00 9a 7c e6 3c e8 4b 0c 33 .".....|.....}PK.........|.<.K.3
192c0 33 10 00 00 33 10 00 00 4b 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 3...3...K...optimization/linesea
192e0 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e rch/ArmijoLineSearchMinimization
19300 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f AlongProjectionArc.javapackage.o
19320 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 3b 0a 0a 69 6d 70 6f 72 74 20 ptimization.linesearch;..import.
19340 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 optimization.gradientBasedMethod
19360 73 2e 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 s.ProjectedObjective;.import.opt
19380 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3b 0a 69 6d imization.util.Interpolation;.im
193a0 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 port.optimization.util.MathUtils
193c0 3b 0a 0a 0a 0a 0a 0a 2f 2a 2a 0a 20 2a 20 49 6d 70 6c 65 6d 65 6e 74 73 20 41 72 6d 69 6a 6f 20 ;....../**..*.Implements.Armijo.
193e0 52 75 6c 65 20 4c 69 6e 65 20 73 65 61 72 63 68 20 61 6c 6f 6e 67 20 74 68 65 20 70 72 6f 6a 65 Rule.Line.search.along.the.proje
19400 63 74 69 6f 6e 20 61 72 63 20 28 4e 6f 6e 2d 4c 69 6e 65 61 72 20 50 72 6f 67 72 61 6d 6d 69 6e ction.arc.(Non-Linear.Programmin
19420 67 20 70 61 67 65 20 32 33 30 29 0a 20 2a 20 54 6f 20 62 65 20 75 73 65 64 20 77 69 74 68 20 50 g.page.230)..*.To.be.used.with.P
19440 72 6f 6a 65 63 74 65 64 20 67 72 61 64 69 65 6e 74 20 4d 65 74 68 6f 64 73 2e 0a 20 2a 20 0a 20 rojected.gradient.Methods...*...
19460 2a 20 52 65 63 61 6c 6c 20 74 68 61 74 20 61 72 6d 69 6a 6f 20 74 72 69 65 73 20 73 75 63 63 65 *.Recall.that.armijo.tries.succe
19480 73 73 69 76 65 20 73 74 65 70 20 73 69 7a 65 73 20 61 6c 70 68 61 20 75 6e 74 69 6c 20 74 68 65 ssive.step.sizes.alpha.until.the
194a0 20 73 75 66 66 69 63 69 65 6e 74 20 64 65 63 72 65 61 73 65 20 69 73 20 73 61 74 69 73 66 69 65 .sufficient.decrease.is.satisfie
194c0 64 3a 0a 20 2a 20 66 28 78 2b 61 6c 70 68 61 2a 64 69 72 65 63 74 69 6f 6e 29 20 3c 20 66 28 78 d:..*.f(x+alpha*direction).<.f(x
194e0 29 20 2b 20 61 6c 70 68 61 2a 63 31 2a 67 72 61 64 28 66 29 2a 64 69 72 65 63 74 69 6f 6e 0a 20 ).+.alpha*c1*grad(f)*direction..
19500 2a 20 0a 20 2a 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 20 61 72 65 20 6f 70 74 69 6d 69 *...*.In.this.case.we.are.optimi
19520 7a 69 6e 67 20 6f 76 65 72 20 61 20 63 6f 6e 76 65 78 20 73 65 74 20 58 20 73 6f 20 77 65 20 6d zing.over.a.convex.set.X.so.we.m
19540 75 73 74 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 20 6e 65 77 20 70 6f 69 6e 74 ust.guarantee.that.the.new.point
19560 20 73 74 61 79 73 20 69 6e 73 69 64 65 20 74 68 65 20 0a 20 2a 20 63 6f 6e 73 74 72 61 69 6e 74 .stays.inside.the...*.constraint
19580 73 2e 0a 20 2a 20 46 69 72 73 74 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 61 73 20 74 6f 20 s...*.First.the.direction.as.to.
195a0 62 65 20 66 65 61 73 69 62 6c 65 20 28 69 6e 73 69 64 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 29 be.feasible.(inside.constraints)
195c0 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 64 65 66 69 6e 65 20 61 73 3a 0a 20 2a 20 64 20 3d 20 28 .and.will.be.define.as:..*.d.=.(
195e0 78 5f 6b 5f 66 20 2d 20 78 5f 6b 29 20 77 68 65 72 65 20 78 5f 6b 5f 66 20 69 73 20 61 20 66 65 x_k_f.-.x_k).where.x_k_f.is.a.fe
19600 61 73 69 62 6c 65 20 70 6f 69 6e 74 2e 0a 20 2a 20 73 6f 20 74 68 65 20 61 72 6d 69 6a 6f 20 63 asible.point...*.so.the.armijo.c
19620 6f 6e 64 69 74 69 6f 6e 20 63 61 6e 20 62 65 20 72 65 77 72 69 74 74 65 6e 20 61 73 3a 0a 20 2a ondition.can.be.rewritten.as:..*
19640 20 66 28 78 2b 61 6c 70 68 61 28 78 5f 6b 5f 66 20 2d 20 78 5f 6b 29 29 20 3c 20 66 28 78 29 20 .f(x+alpha(x_k_f.-.x_k)).<.f(x).
19660 2b 20 63 31 2a 67 72 61 64 28 66 29 2a 28 78 5f 6b 5f 66 20 2d 20 78 5f 6b 29 0a 20 2a 20 61 6e +.c1*grad(f)*(x_k_f.-.x_k)..*.an
19680 64 20 78 5f 6b 5f 66 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 3a 0a 20 2a 20 5b 78 5f 6b 2d 61 d.x_k_f.is.defined.as:..*.[x_k-a
196a0 6c 70 68 61 2a 67 72 61 64 28 66 29 5d 2b 0a 20 2a 20 77 68 65 72 65 20 5b 5d 2b 20 6d 65 61 6e lpha*grad(f)]+..*.where.[]+.mean
196c0 20 61 20 70 72 6f 6a 65 63 74 69 6f 6e 20 74 6f 20 74 68 65 20 66 65 61 73 69 62 69 6c 69 74 79 .a.projection.to.the.feasibility
196e0 20 73 65 74 2e 0a 20 2a 20 53 6f 20 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 74 .set...*.So.this.means.that.we.t
19700 61 6b 65 20 61 20 73 74 65 70 20 6f 6e 20 74 68 65 20 6e 65 67 61 74 69 76 65 20 67 72 61 64 69 ake.a.step.on.the.negative.gradi
19720 65 6e 74 20 28 67 72 61 64 69 65 6e 74 20 64 65 73 63 65 6e 74 29 20 61 6e 64 20 74 68 65 6e 20 ent.(gradient.descent).and.then.
19740 6f 62 74 61 69 6e 20 74 68 65 6e 20 70 72 6f 6a 65 63 74 0a 20 2a 20 74 68 61 74 20 70 6f 69 6e obtain.then.project..*.that.poin
19760 74 20 74 6f 20 74 68 65 20 66 65 61 73 69 62 69 6c 69 74 79 20 73 65 74 2e 20 0a 20 2a 20 4e 6f t.to.the.feasibility.set....*.No
19780 74 65 20 74 68 61 74 20 69 66 20 74 68 65 20 70 6f 69 6e 74 20 69 73 20 61 6c 72 65 61 64 79 20 te.that.if.the.point.is.already.
197a0 66 65 61 73 69 62 6c 65 20 74 68 65 6e 20 77 65 20 61 72 65 20 62 61 63 6b 20 74 6f 20 74 68 65 feasible.then.we.are.back.to.the
197c0 20 6e 6f 72 6d 61 6c 20 61 72 6d 69 6a 6f 20 72 75 6c 65 2e 0a 20 2a 20 0a 20 2a 20 40 61 75 74 .normal.armijo.rule...*...*.@aut
197e0 68 6f 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 41 72 6d hor.javg..*..*/.public.class.Arm
19800 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 41 6c 6f 6e 67 50 72 ijoLineSearchMinimizationAlongPr
19820 6f 6a 65 63 74 69 6f 6e 41 72 63 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 65 53 65 61 72 63 ojectionArc.implements.LineSearc
19840 68 4d 65 74 68 6f 64 7b 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 48 6f 77 20 6d 75 63 68 20 73 68 6f 75 hMethod{.../**...*.How.much.shou
19860 6c 64 20 74 68 65 20 73 74 65 70 20 73 69 7a 65 20 64 65 63 72 65 61 73 65 20 61 74 20 65 61 63 ld.the.step.size.decrease.at.eac
19880 68 20 69 74 65 72 61 74 69 6f 6e 2e 0a 09 20 2a 2f 0a 09 64 6f 75 62 6c 65 20 63 6f 6e 74 72 61 h.iteration....*/..double.contra
198a0 63 74 69 6f 6e 46 61 63 74 6f 72 20 3d 20 30 2e 35 3b 0a 09 64 6f 75 62 6c 65 20 63 31 20 3d 20 ctionFactor.=.0.5;..double.c1.=.
198c0 30 2e 30 30 30 31 3b 0a 09 0a 09 0a 09 64 6f 75 62 6c 65 20 69 6e 69 74 69 61 6c 53 74 65 70 3b 0.0001;......double.initialStep;
198e0 0a 09 69 6e 74 20 6d 61 78 49 74 65 72 61 74 69 6f 6e 73 20 3d 20 31 30 30 3b 0a 09 09 09 0a 09 ..int.maxIterations.=.100;......
19900 0a 09 64 6f 75 62 6c 65 20 73 69 67 6d 61 31 20 3d 20 30 2e 31 3b 0a 09 64 6f 75 62 6c 65 20 73 ..double.sigma1.=.0.1;..double.s
19920 69 67 6d 61 32 20 3d 20 30 2e 39 3b 0a 09 0a 09 2f 2f 45 78 70 65 72 69 6d 65 6e 74 0a 09 64 6f igma2.=.0.9;....//Experiment..do
19940 75 62 6c 65 20 70 72 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 20 3d 20 2d 31 3b 3b 0a 09 uble.previousStepPicked.=.-1;;..
19960 64 6f 75 62 6c 65 20 70 72 65 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d double.previousInitGradientDot.=
19980 20 2d 31 3b 0a 09 64 6f 75 62 6c 65 20 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 .-1;..double.currentInitGradient
199a0 44 6f 74 20 3d 20 2d 31 3b 0a 09 0a 09 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 Dot.=.-1;....GenericPickFirstSte
199c0 70 20 73 74 72 61 74 65 67 79 3b 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 p.strategy;......public.void.res
199e0 65 74 28 29 7b 0a 09 09 70 72 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 20 3d 20 2d 31 3b et(){...previousStepPicked.=.-1;
19a00 3b 0a 09 09 70 72 65 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 2d 31 ;...previousInitGradientDot.=.-1
19a20 3b 0a 09 09 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 2d 31 3b ;...currentInitGradientDot.=.-1;
19a40 0a 09 7d 0a 0a 09 0a 09 70 75 62 6c 69 63 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d ..}.....public.ArmijoLineSearchM
19a60 69 6e 69 6d 69 7a 61 74 69 6f 6e 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 28 29 7b inimizationAlongProjectionArc(){
19a80 0a 09 09 74 68 69 73 2e 69 6e 69 74 69 61 6c 53 74 65 70 20 3d 20 31 3b 0a 09 7d 0a 09 0a 09 70 ...this.initialStep.=.1;..}....p
19aa0 75 62 6c 69 63 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 ublic.ArmijoLineSearchMinimizati
19ac0 6f 6e 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 28 47 65 6e 65 72 69 63 50 69 63 6b onAlongProjectionArc(GenericPick
19ae0 46 69 72 73 74 53 74 65 70 20 73 74 72 61 74 65 67 79 29 7b 0a 09 09 74 68 69 73 2e 73 74 72 61 FirstStep.strategy){...this.stra
19b00 74 65 67 79 20 3d 20 73 74 72 61 74 65 67 79 3b 0a 09 09 74 68 69 73 2e 69 6e 69 74 69 61 6c 53 tegy.=.strategy;...this.initialS
19b20 74 65 70 20 3d 20 73 74 72 61 74 65 67 79 2e 67 65 74 46 69 72 73 74 53 74 65 70 28 74 68 69 73 tep.=.strategy.getFirstStep(this
19b40 29 3b 0a 09 7d 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 65 74 49 6e 69 74 69 61 );..}......public.void.setInitia
19b60 6c 53 74 65 70 28 64 6f 75 62 6c 65 20 69 6e 69 74 69 61 6c 29 7b 0a 09 09 74 68 69 73 2e 69 6e lStep(double.initial){...this.in
19b80 69 74 69 61 6c 53 74 65 70 20 3d 20 69 6e 69 74 69 61 6c 3b 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 itialStep.=.initial;..}..../**..
19ba0 20 2a 20 0a 09 20 2a 2f 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 53 74 65 .*....*/....public.double.getSte
19bc0 70 53 69 7a 65 28 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 pSize(DifferentiableLineSearchOb
19be0 6a 65 63 74 69 76 65 20 6f 29 20 7b 09 0a 0a 09 09 0a 09 09 2f 2f 53 68 6f 75 6c 64 20 75 70 64 jective.o).{........//Should.upd
19c00 61 74 65 20 61 6c 6c 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 69 76 65 0a 09 09 69 6e 69 74 69 ate.all.in.the.objective...initi
19c20 61 6c 53 74 65 70 20 3d 20 73 74 72 61 74 65 67 79 2e 67 65 74 46 69 72 73 74 53 74 65 70 28 74 alStep.=.strategy.getFirstStep(t
19c40 68 69 73 29 3b 0a 09 09 6f 2e 75 70 64 61 74 65 41 6c 70 68 61 28 69 6e 69 74 69 61 6c 53 74 65 his);...o.updateAlpha(initialSte
19c60 70 29 3b 09 0a 09 09 69 6e 74 20 6e 72 49 74 65 72 61 74 69 6f 6e 73 20 3d 20 30 3b 0a 09 0a 09 p);....int.nrIterations.=.0;....
19c80 09 2f 2f 41 72 6d 69 6a 6f 20 72 75 6c 65 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 .//Armijo.rule,.the.current.valu
19ca0 65 20 68 61 73 20 74 6f 20 62 65 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 6f 72 69 e.has.to.be.smaller.than.the.ori
19cc0 67 69 6e 61 6c 20 76 61 6c 75 65 20 70 6c 75 73 20 61 20 73 6d 61 6c 6c 20 73 74 65 70 20 6f 66 ginal.value.plus.a.small.step.of
19ce0 20 74 68 65 20 67 72 61 64 69 65 6e 74 0a 09 09 77 68 69 6c 65 28 6f 2e 67 65 74 43 75 72 72 65 .the.gradient...while(o.getCurre
19d00 6e 74 56 61 6c 75 65 28 29 20 20 3e 0a 09 09 09 6f 2e 67 65 74 4f 72 69 67 69 6e 61 6c 56 61 6c ntValue()..>....o.getOriginalVal
19d20 75 65 28 29 20 2b 20 63 31 2a 28 6f 2e 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 28 ue().+.c1*(o.getCurrentGradient(
19d40 29 29 29 7b 09 09 09 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 ))){....//...System.out.println(
19d60 22 63 75 72 72 20 76 61 6c 75 65 20 22 2b 6f 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 "curr.value."+o.getCurrentValue(
19d80 29 29 3b 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 6f 72 69 ));.//...System.out.println("ori
19da0 67 69 6e 61 6c 20 76 61 6c 75 65 20 22 2b 6f 2e 67 65 74 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 ginal.value."+o.getOriginalValue
19dc0 28 29 29 3b 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 47 52 ());.//...System.out.println("GR
19de0 41 44 49 45 4e 54 20 64 65 63 72 65 61 73 65 22 20 2b 28 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 ADIENT.decrease".+(MathUtils.dot
19e00 50 72 6f 64 75 63 74 28 6f 2e 6f 2e 67 72 61 64 69 65 6e 74 2c 0a 2f 2f 09 09 09 09 09 4d 61 74 Product(o.o.gradient,.//.....Mat
19e20 68 55 74 69 6c 73 2e 61 72 72 61 79 4d 69 6e 75 73 28 6f 2e 6f 72 69 67 69 6e 61 6c 50 61 72 61 hUtils.arrayMinus(o.originalPara
19e40 6d 65 74 65 72 73 2c 28 28 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 29 6f 2e 6f 29 meters,((ProjectedObjective)o.o)
19e60 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 29 29 29 29 3b 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e .auxParameters))));.//...System.
19e80 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 47 52 41 44 49 45 4e 54 20 53 41 56 45 44 22 20 2b 20 6f out.println("GRADIENT.SAVED".+.o
19ea0 2e 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 28 29 29 3b 0a 09 09 09 69 66 28 6e 72 .getCurrentGradient());....if(nr
19ec0 49 74 65 72 61 74 69 6f 6e 73 20 3e 3d 20 6d 61 78 49 74 65 72 61 74 69 6f 6e 73 29 7b 0a 09 09 Iterations.>=.maxIterations){...
19ee0 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 ..System.out.println("Could.not.
19f00 66 69 6e 64 20 61 20 73 74 65 70 20 6c 65 61 76 69 6e 67 20 6c 69 6e 65 20 73 65 61 72 63 68 20 find.a.step.leaving.line.search.
19f20 77 69 74 68 20 2d 31 22 29 3b 0a 09 09 09 09 6f 2e 70 72 69 6e 74 4c 69 6e 65 53 65 61 72 63 68 with.-1");.....o.printLineSearch
19f40 53 74 65 70 73 28 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 09 09 09 7d 0a 09 09 09 Steps();.....return.-1;....}....
19f60 64 6f 75 62 6c 65 20 61 6c 70 68 61 3d 6f 2e 67 65 74 41 6c 70 68 61 28 29 3b 0a 09 09 09 64 6f double.alpha=o.getAlpha();....do
19f80 75 62 6c 65 20 61 6c 70 68 61 54 65 6d 70 20 3d 20 0a 09 09 09 09 49 6e 74 65 72 70 6f 6c 61 74 uble.alphaTemp.=......Interpolat
19fa0 69 6f 6e 2e 71 75 61 64 72 61 74 69 63 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 28 6f 2e 67 65 74 ion.quadraticInterpolation(o.get
19fc0 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 28 29 2c 20 6f 2e 67 65 74 49 6e 69 74 69 61 6c 47 72 61 OriginalValue(),.o.getInitialGra
19fe0 64 69 65 6e 74 28 29 2c 20 61 6c 70 68 61 2c 20 6f 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 dient(),.alpha,.o.getCurrentValu
1a000 65 28 29 29 3b 0a 09 09 09 69 66 28 61 6c 70 68 61 54 65 6d 70 20 3e 3d 20 73 69 67 6d 61 31 20 e());....if(alphaTemp.>=.sigma1.
1a020 7c 7c 20 61 6c 70 68 61 54 65 6d 70 20 3c 3d 20 73 69 67 6d 61 32 2a 6f 2e 67 65 74 41 6c 70 68 ||.alphaTemp.<=.sigma2*o.getAlph
1a040 61 28 29 29 7b 0a 09 09 09 09 61 6c 70 68 61 20 3d 20 61 6c 70 68 61 54 65 6d 70 3b 0a 09 09 09 a()){.....alpha.=.alphaTemp;....
1a060 7d 65 6c 73 65 7b 0a 09 09 09 09 61 6c 70 68 61 20 3d 20 61 6c 70 68 61 2a 63 6f 6e 74 72 61 63 }else{.....alpha.=.alpha*contrac
1a080 74 69 6f 6e 46 61 63 74 6f 72 3b 0a 09 09 09 7d 0a 2f 2f 09 09 09 64 6f 75 62 6c 65 20 61 6c 70 tionFactor;....}.//...double.alp
1a0a0 68 61 20 3d 6f 62 6a 2e 67 65 74 41 6c 70 68 61 28 29 2a 63 6f 6e 74 72 61 63 74 69 6f 6e 46 61 ha.=obj.getAlpha()*contractionFa
1a0c0 63 74 6f 72 3b 0a 09 09 09 6f 2e 75 70 64 61 74 65 41 6c 70 68 61 28 61 6c 70 68 61 29 3b 0a 09 ctor;....o.updateAlpha(alpha);..
1a0e0 09 09 6e 72 49 74 65 72 61 74 69 6f 6e 73 2b 2b 3b 09 09 09 0a 09 09 7d 0a 2f 2f 09 09 53 79 73 ..nrIterations++;......}.//..Sys
1a100 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 63 75 72 72 20 76 61 6c 75 65 20 22 2b 6f 2e tem.out.println("curr.value."+o.
1a120 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 6f getCurrentValue());.//..System.o
1a140 75 74 2e 70 72 69 6e 74 6c 6e 28 22 6f 72 69 67 69 6e 61 6c 20 76 61 6c 75 65 20 22 2b 6f 2e 67 ut.println("original.value."+o.g
1a160 65 74 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 28 29 29 3b 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 6f etOriginalValue());.//..System.o
1a180 75 74 2e 70 72 69 6e 74 6c 6e 28 22 73 75 66 66 69 63 69 65 6e 74 20 64 65 63 72 65 61 73 65 22 ut.println("sufficient.decrease"
1a1a0 20 2b 63 31 2a 6f 2e 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 28 29 29 3b 0a 2f 2f .+c1*o.getCurrentGradient());.//
1a1c0 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4c 65 61 76 6e 69 6e 67 20 6c ..System.out.println("Leavning.l
1a1e0 69 6e 65 20 73 65 61 72 63 68 20 75 73 65 64 3a 22 29 3b 0a 2f 2f 09 09 6f 2e 70 72 69 6e 74 53 ine.search.used:");.//..o.printS
1a200 6d 61 6c 6c 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 73 28 29 3b 09 0a 09 09 0a 09 09 70 72 65 mallLineSearchSteps();.......pre
1a220 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 20 3d 20 6f 2e 67 65 74 41 6c 70 68 61 28 29 3b 0a viousStepPicked.=.o.getAlpha();.
1a240 09 09 72 65 74 75 72 6e 20 6f 2e 67 65 74 41 6c 70 68 61 28 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 ..return.o.getAlpha();..}....pub
1a260 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 20 lic.double.getInitialGradient().
1a280 7b 0a 09 09 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f {...return.currentInitGradientDo
1a2a0 74 3b 0a 09 09 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 50 72 65 76 t;.....}...public.double.getPrev
1a2c0 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 20 7b 0a 09 09 72 65 74 75 72 6e iousInitialGradient().{...return
1a2e0 20 70 72 65 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 3b 0a 09 7d 0a 0a 09 70 .previousInitGradientDot;..}...p
1a300 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 ublic.double.getPreviousStepUsed
1a320 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 70 72 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 ().{...return.previousStepPicked
1a340 3b 0a 09 7d 0a 09 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 5c 37 c9 32 12 0a 00 00 ;..}....}.PK.........Y.<\7.2....
1a360 12 0a 00 00 48 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f ....H...optimization/linesearch/
1a380 50 72 6f 6a 65 63 74 65 64 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 ProjectedDifferentiableLineSearc
1a3a0 68 4f 62 6a 65 63 74 69 76 65 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 91 07 00 02 01 00 42 hObjective.class.......2.......B
1a3c0 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 50 72 6f 6a 65 63 74 65 optimization/linesearch/Projecte
1a3e0 64 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 dDifferentiableLineSearchObjecti
1a400 76 65 07 00 04 01 00 39 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f ve.....9optimization/linesearch/
1a420 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 DifferentiableLineSearchObjectiv
1a440 65 01 00 03 6f 62 6a 01 00 36 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 e...obj..6Loptimization/gradient
1a460 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 3b BasedMethods/ProjectedObjective;
1a480 01 00 06 3c 69 6e 69 74 3e 01 00 30 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 ...<init>..0(Loptimization/gradi
1a4a0 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 29 56 01 00 04 43 entBasedMethods/Objective;)V...C
1a4c0 6f 64 65 0a 00 03 00 0b 0c 00 07 00 08 07 00 0d 01 00 34 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f ode...............4optimization/
1a4e0 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 gradientBasedMethods/ProjectedOb
1a500 6a 65 63 74 69 76 65 09 00 0f 00 11 07 00 10 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 jective...........java/lang/Syst
1a520 65 6d 0c 00 12 00 13 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 em........out...Ljava/io/PrintSt
1a540 72 65 61 6d 3b 08 00 15 01 00 22 4d 75 73 74 20 72 65 63 65 69 76 65 20 61 20 70 72 6f 6a 65 63 ream;....."Must.receive.a.projec
1a560 74 65 64 20 6f 62 6a 65 63 74 69 76 65 0a 00 17 00 19 07 00 18 01 00 13 6a 61 76 61 2f 69 6f 2f ted.objective...........java/io/
1a580 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 1a 00 1b 01 00 07 70 72 69 6e 74 6c 6e 01 00 15 28 4c 6a PrintStream........println...(Lj
1a5a0 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 07 00 1d 01 00 1a 6a 61 76 61 2f 6c 61 6e ava/lang/String;)V......java/lan
1a5c0 67 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 00 1c 00 1f 0c 00 07 00 20 01 00 03 28 g/RuntimeException.............(
1a5e0 29 56 09 00 01 00 22 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 )V...."........LineNumberTable..
1a600 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 44 4c 6f 70 .LocalVariableTable...this..DLop
1a620 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 50 72 6f 6a 65 63 74 65 64 44 timization/linesearch/ProjectedD
1a640 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 ifferentiableLineSearchObjective
1a660 3b 01 00 01 6f 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 ;...o..-Loptimization/gradientBa
1a680 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 0d 53 74 61 63 6b 4d 61 70 sedMethods/Objective;...StackMap
1a6a0 54 61 62 6c 65 07 00 2b 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 Table..+..+optimization/gradient
1a6c0 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 01 00 0c 70 72 6f 6a 65 63 74 BasedMethods/Objective...project
1a6e0 50 6f 69 6e 74 01 00 06 28 5b 44 29 5b 44 09 00 01 00 2f 0c 00 27 00 28 0a 00 0c 00 31 0c 00 2c Point...([D)[D..../..'.(....1..,
1a700 00 2d 01 00 05 70 6f 69 6e 74 01 00 02 5b 44 01 00 0b 75 70 64 61 74 65 41 6c 70 68 61 01 00 04 .-...point...[D...updateAlpha...
1a720 28 44 29 56 08 00 37 01 00 22 61 6c 70 68 61 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 6d 61 6c 6c (D)V..7.."alpha.may.not.be.small
1a740 65 72 20 74 68 61 74 20 7a 65 72 6f 09 00 0c 00 39 0c 00 3a 00 33 01 00 0d 61 75 78 50 61 72 61 er.that.zero....9..:.3...auxPara
1a760 6d 65 74 65 72 73 0a 00 0c 00 3c 0c 00 3d 00 3e 01 00 0d 67 65 74 50 61 72 61 6d 65 74 65 72 73 meters....<..=.>...getParameters
1a780 01 00 04 28 29 5b 44 09 00 01 00 40 0c 00 41 00 42 01 00 0c 6e 72 49 74 65 72 61 74 69 6f 6e 73 ...()[D....@..A.B...nrIterations
1a7a0 01 00 01 49 09 00 01 00 44 0c 00 45 00 46 01 00 05 73 74 65 70 73 01 00 1c 4c 67 6e 75 2f 74 72 ...I....D..E.F...steps...Lgnu/tr
1a7c0 6f 76 65 2f 54 44 6f 75 62 6c 65 41 72 72 61 79 4c 69 73 74 3b 0a 00 48 00 4a 07 00 49 01 00 1a ove/TDoubleArrayList;..H.J..I...
1a7e0 67 6e 75 2f 74 72 6f 76 65 2f 54 44 6f 75 62 6c 65 41 72 72 61 79 4c 69 73 74 0c 00 4b 00 35 01 gnu/trove/TDoubleArrayList..K.5.
1a800 00 03 61 64 64 09 00 01 00 4d 0c 00 4e 00 33 01 00 12 6f 72 69 67 69 6e 61 6c 50 61 72 61 6d 65 ..add....M..N.3...originalParame
1a820 74 65 72 73 0a 00 0f 00 50 0c 00 51 00 52 01 00 09 61 72 72 61 79 63 6f 70 79 01 00 2a 28 4c 6a ters....P..Q.R...arraycopy..*(Lj
1a840 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 ava/lang/Object;ILjava/lang/Obje
1a860 63 74 3b 49 49 29 56 09 00 01 00 54 0c 00 55 00 33 01 00 0f 73 65 61 72 63 68 44 69 72 65 63 74 ct;II)V....T..U.3...searchDirect
1a880 69 6f 6e 0a 00 57 00 59 07 00 58 01 00 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f ion..W.Y..X...optimization/util/
1a8a0 4d 61 74 68 55 74 69 6c 73 0c 00 5a 00 5b 01 00 0a 70 6c 75 73 45 71 75 61 6c 73 01 00 08 28 5b MathUtils..Z.[...plusEquals...([
1a8c0 44 5b 44 44 29 56 0a 00 01 00 31 0a 00 2a 00 5e 0c 00 5f 00 60 01 00 0d 73 65 74 50 61 72 61 6d D[DD)V....1..*.^.._.`...setParam
1a8e0 65 74 65 72 73 01 00 05 28 5b 44 29 56 09 00 01 00 62 0c 00 63 00 46 01 00 06 76 61 6c 75 65 73 eters...([D)V....b..c.F...values
1a900 0a 00 2a 00 65 0c 00 66 00 67 01 00 08 67 65 74 56 61 6c 75 65 01 00 03 28 29 44 0a 00 57 00 69 ..*.e..f.g...getValue...()D..W.i
1a920 0c 00 6a 00 5b 01 00 12 6d 69 6e 75 73 45 71 75 61 6c 73 49 6e 76 65 72 73 65 0a 00 57 00 6c 0c ..j.[...minusEqualsInverse..W.l.
1a940 00 6d 00 6e 01 00 0a 64 6f 74 50 72 6f 64 75 63 74 01 00 07 28 5b 44 5b 44 29 44 09 00 01 00 70 .m.n...dotProduct...([D[D)D....p
1a960 0c 00 71 00 46 01 00 09 67 72 61 64 69 65 6e 74 73 08 00 73 01 00 33 47 72 61 64 69 65 6e 74 20 ..q.F...gradients..s..3Gradient.
1a980 6f 6e 20 6c 69 6e 65 20 73 65 61 72 63 68 20 68 61 73 20 74 6f 20 62 65 20 73 6d 61 6c 6c 65 72 on.line.search.has.to.be.smaller
1a9a0 20 74 68 61 6e 20 7a 65 72 6f 07 00 75 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 .than.zero..u...java/lang/String
1a9c0 42 75 69 6c 64 65 72 08 00 77 01 00 06 49 74 65 72 3a 20 0a 00 74 00 79 0c 00 07 00 1b 0a 00 74 Builder..w...Iter:...t.y.......t
1a9e0 00 7b 0c 00 7c 00 7d 01 00 06 61 70 70 65 6e 64 01 00 1c 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 .{..|.}...append...(I)Ljava/lang
1aa00 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 74 00 7f 0c 00 80 00 81 01 00 08 74 6f 53 74 /StringBuilder;..t..........toSt
1aa20 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 83 01 00 ring...()Ljava/lang/String;.....
1aa40 0d 6e 65 77 20 64 69 72 65 63 74 69 6f 6e 0a 00 85 00 87 07 00 86 01 00 1e 6f 70 74 69 6d 69 7a .new.direction...........optimiz
1aa60 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 72 69 78 4f 75 74 70 75 74 0c 00 88 00 89 01 00 10 70 ation/util/MatrixOutput........p
1aa80 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 01 00 17 28 5b 44 4c 6a 61 76 61 2f 6c 61 6e 67 2f rintDoubleArray...([DLjava/lang/
1aaa0 53 74 72 69 6e 67 3b 29 56 08 00 8b 01 00 10 73 65 61 72 63 68 20 64 69 72 65 63 74 69 6f 6e 01 String;)V......search.direction.
1aac0 00 05 61 6c 70 68 61 01 00 01 44 01 00 08 67 72 61 64 69 65 6e 74 01 00 0a 53 6f 75 72 63 65 46 ..alpha...D...gradient...SourceF
1aae0 69 6c 65 01 00 2f 50 72 6f 6a 65 63 74 65 64 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e ile../ProjectedDifferentiableLin
1ab00 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 01 00 eSearchObjective.java.!.........
1ab20 00 00 05 00 06 00 00 00 03 00 01 00 07 00 08 00 01 00 09 00 00 00 82 00 02 00 02 00 00 00 25 2a ..............................%*
1ab40 2b b7 00 0a 2b c1 00 0c 9a 00 13 b2 00 0e 12 14 b6 00 16 bb 00 1c 59 b7 00 1e bf 2a 2b c0 00 0c +...+.................Y....*+...
1ab60 b5 00 21 b1 00 00 00 03 00 23 00 00 00 1a 00 06 00 00 00 14 00 05 00 15 00 0c 00 16 00 14 00 17 ..!......#......................
1ab80 00 1c 00 19 00 24 00 1a 00 24 00 00 00 16 00 02 00 00 00 25 00 25 00 26 00 00 00 00 00 25 00 27 .....$...$.........%.%.&.....%.'
1aba0 00 28 00 01 00 29 00 00 00 0f 00 01 ff 00 1c 00 02 07 00 01 07 00 2a 00 00 00 01 00 2c 00 2d 00 .(...)................*.....,.-.
1abc0 01 00 09 00 00 00 40 00 02 00 02 00 00 00 0c 2a b4 00 2e c0 00 0c 2b b6 00 30 b0 00 00 00 02 00 ......@........*......+..0......
1abe0 23 00 00 00 06 00 01 00 00 00 1f 00 24 00 00 00 16 00 02 00 00 00 0c 00 25 00 26 00 00 00 00 00 #...........$...........%.&.....
1ac00 0c 00 32 00 33 00 01 00 01 00 34 00 35 00 01 00 09 00 00 01 a3 00 05 00 05 00 00 01 03 27 0e 98 ..2.3.....4.5................'..
1ac20 9c 00 13 b2 00 0e 12 36 b6 00 16 bb 00 1c 59 b7 00 1e bf 2a b4 00 21 b4 00 38 c7 00 14 2a b4 00 .......6......Y....*..!..8...*..
1ac40 21 2a b4 00 21 b6 00 3b be bc 07 b5 00 38 2a 59 b4 00 3f 04 60 b5 00 3f 2a b4 00 43 27 b6 00 47 !*..!..;.....8*Y..?.`..?*..C'..G
1ac60 2a b4 00 4c 03 2a b4 00 21 b4 00 38 03 2a b4 00 21 b4 00 38 be b8 00 4f 2a b4 00 21 b4 00 38 2a *..L.*..!..8.*..!..8...O*..!..8*
1ac80 b4 00 53 27 b8 00 56 2a b4 00 21 2a 2a b4 00 21 b4 00 38 b6 00 5c b5 00 38 2a b4 00 2e 2a b4 00 ..S'..V*..!**..!..8..\..8*...*..
1aca0 21 b4 00 38 b6 00 5d 2a b4 00 61 2a b4 00 2e b6 00 64 b6 00 47 2a b4 00 4c 2a b4 00 21 b4 00 38 !..8..]*..a*.....d..G*..L*..!..8
1acc0 0f b8 00 68 2a b4 00 21 b4 00 38 2a b4 00 53 b8 00 6b 4a 2a b4 00 6f 29 b6 00 47 29 0e 97 9e 00 ...h*..!..8*..S..kJ*..o)..G)....
1ace0 41 b2 00 0e 12 72 b6 00 16 b2 00 0e bb 00 74 59 12 76 b7 00 78 2a b4 00 3f b6 00 7a b6 00 7e b6 A....r........tY.v..x*..?..z..~.
1ad00 00 16 2a b4 00 21 b4 00 38 12 82 b8 00 84 2a b4 00 53 12 8a b8 00 84 bb 00 1c 59 b7 00 1e bf b1 ..*..!..8.....*..S........Y.....
1ad20 00 00 00 03 00 23 00 00 00 5a 00 16 00 00 00 23 00 06 00 24 00 0e 00 25 00 16 00 28 00 20 00 29 .....#...Z.....#...$...%...(...)
1ad40 00 31 00 2c 00 3b 00 2d 00 43 00 2e 00 5b 00 33 00 6a 00 35 00 7c 00 37 00 8a 00 3a 00 98 00 3c .1.,.;.-.C...[.3.j.5.|.7...:...<
1ad60 00 a7 00 3f 00 b6 00 40 00 be 00 41 00 c4 00 42 00 cc 00 43 00 e5 00 44 00 f1 00 45 00 fa 00 46 ...?...@...A...B...C...D...E...F
1ad80 01 02 00 4a 00 24 00 00 00 20 00 03 00 00 01 03 00 25 00 26 00 00 00 00 01 03 00 8c 00 8d 00 01 ...J.$...........%.&............
1ada0 00 b6 00 4d 00 8e 00 8d 00 03 00 29 00 00 00 08 00 03 16 1a fc 00 d0 03 00 01 00 8f 00 00 00 02 ...M.......)....................
1adc0 00 90 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 0d 95 7e 5d e2 13 00 00 e2 13 00 00 47 00 00 00 ..PK.........i.<..~]........G...
1ade0 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 50 72 6f 6a 65 63 74 65 optimization/linesearch/Projecte
1ae00 64 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 dDifferentiableLineSearchObjecti
1ae20 76 65 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 ve.javapackage.optimization.line
1ae40 73 65 61 72 63 68 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 search;..import.optimization.gra
1ae60 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 dientBasedMethods.Objective;.imp
1ae80 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 ort.optimization.gradientBasedMe
1aea0 74 68 6f 64 73 2e 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 thods.ProjectedObjective;.import
1aec0 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 69 6d .optimization.util.MathUtils;.im
1aee0 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 72 69 78 4f 75 74 port.optimization.util.MatrixOut
1af00 70 75 74 3b 0a 0a 0a 2f 2a 2a 0a 20 2a 20 53 65 65 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 put;.../**..*.See.ArmijoLineSear
1af20 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 chMinimizationAlongProjectionArc
1af40 20 66 6f 72 20 64 65 73 63 72 69 70 74 69 6f 6e 0a 20 2a 20 40 61 75 74 68 6f 72 20 6a 61 76 67 .for.description..*.@author.javg
1af60 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 50 72 6f 6a 65 63 74 65 64 44 69 ..*..*/.public.class.ProjectedDi
1af80 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 20 fferentiableLineSearchObjective.
1afa0 65 78 74 65 6e 64 73 20 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 extends.DifferentiableLineSearch
1afc0 4f 62 6a 65 63 74 69 76 65 7b 0a 0a 09 0a 09 0a 09 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 Objective{.......ProjectedObject
1afe0 69 76 65 20 6f 62 6a 3b 0a 09 70 75 62 6c 69 63 20 50 72 6f 6a 65 63 74 65 64 44 69 66 66 65 72 ive.obj;..public.ProjectedDiffer
1b000 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 28 4f 62 6a 65 entiableLineSearchObjective(Obje
1b020 63 74 69 76 65 20 6f 29 20 7b 0a 09 09 73 75 70 65 72 28 6f 29 3b 0a 09 09 69 66 28 21 28 6f 20 ctive.o).{...super(o);...if(!(o.
1b040 69 6e 73 74 61 6e 63 65 6f 66 20 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 29 29 7b instanceof.ProjectedObjective)){
1b060 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4d 75 73 74 20 72 65 63 ....System.out.println("Must.rec
1b080 65 69 76 65 20 61 20 70 72 6f 6a 65 63 74 65 64 20 6f 62 6a 65 63 74 69 76 65 22 29 3b 0a 09 09 eive.a.projected.objective");...
1b0a0 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 09 .throw.new.RuntimeException();..
1b0c0 09 7d 0a 09 09 6f 62 6a 20 3d 20 28 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 29 20 .}...obj.=.(ProjectedObjective).
1b0e0 6f 3b 0a 09 7d 0a 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 70 72 6f 6a o;..}.......public.double[].proj
1b100 65 63 74 50 6f 69 6e 74 20 28 64 6f 75 62 6c 65 5b 5d 20 70 6f 69 6e 74 29 7b 0a 09 09 72 65 74 ectPoint.(double[].point){...ret
1b120 75 72 6e 20 28 28 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 29 6f 29 2e 70 72 6f 6a urn.((ProjectedObjective)o).proj
1b140 65 63 74 50 6f 69 6e 74 28 70 6f 69 6e 74 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f ectPoint(point);..}....public.vo
1b160 69 64 20 75 70 64 61 74 65 41 6c 70 68 61 28 64 6f 75 62 6c 65 20 61 6c 70 68 61 29 7b 0a 09 09 id.updateAlpha(double.alpha){...
1b180 69 66 28 61 6c 70 68 61 20 3c 20 30 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 if(alpha.<.0){....System.out.pri
1b1a0 6e 74 6c 6e 28 22 61 6c 70 68 61 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 6d 61 6c 6c 65 72 20 74 ntln("alpha.may.not.be.smaller.t
1b1c0 68 61 74 20 7a 65 72 6f 22 29 3b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 hat.zero");....throw.new.Runtime
1b1e0 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 09 09 7d 0a 09 09 0a 09 09 69 66 28 6f 62 6a 2e 61 75 78 Exception();...}......if(obj.aux
1b200 50 61 72 61 6d 65 74 65 72 73 20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 6f 62 6a 2e 61 75 78 50 Parameters.==.null){....obj.auxP
1b220 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 62 6a 2e 67 65 74 50 61 arameters.=.new.double[obj.getPa
1b240 72 61 6d 65 74 65 72 73 28 29 2e 6c 65 6e 67 74 68 5d 3b 0a 09 09 7d 0a 09 09 0a 09 09 6e 72 49 rameters().length];...}......nrI
1b260 74 65 72 61 74 69 6f 6e 73 2b 2b 3b 0a 09 09 73 74 65 70 73 2e 61 64 64 28 61 6c 70 68 61 29 3b terations++;...steps.add(alpha);
1b280 09 09 0a 09 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 6f 72 69 67 69 6e 61 6c 50 61 .....System.arraycopy(originalPa
1b2a0 72 61 6d 65 74 65 72 73 2c 20 30 2c 20 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 rameters,.0,.obj.auxParameters,.
1b2c0 30 2c 20 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2e 6c 65 6e 67 74 68 29 3b 0a 09 09 0,.obj.auxParameters.length);...
1b2e0 0a 09 09 2f 2f 54 61 6b 65 20 61 20 73 74 65 70 20 69 6e 74 6f 20 74 68 65 20 73 65 61 72 63 68 ...//Take.a.step.into.the.search
1b300 20 64 69 72 65 63 74 69 6f 6e 0a 2f 2f 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e .direction.//..MatrixOutput.prin
1b320 74 44 6f 75 62 6c 65 41 72 72 61 79 28 6f 62 6a 2e 67 65 74 47 72 61 64 69 65 6e 74 28 29 2c 20 tDoubleArray(obj.getGradient(),.
1b340 22 67 72 61 64 69 65 6e 74 22 29 3b 0a 09 09 2f 2f 78 5f 74 2b 31 20 3d 20 78 5f 74 20 2d 20 61 "gradient");...//x_t+1.=.x_t.-.a
1b360 6c 70 68 61 2a 67 72 61 64 69 65 6e 74 20 3d 20 78 5f 74 20 2b 20 61 6c 70 68 61 2a 64 69 72 65 lpha*gradient.=.x_t.+.alpha*dire
1b380 63 74 69 6f 6e 0a 09 09 4d 61 74 68 55 74 69 6c 73 2e 70 6c 75 73 45 71 75 61 6c 73 28 6f 62 6a ction...MathUtils.plusEquals(obj
1b3a0 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 73 65 61 72 63 68 44 69 72 65 63 74 69 6f 6e 2c .auxParameters,.searchDirection,
1b3c0 20 61 6c 70 68 61 29 3b 0a 2f 2f 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 .alpha);.//..MatrixOutput.printD
1b3e0 6f 75 62 6c 65 41 72 72 61 79 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 22 62 oubleArray(obj.auxParameters,."b
1b400 65 66 6f 72 65 20 70 72 6f 6a 65 63 74 69 6f 6e 22 29 3b 0a 09 09 6f 62 6a 2e 61 75 78 50 61 72 efore.projection");...obj.auxPar
1b420 61 6d 65 74 65 72 73 20 3d 20 70 72 6f 6a 65 63 74 50 6f 69 6e 74 28 6f 62 6a 2e 61 75 78 50 61 ameters.=.projectPoint(obj.auxPa
1b440 72 61 6d 65 74 65 72 73 29 3b 0a 2f 2f 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e rameters);.//..MatrixOutput.prin
1b460 74 44 6f 75 62 6c 65 41 72 72 61 79 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 tDoubleArray(obj.auxParameters,.
1b480 22 61 66 74 65 72 20 70 72 6f 6a 65 63 74 69 6f 6e 22 29 3b 0a 09 09 6f 2e 73 65 74 50 61 72 61 "after.projection");...o.setPara
1b4a0 6d 65 74 65 72 73 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 29 3b 0a 2f 2f 09 09 53 meters(obj.auxParameters);.//..S
1b4c0 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 6e 65 77 20 70 61 72 61 6d 65 74 65 72 ystem.out.println("new.parameter
1b4e0 73 22 29 3b 0a 2f 2f 09 09 6f 2e 70 72 69 6e 74 50 61 72 61 6d 65 74 65 72 73 28 29 3b 0a 09 09 s");.//..o.printParameters();...
1b500 76 61 6c 75 65 73 2e 61 64 64 28 6f 2e 67 65 74 56 61 6c 75 65 28 29 29 3b 0a 09 09 2f 2f 43 6f values.add(o.getValue());...//Co
1b520 6d 70 75 74 65 73 20 74 68 65 20 6e 65 77 20 67 72 61 64 69 65 6e 74 20 78 5f 6b 2d 5b 78 5f 6b mputes.the.new.gradient.x_k-[x_k
1b540 2d 61 6c 70 68 61 2a 47 72 61 64 69 65 6e 74 28 78 5f 6b 29 5d 2b 20 0a 09 09 4d 61 74 68 55 74 -alpha*Gradient(x_k)]+....MathUt
1b560 69 6c 73 2e 6d 69 6e 75 73 45 71 75 61 6c 73 49 6e 76 65 72 73 65 28 6f 72 69 67 69 6e 61 6c 50 ils.minusEqualsInverse(originalP
1b580 61 72 61 6d 65 74 65 72 73 2c 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 31 29 3b 0a arameters,obj.auxParameters,1);.
1b5a0 2f 2f 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 //..MatrixOutput.printDoubleArra
1b5c0 79 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 22 6e 65 77 20 67 72 61 64 69 65 y(obj.auxParameters,."new.gradie
1b5e0 6e 74 22 29 3b 0a 09 09 2f 2f 44 6f 74 20 70 72 6f 64 75 63 74 20 62 65 74 77 65 65 6e 20 74 68 nt");...//Dot.product.between.th
1b600 65 20 6e 65 77 20 64 69 72 65 63 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 6e 65 77 20 67 72 61 64 e.new.direction.and.the.new.grad
1b620 69 65 6e 74 0a 09 09 64 6f 75 62 6c 65 20 67 72 61 64 69 65 6e 74 20 3d 20 4d 61 74 68 55 74 69 ient...double.gradient.=.MathUti
1b640 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c ls.dotProduct(obj.auxParameters,
1b660 73 65 61 72 63 68 44 69 72 65 63 74 69 6f 6e 29 3b 0a 09 09 67 72 61 64 69 65 6e 74 73 2e 61 64 searchDirection);...gradients.ad
1b680 64 28 67 72 61 64 69 65 6e 74 29 3b 09 0a 09 09 69 66 28 67 72 61 64 69 65 6e 74 20 3e 20 30 29 d(gradient);....if(gradient.>.0)
1b6a0 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 47 72 61 64 69 65 6e {....System.out.println("Gradien
1b6c0 74 20 6f 6e 20 6c 69 6e 65 20 73 65 61 72 63 68 20 68 61 73 20 74 6f 20 62 65 20 73 6d 61 6c 6c t.on.line.search.has.to.be.small
1b6e0 65 72 20 74 68 61 6e 20 7a 65 72 6f 22 29 3b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 er.than.zero");....System.out.pr
1b700 69 6e 74 6c 6e 28 22 49 74 65 72 3a 20 22 20 2b 20 6e 72 49 74 65 72 61 74 69 6f 6e 73 29 3b 0a intln("Iter:.".+.nrIterations);.
1b720 09 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 ...MatrixOutput.printDoubleArray
1b740 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 22 6e 65 77 20 64 69 72 65 63 74 69 (obj.auxParameters,."new.directi
1b760 6f 6e 22 29 3b 0a 09 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c on");....MatrixOutput.printDoubl
1b780 65 41 72 72 61 79 28 73 65 61 72 63 68 44 69 72 65 63 74 69 6f 6e 2c 20 22 73 65 61 72 63 68 20 eArray(searchDirection,."search.
1b7a0 64 69 72 65 63 74 69 6f 6e 22 29 3b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d direction");....throw.new.Runtim
1b7c0 65 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 09 09 09 0a 09 09 7d 0a 09 09 0a 09 7d 0a 09 0a 09 2f eException();.......}.....}..../
1b7e0 2a 2a 0a 09 20 2a 20 0a 09 20 2a 2f 0a 2f 2f 09 70 75 62 6c 69 63 20 76 6f 69 64 20 75 70 64 61 **...*....*/.//.public.void.upda
1b800 74 65 41 6c 70 68 61 28 64 6f 75 62 6c 65 20 61 6c 70 68 61 29 7b 0a 2f 2f 09 09 0a 2f 2f 09 09 teAlpha(double.alpha){.//...//..
1b820 69 66 28 61 6c 70 68 61 20 3c 20 30 29 7b 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 if(alpha.<.0){.//...System.out.p
1b840 72 69 6e 74 6c 6e 28 22 61 6c 70 68 61 20 6d 61 79 20 6e 6f 74 20 62 65 20 73 6d 61 6c 6c 65 72 rintln("alpha.may.not.be.smaller
1b860 20 74 68 61 74 20 7a 65 72 6f 22 29 3b 0a 2f 2f 09 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e .that.zero");.//...throw.new.Run
1b880 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 2f 2f 09 09 7d 0a 2f 2f 09 09 0a 2f 2f 09 09 timeException();.//..}.//...//..
1b8a0 6e 72 49 74 65 72 61 74 69 6f 6e 73 2b 2b 3b 0a 2f 2f 09 09 73 74 65 70 73 2e 61 64 64 28 61 6c nrIterations++;.//..steps.add(al
1b8c0 70 68 61 29 3b 0a 2f 2f 09 09 2f 2f 78 5f 74 2b 31 20 3d 20 78 5f 74 20 2d 20 61 6c 70 68 61 2a pha);.//..//x_t+1.=.x_t.-.alpha*
1b8e0 64 69 72 65 63 74 69 6f 6e 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 6f direction.//..System.arraycopy(o
1b900 72 69 67 69 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 2c 20 30 2c 20 70 61 72 61 6d 65 74 65 72 73 riginalParameters,.0,.parameters
1b920 43 68 61 6e 67 65 2c 20 30 2c 20 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 2e 6c 65 6e 67 Change,.0,.parametersChange.leng
1b940 74 68 29 3b 0a 2f 2f 2f 2f 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 th);.////..MatrixOutput.printDou
1b960 62 6c 65 41 72 72 61 79 28 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 2c 20 22 70 61 72 61 bleArray(parametersChange,."para
1b980 6d 65 74 65 72 73 20 62 65 66 6f 72 65 20 73 74 65 70 22 29 3b 0a 2f 2f 2f 2f 09 09 53 79 73 74 meters.before.step");.////..Syst
1b9a0 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 74 65 70 22 20 2b 20 61 6c 70 68 61 29 3b 0a em.out.println("Step".+.alpha);.
1b9c0 2f 2f 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 //..MatrixOutput.printDoubleArra
1b9e0 79 28 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 2c 20 22 67 72 61 64 69 65 6e 74 20 2b 20 y(originalGradient,."gradient.+.
1ba00 22 20 2b 20 61 6c 70 68 61 29 3b 0a 2f 2f 0a 2f 2f 09 09 4d 61 74 68 55 74 69 6c 73 2e 6d 69 6e ".+.alpha);.//.//..MathUtils.min
1ba20 75 73 45 71 75 61 6c 73 28 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 2c 20 6f 72 69 67 69 usEquals(parametersChange,.origi
1ba40 6e 61 6c 47 72 61 64 69 65 6e 74 2c 20 61 6c 70 68 61 29 3b 0a 2f 2f 09 09 0a 2f 2f 09 09 2f 2f nalGradient,.alpha);.//...//..//
1ba60 50 72 6f 6a 65 63 74 20 74 68 65 20 70 6f 69 6e 74 73 20 69 6e 74 6f 20 74 68 65 20 66 65 61 73 Project.the.points.into.the.feas
1ba80 69 62 69 6c 69 74 79 20 73 65 74 0a 2f 2f 2f 2f 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 ibility.set.////..MatrixOutput.p
1baa0 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 rintDoubleArray(parametersChange
1bac0 2c 20 22 62 65 66 6f 72 65 20 70 72 6f 6a 65 63 74 69 6f 6e 22 29 3b 0a 2f 2f 09 09 2f 2f 78 5f ,."before.projection");.//..//x_
1bae0 6b 28 61 6c 70 68 61 29 20 3d 20 5b 78 5f 6b 20 2d 20 61 6c 70 68 61 2a 67 72 61 64 20 66 28 78 k(alpha).=.[x_k.-.alpha*grad.f(x
1bb00 5f 6b 29 5d 2b 0a 2f 2f 09 09 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 20 3d 20 70 72 6f _k)]+.//..parametersChange.=.pro
1bb20 6a 65 63 74 50 6f 69 6e 74 28 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 29 3b 0a 2f 2f 2f jectPoint(parametersChange);.///
1bb40 2f 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 /..MatrixOutput.printDoubleArray
1bb60 28 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 2c 20 22 61 66 74 65 72 20 70 72 6f 6a 65 63 (parametersChange,."after.projec
1bb80 74 69 6f 6e 22 29 3b 0a 2f 2f 09 09 6f 2e 73 65 74 50 61 72 61 6d 65 74 65 72 73 28 70 61 72 61 tion");.//..o.setParameters(para
1bba0 6d 65 74 65 72 73 43 68 61 6e 67 65 29 3b 0a 2f 2f 09 09 76 61 6c 75 65 73 2e 61 64 64 28 6f 2e metersChange);.//..values.add(o.
1bbc0 67 65 74 56 61 6c 75 65 28 29 29 3b 0a 2f 2f 09 09 2f 2f 43 6f 6d 70 75 74 65 73 20 74 68 65 20 getValue());.//..//Computes.the.
1bbe0 6e 65 77 20 64 69 72 65 63 74 69 6f 6e 20 78 5f 6b 2d 5b 78 5f 6b 2d 61 6c 70 68 61 2a 47 72 61 new.direction.x_k-[x_k-alpha*Gra
1bc00 64 69 65 6e 74 28 78 5f 6b 29 5d 2b 0a 2f 2f 09 09 0a 2f 2f 09 09 64 69 72 65 63 74 69 6f 6e 3d dient(x_k)]+.//...//..direction=
1bc20 4d 61 74 68 55 74 69 6c 73 2e 61 72 72 61 79 4d 69 6e 75 73 28 70 61 72 61 6d 65 74 65 72 73 43 MathUtils.arrayMinus(parametersC
1bc40 68 61 6e 67 65 2c 6f 72 69 67 69 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 29 3b 0a 2f 2f 2f 2f 09 hange,originalParameters);.////.
1bc60 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 64 .MatrixOutput.printDoubleArray(d
1bc80 69 72 65 63 74 69 6f 6e 2c 20 22 6e 65 77 20 64 69 72 65 63 74 69 6f 6e 22 29 3b 0a 2f 2f 09 09 irection,."new.direction");.//..
1bca0 0a 2f 2f 09 09 64 6f 75 62 6c 65 20 67 72 61 64 69 65 6e 74 20 3d 20 4d 61 74 68 55 74 69 6c 73 .//..double.gradient.=.MathUtils
1bcc0 2e 64 6f 74 50 72 6f 64 75 63 74 28 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 2c 64 69 72 .dotProduct(originalGradient,dir
1bce0 65 63 74 69 6f 6e 29 3b 0a 2f 2f 09 09 67 72 61 64 69 65 6e 74 73 2e 61 64 64 28 67 72 61 64 69 ection);.//..gradients.add(gradi
1bd00 65 6e 74 29 3b 09 09 0a 2f 2f 09 09 69 66 28 67 72 61 64 69 65 6e 74 20 3e 20 31 45 2d 31 30 29 ent);...//..if(gradient.>.1E-10)
1bd20 7b 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 63 6f 73 69 6e {.//...System.out.println("cosin
1bd40 65 20 22 20 2b 20 67 72 61 64 69 65 6e 74 2f 28 4d 61 74 68 55 74 69 6c 73 2e 4c 32 4e 6f 72 6d e.".+.gradient/(MathUtils.L2Norm
1bd60 28 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 29 2a 4d 61 74 68 55 74 69 6c 73 2e 4c 32 4e (originalGradient)*MathUtils.L2N
1bd80 6f 72 6d 28 64 69 72 65 63 74 69 6f 6e 29 29 29 3b 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 0a 2f 2f orm(direction)));.//....//....//
1bda0 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 6e 6f 74 20 61 20 64 65 73 ...System.out.println("not.a.des
1bdc0 63 65 6e 74 20 64 69 72 65 63 74 69 6f 6e 20 66 6f 72 20 61 6c 70 68 61 20 22 20 2b 20 61 6c 70 cent.direction.for.alpha.".+.alp
1bde0 68 61 29 3b 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 6f 72 69 67 69 ha);.//...System.arraycopy(origi
1be00 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 2c 20 30 2c 20 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e nalParameters,.0,.parametersChan
1be20 67 65 2c 20 30 2c 20 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 2e 6c 65 6e 67 74 68 29 3b ge,.0,.parametersChange.length);
1be40 0a 2f 2f 09 09 09 4d 61 74 68 55 74 69 6c 73 2e 6d 69 6e 75 73 45 71 75 61 6c 73 28 70 61 72 61 .//...MathUtils.minusEquals(para
1be60 6d 65 74 65 72 73 43 68 61 6e 67 65 2c 20 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 2c 20 metersChange,.originalGradient,.
1be80 31 45 2d 32 30 29 3b 0a 2f 2f 09 09 09 0a 2f 2f 09 09 09 70 61 72 61 6d 65 74 65 72 73 43 68 61 1E-20);.//....//...parametersCha
1bea0 6e 67 65 20 3d 20 70 72 6f 6a 65 63 74 50 6f 69 6e 74 28 70 61 72 61 6d 65 74 65 72 73 43 68 61 nge.=.projectPoint(parametersCha
1bec0 6e 67 65 29 3b 0a 2f 2f 09 09 09 64 69 72 65 63 74 69 6f 6e 3d 4d 61 74 68 55 74 69 6c 73 2e 61 nge);.//...direction=MathUtils.a
1bee0 72 72 61 79 4d 69 6e 75 73 28 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 2c 6f 72 69 67 69 rrayMinus(parametersChange,origi
1bf00 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 29 3b 0a 2f 2f 09 09 09 67 72 61 64 69 65 6e 74 20 3d 20 nalParameters);.//...gradient.=.
1bf20 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 6f 72 69 67 69 6e 61 6c 47 72 61 MathUtils.dotProduct(originalGra
1bf40 64 69 65 6e 74 2c 64 69 72 65 63 74 69 6f 6e 29 3b 0a 2f 2f 09 09 09 69 66 28 67 72 61 64 69 65 dient,direction);.//...if(gradie
1bf60 6e 74 20 3e 20 30 29 7b 0a 2f 2f 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c nt.>.0){.//....System.out.printl
1bf80 6e 28 22 44 69 72 65 63 74 69 6f 6e 20 69 73 20 72 65 61 6c 6c 79 20 6e 6f 6e 2d 64 65 73 63 65 n("Direction.is.really.non-desce
1bfa0 6e 74 20 65 76 65 72 6e 20 66 6f 72 20 73 6d 61 6c 6c 20 61 6c 70 68 61 73 3a 22 20 2b 20 67 72 nt.evern.for.small.alphas:".+.gr
1bfc0 61 64 69 65 6e 74 29 3b 0a 2f 2f 09 09 09 7d 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e adient);.//...}.//...System.out.
1bfe0 70 72 69 6e 74 6c 6e 28 22 50 72 6f 6a 65 63 74 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 println("ProjecteLineSearchObjec
1c000 74 69 76 65 3a 20 53 68 6f 75 6c 64 20 62 65 20 61 20 64 65 73 63 65 6e 74 20 64 69 72 65 63 74 tive:.Should.be.a.descent.direct
1c020 69 6f 6e 20 61 74 20 22 20 2b 20 6e 72 49 74 65 72 61 74 69 6f 6e 73 20 2b 20 22 3a 20 22 2b 20 ion.at.".+.nrIterations.+.":."+.
1c040 67 72 61 64 69 65 6e 74 29 3b 0a 2f 2f 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 gradient);.////...System.out.pri
1c060 6e 74 6c 6e 28 50 72 69 6e 74 69 6e 67 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e ntln(Printing.doubleArrayToStrin
1c080 67 28 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 2c 20 6e 75 6c 6c 2c 22 4f 72 69 67 69 6e g(originalGradient,.null,"Origin
1c0a0 61 6c 20 67 72 61 64 69 65 6e 74 22 29 29 3b 0a 2f 2f 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 al.gradient"));.////...System.ou
1c0c0 74 2e 70 72 69 6e 74 6c 6e 28 50 72 69 6e 74 69 6e 67 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 6f t.println(Printing.doubleArrayTo
1c0e0 53 74 72 69 6e 67 28 6f 72 69 67 69 6e 61 6c 50 61 72 61 6d 65 74 65 72 73 2c 20 6e 75 6c 6c 2c String(originalParameters,.null,
1c100 22 4f 72 69 67 69 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 73 22 29 29 3b 0a 2f 2f 2f 2f 09 09 09 "Original.parameters"));.////...
1c120 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 50 72 69 6e 74 69 6e 67 2e 64 6f 75 62 System.out.println(Printing.doub
1c140 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 70 61 72 61 6d 65 74 65 72 73 43 68 61 6e 67 65 leArrayToString(parametersChange
1c160 2c 20 6e 75 6c 6c 2c 22 50 72 6f 6a 65 63 74 65 64 20 70 61 72 61 6d 65 74 65 72 73 22 29 29 3b ,.null,"Projected.parameters"));
1c180 0a 2f 2f 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 50 72 69 6e 74 .////...System.out.println(Print
1c1a0 69 6e 67 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 64 69 72 65 63 74 69 6f ing.doubleArrayToString(directio
1c1c0 6e 2c 20 6e 75 6c 6c 2c 22 44 69 72 65 63 74 69 6f 6e 22 29 29 3b 0a 2f 2f 09 09 09 74 68 72 6f n,.null,"Direction"));.//...thro
1c1e0 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 2f 2f 09 09 7d 0a w.new.RuntimeException();.//..}.
1c200 2f 2f 09 7d 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 a5 7c e6 3c 44 f3 e8 af cd 04 00 00 cd //.}...}.PK.........|.<D........
1c220 04 00 00 38 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 49 ...8...optimization/linesearch/I
1c240 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 2e 63 6c 61 73 73 ca nterpolationPickFirstStep.class.
1c260 fe ba be 00 00 00 32 00 37 07 00 02 01 00 32 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 ......2.7.....2optimization/line
1c280 73 65 61 72 63 68 2f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 search/InterpolationPickFirstSte
1c2a0 70 07 00 04 01 00 2c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 p.....,optimization/linesearch/G
1c2c0 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 01 00 06 3c 69 6e 69 74 3e 01 00 04 28 enericPickFirstStep...<init>...(
1c2e0 44 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 D)V...Code.............LineNumbe
1c300 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 rTable...LocalVariableTable...th
1c320 69 73 01 00 34 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 49 6e is..4Loptimization/linesearch/In
1c340 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 3b 01 00 09 69 6e 69 74 terpolationPickFirstStep;...init
1c360 56 61 6c 75 65 01 00 01 44 01 00 0c 67 65 74 46 69 72 73 74 53 74 65 70 01 00 2d 28 4c 6f 70 74 Value...D...getFirstStep..-(Lopt
1c380 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d imization/linesearch/LineSearchM
1c3a0 65 74 68 6f 64 3b 29 44 0b 00 13 00 15 07 00 14 01 00 28 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f ethod;)D..........(optimization/
1c3c0 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 0c 00 16 00 17 linesearch/LineSearchMethod.....
1c3e0 01 00 13 67 65 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 01 00 03 28 29 44 06 bf f0 00 ...getPreviousStepUsed...()D....
1c400 00 00 00 00 00 0b 00 13 00 1b 0c 00 1c 00 17 01 00 1a 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 ..................getPreviousIni
1c420 74 69 61 6c 47 72 61 64 69 65 6e 74 06 40 34 00 00 00 00 00 00 06 3f f0 51 eb 85 1e b8 52 0b 00 tialGradient.@4.......?.Q....R..
1c440 13 00 22 0c 00 23 00 17 01 00 12 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 0a 00 25 .."..#.....getInitialGradient..%
1c460 00 27 07 00 26 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 68 0c 00 28 00 29 01 00 03 6d 69 .'..&...java/lang/Math..(.)...mi
1c480 6e 01 00 05 28 44 44 29 44 09 00 01 00 2b 0c 00 2c 00 0f 01 00 0a 5f 69 6e 69 74 56 61 6c 75 65 n...(DD)D....+..,....._initValue
1c4a0 01 00 02 6c 73 01 00 2a 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 ...ls..*Loptimization/linesearch
1c4c0 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 01 00 07 6e 65 77 53 74 65 70 01 00 0d 53 /LineSearchMethod;...newStep...S
1c4e0 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 11 63 6f 6c 6c 65 63 74 49 6e 69 74 56 61 6c 75 65 73 tackMapTable...collectInitValues
1c500 01 00 2f 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c ../(Loptimization/linesearch/Wol
1c520 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 3b 29 56 01 00 2c 4c 6f 70 74 69 6d 69 7a 61 74 69 fRuleLineSearch;)V..,Loptimizati
1c540 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 on/linesearch/WolfRuleLineSearch
1c560 3b 01 00 12 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 56 61 6c 75 65 73 01 00 0a 53 6f 75 72 63 65 46 ;...collectFinalValues...SourceF
1c580 69 6c 65 01 00 1f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 ile...InterpolationPickFirstStep
1c5a0 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 04 00 01 00 05 00 06 00 01 00 07 00 00 00 3e 00 .java.!.......................>.
1c5c0 03 00 03 00 00 00 06 2a 27 b7 00 08 b1 00 00 00 02 00 0a 00 00 00 0a 00 02 00 00 00 06 00 05 00 .......*'.......................
1c5e0 07 00 0b 00 00 00 16 00 02 00 00 00 06 00 0c 00 0d 00 00 00 00 00 06 00 0e 00 0f 00 01 00 01 00 ................................
1c600 10 00 11 00 01 00 07 00 00 00 91 00 06 00 04 00 00 00 3e 2b b9 00 12 01 00 14 00 18 97 99 00 2f ..................>+.........../
1c620 2b b9 00 1a 01 00 0e 97 99 00 24 14 00 1d 14 00 1f 2b b9 00 1a 01 00 6b 2b b9 00 12 01 00 6b 2b +.........$......+.....k+.....k+
1c640 b9 00 21 01 00 6f b8 00 24 49 28 af 2a b4 00 2a af 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 00 ..!..o..$I(.*..*................
1c660 0a 00 18 00 0b 00 37 00 0d 00 39 00 10 00 0b 00 00 00 20 00 03 00 00 00 3e 00 0c 00 0d 00 00 00 ......7...9.............>.......
1c680 00 00 3e 00 2d 00 2e 00 01 00 37 00 02 00 2f 00 0f 00 02 00 30 00 00 00 03 00 01 39 00 01 00 31 ..>.-.....7.../.....0......9...1
1c6a0 00 32 00 01 00 07 00 00 00 35 00 00 00 02 00 00 00 01 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 .2.......5......................
1c6c0 00 00 14 00 0b 00 00 00 16 00 02 00 00 00 01 00 0c 00 0d 00 00 00 00 00 01 00 2d 00 33 00 01 00 ..........................-.3...
1c6e0 01 00 34 00 32 00 01 00 07 00 00 00 35 00 00 00 02 00 00 00 01 b1 00 00 00 02 00 0a 00 00 00 06 ..4.2.......5...................
1c700 00 01 00 00 00 18 00 0b 00 00 00 16 00 02 00 00 00 01 00 0c 00 0d 00 00 00 00 00 01 00 2d 00 33 .............................-.3
1c720 00 01 00 01 00 35 00 00 00 02 00 36 50 4b 03 04 0a 00 00 00 00 00 a5 7c e6 3c b6 42 25 ac 93 02 .....5.....6PK.........|.<.B%...
1c740 00 00 93 02 00 00 37 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 ......7...optimization/linesearc
1c760 68 2f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 2e 6a 61 76 h/InterpolationPickFirstStep.jav
1c780 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 apackage.optimization.linesearch
1c7a0 3b 0a 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 ;...public.class.InterpolationPi
1c7c0 63 6b 46 69 72 73 74 53 74 65 70 20 65 78 74 65 6e 64 73 20 47 65 6e 65 72 69 63 50 69 63 6b 46 ckFirstStep.extends.GenericPickF
1c7e0 69 72 73 74 53 74 65 70 7b 0a 09 70 75 62 6c 69 63 20 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 irstStep{..public.InterpolationP
1c800 69 63 6b 46 69 72 73 74 53 74 65 70 28 64 6f 75 62 6c 65 20 69 6e 69 74 56 61 6c 75 65 29 20 7b ickFirstStep(double.initValue).{
1c820 0a 09 09 73 75 70 65 72 28 69 6e 69 74 56 61 6c 75 65 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 ...super(initValue);..}....publi
1c840 63 20 64 6f 75 62 6c 65 20 67 65 74 46 69 72 73 74 53 74 65 70 28 4c 69 6e 65 53 65 61 72 63 68 c.double.getFirstStep(LineSearch
1c860 4d 65 74 68 6f 64 20 6c 73 29 7b 0a 09 09 69 66 28 6c 73 2e 67 65 74 50 72 65 76 69 6f 75 73 53 Method.ls){...if(ls.getPreviousS
1c880 74 65 70 55 73 65 64 28 29 20 21 3d 20 2d 31 20 26 26 20 6c 73 2e 67 65 74 50 72 65 76 69 6f 75 tepUsed().!=.-1.&&.ls.getPreviou
1c8a0 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 21 3d 30 29 7b 0a 09 09 09 64 6f 75 62 6c sInitialGradient()!=0){....doubl
1c8c0 65 20 6e 65 77 53 74 65 70 20 3d 20 4d 61 74 68 2e 6d 69 6e 28 32 30 2c 20 31 2e 30 32 2a 6c 73 e.newStep.=.Math.min(20,.1.02*ls
1c8e0 2e 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 2a 6c 73 .getPreviousInitialGradient()*ls
1c900 2e 67 65 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 28 29 2f 6c 73 2e 67 65 74 49 6e 69 .getPreviousStepUsed()/ls.getIni
1c920 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 29 3b 0a 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 74 tialGradient());...//.System.out
1c940 2e 70 72 69 6e 74 6c 6e 28 22 70 72 6f 70 6f 73 69 6e 67 20 22 20 2b 20 6e 65 77 53 74 65 70 29 .println("proposing.".+.newStep)
1c960 3b 0a 09 09 09 72 65 74 75 72 6e 20 6e 65 77 53 74 65 70 3b 0a 09 09 09 0a 09 09 7d 0a 09 09 72 ;....return.newStep;.......}...r
1c980 65 74 75 72 6e 20 5f 69 6e 69 74 56 61 6c 75 65 3b 0a 09 7d 0a 09 70 75 62 6c 69 63 20 76 6f 69 eturn._initValue;..}..public.voi
1c9a0 64 20 63 6f 6c 6c 65 63 74 49 6e 69 74 56 61 6c 75 65 73 28 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 d.collectInitValues(WolfRuleLine
1c9c0 53 65 61 72 63 68 20 6c 73 29 7b 0a 09 09 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 Search.ls){.....}....public.void
1c9e0 20 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 56 61 6c 75 65 73 28 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 .collectFinalValues(WolfRuleLine
1ca00 53 65 61 72 63 68 20 6c 73 29 7b 0a 09 09 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 15 5c Search.ls){.....}.}.PK.........\
1ca20 e5 3c 64 0c be 08 f2 08 00 00 f2 08 00 00 3a 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c .<d...........:...optimization/l
1ca40 69 6e 65 73 65 61 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 inesearch/ArmijoLineSearchMinimi
1ca60 7a 61 74 69 6f 6e 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 68 07 00 02 01 00 34 6f 70 74 69 zation.class.......2.h.....4opti
1ca80 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 mization/linesearch/ArmijoLineSe
1caa0 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f archMinimization......java/lang/
1cac0 4f 62 6a 65 63 74 07 00 06 01 00 28 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 Object.....(optimization/linesea
1cae0 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 01 00 11 63 6f 6e 74 72 61 63 74 69 rch/LineSearchMethod...contracti
1cb00 6f 6e 46 61 63 74 6f 72 01 00 01 44 01 00 02 63 31 01 00 06 73 69 67 6d 61 31 01 00 06 73 69 67 onFactor...D...c1...sigma1...sig
1cb20 6d 61 32 01 00 0b 69 6e 69 74 69 61 6c 53 74 65 70 01 00 0d 6d 61 78 49 74 65 72 61 74 69 6f 6e ma2...initialStep...maxIteration
1cb40 73 01 00 01 49 01 00 12 70 72 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 01 00 17 70 72 65 s...I...previousStepPicked...pre
1cb60 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 01 00 16 63 75 72 72 65 6e 74 49 6e viousInitGradientDot...currentIn
1cb80 69 74 47 72 61 64 69 65 6e 74 44 6f 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 itGradientDot...<init>...()V...C
1cba0 6f 64 65 0a 00 03 00 16 0c 00 12 00 13 06 3f e0 00 00 00 00 00 00 09 00 01 00 1a 0c 00 07 00 08 ode...........?.................
1cbc0 06 3f 1a 36 e2 eb 1c 43 2d 09 00 01 00 1e 0c 00 09 00 08 06 3f b9 99 99 99 99 99 9a 09 00 01 00 .?.6...C-...........?...........
1cbe0 22 0c 00 0a 00 08 06 3f ec cc cc cc cc cc cd 09 00 01 00 26 0c 00 0b 00 08 09 00 01 00 28 0c 00 "......?...........&.........(..
1cc00 0d 00 0e 06 bf f0 00 00 00 00 00 00 09 00 01 00 2c 0c 00 0f 00 08 09 00 01 00 2e 0c 00 10 00 08 ................,...............
1cc20 09 00 01 00 30 0c 00 11 00 08 09 00 01 00 32 0c 00 0c 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 ....0.........2........LineNumbe
1cc40 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 rTable...LocalVariableTable...th
1cc60 69 73 01 00 36 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 41 72 is..6Loptimization/linesearch/Ar
1cc80 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 3b 01 00 05 72 65 mijoLineSearchMinimization;...re
1cca0 73 65 74 01 00 0e 73 65 74 49 6e 69 74 69 61 6c 53 74 65 70 01 00 04 28 44 29 56 01 00 07 69 6e set...setInitialStep...(D)V...in
1ccc0 69 74 69 61 6c 01 00 0b 67 65 74 53 74 65 70 53 69 7a 65 01 00 3e 28 4c 6f 70 74 69 6d 69 7a 61 itial...getStepSize..>(Loptimiza
1cce0 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 tion/linesearch/DifferentiableLi
1cd00 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 29 44 0a 00 3e 00 40 07 00 3f 01 00 39 6f neSearchObjective;)D..>.@..?..9o
1cd20 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 ptimization/linesearch/Different
1cd40 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 0c 00 41 00 42 01 00 12 iableLineSearchObjective..A.B...
1cd60 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 01 00 03 28 29 44 0a 00 3e 00 44 0c 00 45 getInitialGradient...()D..>.D..E
1cd80 00 39 01 00 0b 75 70 64 61 74 65 41 6c 70 68 61 0a 00 3e 00 47 0c 00 48 00 13 01 00 14 70 72 69 .9...updateAlpha..>.G..H.....pri
1cda0 6e 74 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 73 0a 00 3e 00 4a 0c 00 4b 00 42 01 00 08 67 65 ntLineSearchSteps..>.J..K.B...ge
1cdc0 74 41 6c 70 68 61 0a 00 3e 00 4d 0c 00 4e 00 42 01 00 10 67 65 74 4f 72 69 67 69 6e 61 6c 56 61 tAlpha..>.M..N.B...getOriginalVa
1cde0 6c 75 65 0a 00 3e 00 50 0c 00 51 00 42 01 00 0f 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 0a lue..>.P..Q.B...getCurrentValue.
1ce00 00 53 00 55 07 00 54 01 00 1f 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 49 6e 74 65 .S.U..T...optimization/util/Inte
1ce20 72 70 6f 6c 61 74 69 6f 6e 0c 00 56 00 57 01 00 16 71 75 61 64 72 61 74 69 63 49 6e 74 65 72 70 rpolation..V.W...quadraticInterp
1ce40 6f 6c 61 74 69 6f 6e 01 00 07 28 44 44 44 44 29 44 0a 00 59 00 5b 07 00 5a 01 00 27 6f 70 74 69 olation...(DDDD)D..Y.[..Z..'opti
1ce60 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c 66 65 43 6f 6e 64 69 74 69 mization/linesearch/WolfeConditi
1ce80 6f 6e 73 0c 00 5c 00 5d 01 00 11 73 75 66 69 63 69 65 6e 74 44 65 63 72 65 61 73 65 01 00 3f 28 ons..\.]...suficientDecrease..?(
1cea0 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 Loptimization/linesearch/Differe
1cec0 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 44 29 5a 01 00 ntiableLineSearchObjective;D)Z..
1cee0 01 6f 01 00 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 .o..;Loptimization/linesearch/Di
1cf00 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b fferentiableLineSearchObjective;
1cf20 01 00 0c 6e 72 49 74 65 72 61 74 69 6f 6e 73 01 00 05 61 6c 70 68 61 01 00 09 61 6c 70 68 61 54 ...nrIterations...alpha...alphaT
1cf40 65 6d 70 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 1a 67 65 74 50 72 65 76 69 6f 75 emp...StackMapTable...getPreviou
1cf60 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 01 00 13 67 65 74 50 72 65 76 69 6f 75 73 53 74 sInitialGradient...getPreviousSt
1cf80 65 70 55 73 65 64 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 21 41 72 6d 69 6a 6f 4c 69 6e 65 epUsed...SourceFile..!ArmijoLine
1cfa0 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 2e 6a 61 76 61 00 21 00 01 00 03 00 01 00 SearchMinimization.java.!.......
1cfc0 05 00 09 00 00 00 07 00 08 00 00 00 00 00 09 00 08 00 00 00 00 00 0a 00 08 00 00 00 00 00 0b 00 ................................
1cfe0 08 00 00 00 00 00 0c 00 08 00 00 00 00 00 0d 00 0e 00 00 00 00 00 0f 00 08 00 00 00 00 00 10 00 ................................
1d000 08 00 00 00 00 00 11 00 08 00 00 00 07 00 01 00 12 00 13 00 01 00 14 00 00 00 93 00 03 00 01 00 ................................
1d020 00 00 41 2a b7 00 15 2a 14 00 17 b5 00 19 2a 14 00 1b b5 00 1d 2a 14 00 1f b5 00 21 2a 14 00 23 ..A*...*......*......*.....!*..#
1d040 b5 00 25 2a 10 0a b5 00 27 2a 14 00 29 b5 00 2b 2a 14 00 29 b5 00 2d 2a 14 00 29 b5 00 2f 2a 0f ..%*....'*..)..+*..)..-*..)../*.
1d060 b5 00 31 b1 00 00 00 02 00 33 00 00 00 2e 00 0b 00 00 00 1d 00 04 00 11 00 0b 00 12 00 12 00 14 ..1......3......................
1d080 00 19 00 15 00 20 00 1a 00 26 00 22 00 2d 00 23 00 34 00 24 00 3b 00 1e 00 40 00 1f 00 34 00 00 .........&.".-.#.4.$.;...@...4..
1d0a0 00 0c 00 01 00 00 00 41 00 35 00 36 00 00 00 01 00 37 00 13 00 01 00 14 00 00 00 4c 00 03 00 01 .......A.5.6.....7.........L....
1d0c0 00 00 00 16 2a 14 00 29 b5 00 2b 2a 14 00 29 b5 00 2d 2a 14 00 29 b5 00 2f b1 00 00 00 02 00 33 ....*..)..+*..)..-*..)../......3
1d0e0 00 00 00 12 00 04 00 00 00 28 00 07 00 29 00 0e 00 2a 00 15 00 2b 00 34 00 00 00 0c 00 01 00 00 .........(...)...*...+.4........
1d100 00 16 00 35 00 36 00 00 00 01 00 38 00 39 00 01 00 14 00 00 00 3e 00 03 00 03 00 00 00 06 2a 27 ...5.6.....8.9.......>........*'
1d120 b5 00 31 b1 00 00 00 02 00 33 00 00 00 0a 00 02 00 00 00 2e 00 05 00 2f 00 34 00 00 00 16 00 02 ..1......3............./.4......
1d140 00 00 00 06 00 35 00 36 00 00 00 00 00 06 00 3a 00 08 00 01 00 01 00 3b 00 3c 00 01 00 14 00 00 .....5.6.......:.......;.<......
1d160 01 3b 00 08 00 07 00 00 00 8a 2a 2b b6 00 3d b5 00 2f 2b 2a b4 00 31 b6 00 43 03 3d a7 00 58 1c .;........*+..=../+*..1..C.=..X.
1d180 2a b4 00 27 a1 00 0b 2b b6 00 46 14 00 29 af 2b b6 00 49 4a 2b b6 00 4c 2b b6 00 3d 29 2b b6 00 *..'...+..F..).+..IJ+..L+..=)+..
1d1a0 4f b8 00 52 39 05 18 05 2a b4 00 21 97 9c 00 12 18 05 2a b4 00 25 2b b6 00 49 6b 98 9d 00 09 18 O..R9...*..!......*..%+..Ik.....
1d1c0 05 4a a7 00 0a 29 2a b4 00 19 6b 4a 2b 29 b6 00 43 84 02 01 2b 2a b4 00 1d b8 00 58 99 ff a3 2a .J...)*...kJ+)..C...+*.....X...*
1d1e0 2a b4 00 2f b5 00 2d 2a 2b b6 00 49 b5 00 2b 2b b6 00 49 af 00 00 00 03 00 33 00 00 00 4e 00 13 *../..-*+..I..++..I......3...N..
1d200 00 00 00 36 00 08 00 38 00 10 00 39 00 12 00 3b 00 15 00 3c 00 1d 00 3d 00 21 00 3e 00 25 00 40 ...6...8...9...;...<...=.!.>.%.@
1d220 00 2a 00 42 00 3a 00 41 00 3c 00 43 00 55 00 45 00 5b 00 48 00 62 00 4c 00 67 00 4e 00 6a 00 3b .*.B.:.A.<.C.U.E.[.H.b.L.g.N.j.;
1d240 00 75 00 54 00 7d 00 55 00 85 00 56 00 34 00 00 00 34 00 05 00 00 00 8a 00 35 00 36 00 00 00 00 .u.T.}.U...V.4...4.......5.6....
1d260 00 8a 00 5e 00 5f 00 01 00 12 00 78 00 60 00 0e 00 02 00 2a 00 40 00 61 00 08 00 03 00 3c 00 2e ...^._.....x.`.....*.@.a.....<..
1d280 00 62 00 08 00 05 00 63 00 00 00 11 00 06 fc 00 15 01 0f fd 00 2f 03 03 05 06 f9 00 07 00 01 00 .b.....c............./..........
1d2a0 41 00 42 00 01 00 14 00 00 00 2f 00 02 00 01 00 00 00 05 2a b4 00 2f af 00 00 00 02 00 33 00 00 A.B......./........*../......3..
1d2c0 00 06 00 01 00 00 00 5a 00 34 00 00 00 0c 00 01 00 00 00 05 00 35 00 36 00 00 00 01 00 64 00 42 .......Z.4...........5.6.....d.B
1d2e0 00 01 00 14 00 00 00 2f 00 02 00 01 00 00 00 05 2a b4 00 2d af 00 00 00 02 00 33 00 00 00 06 00 ......./........*..-......3.....
1d300 01 00 00 00 5f 00 34 00 00 00 0c 00 01 00 00 00 05 00 35 00 36 00 00 00 01 00 65 00 42 00 01 00 ...._.4...........5.6.....e.B...
1d320 14 00 00 00 2f 00 02 00 01 00 00 00 05 2a b4 00 2b af 00 00 00 02 00 33 00 00 00 06 00 01 00 00 ..../........*..+......3........
1d340 00 63 00 34 00 00 00 0c 00 01 00 00 00 05 00 35 00 36 00 00 00 01 00 66 00 00 00 02 00 67 50 4b .c.4...........5.6.....f.....gPK
1d360 03 04 0a 00 00 00 00 00 15 5c e5 3c 23 d6 36 22 7f 09 00 00 7f 09 00 00 39 00 00 00 6f 70 74 69 .........\.<#.6"........9...opti
1d380 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 mization/linesearch/ArmijoLineSe
1d3a0 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 archMinimization.javapackage.opt
1d3c0 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 imization.linesearch;..import.op
1d3e0 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3b 0a 0a timization.util.Interpolation;..
1d400 0a 2f 2a 2a 0a 20 2a 20 49 6d 70 6c 65 6d 65 6e 74 73 20 42 61 63 6b 20 54 72 61 63 6b 69 6e 67 ./**..*.Implements.Back.Tracking
1d420 20 4c 69 6e 65 20 53 65 61 72 63 68 20 61 73 20 64 65 73 63 72 69 62 65 64 20 6f 6e 20 70 61 67 .Line.Search.as.described.on.pag
1d440 65 20 33 37 20 6f 66 20 4e 75 6d 65 72 69 63 61 6c 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 0a e.37.of.Numerical.Optimization..
1d460 20 2a 20 41 6c 73 6f 20 6b 6e 6f 77 6e 20 61 73 20 61 72 6d 69 6a 6f 20 72 75 6c 65 0a 20 2a 20 .*.Also.known.as.armijo.rule..*.
1d480 40 61 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 @author.javg..*..*/.public.class
1d4a0 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 20 69 6d .ArmijoLineSearchMinimization.im
1d4c0 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 7b 0a 0a 09 2f 2a 2a plements.LineSearchMethod{.../**
1d4e0 0a 09 20 2a 20 48 6f 77 20 6d 75 63 68 20 73 68 6f 75 6c 64 20 74 68 65 20 73 74 65 70 20 73 69 ...*.How.much.should.the.step.si
1d500 7a 65 20 64 65 63 72 65 61 73 65 20 61 74 20 65 61 63 68 20 69 74 65 72 61 74 69 6f 6e 2e 0a 09 ze.decrease.at.each.iteration...
1d520 20 2a 2f 0a 09 64 6f 75 62 6c 65 20 63 6f 6e 74 72 61 63 74 69 6f 6e 46 61 63 74 6f 72 20 3d 20 .*/..double.contractionFactor.=.
1d540 30 2e 35 3b 0a 09 64 6f 75 62 6c 65 20 63 31 20 3d 20 30 2e 30 30 30 31 3b 0a 09 0a 09 64 6f 75 0.5;..double.c1.=.0.0001;....dou
1d560 62 6c 65 20 73 69 67 6d 61 31 20 3d 20 30 2e 31 3b 0a 09 64 6f 75 62 6c 65 20 73 69 67 6d 61 32 ble.sigma1.=.0.1;..double.sigma2
1d580 20 3d 20 30 2e 39 3b 0a 0a 0a 09 0a 09 64 6f 75 62 6c 65 20 69 6e 69 74 69 61 6c 53 74 65 70 3b .=.0.9;......double.initialStep;
1d5a0 0a 09 69 6e 74 20 6d 61 78 49 74 65 72 61 74 69 6f 6e 73 20 3d 20 31 30 3b 0a 09 0a 09 09 09 0a ..int.maxIterations.=.10;.......
1d5c0 09 70 75 62 6c 69 63 20 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 .public.ArmijoLineSearchMinimiza
1d5e0 74 69 6f 6e 28 29 7b 0a 09 09 74 68 69 73 2e 69 6e 69 74 69 61 6c 53 74 65 70 20 3d 20 31 3b 0a tion(){...this.initialStep.=.1;.
1d600 09 7d 0a 09 0a 09 2f 2f 45 78 70 65 72 69 6d 65 6e 74 0a 09 64 6f 75 62 6c 65 20 70 72 65 76 69 .}....//Experiment..double.previ
1d620 6f 75 73 53 74 65 70 50 69 63 6b 65 64 20 3d 20 2d 31 3b 3b 0a 09 64 6f 75 62 6c 65 20 70 72 65 ousStepPicked.=.-1;;..double.pre
1d640 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 2d 31 3b 0a 09 64 6f 75 62 viousInitGradientDot.=.-1;..doub
1d660 6c 65 20 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 2d 31 3b 0a le.currentInitGradientDot.=.-1;.
1d680 09 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 70 72 65 76 .....public.void.reset(){...prev
1d6a0 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 20 3d 20 2d 31 3b 3b 0a 09 09 70 72 65 76 69 6f 75 73 iousStepPicked.=.-1;;...previous
1d6c0 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 2d 31 3b 0a 09 09 63 75 72 72 65 6e 74 49 InitGradientDot.=.-1;...currentI
1d6e0 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 2d 31 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 nitGradientDot.=.-1;..}....publi
1d700 63 20 76 6f 69 64 20 73 65 74 49 6e 69 74 69 61 6c 53 74 65 70 28 64 6f 75 62 6c 65 20 69 6e 69 c.void.setInitialStep(double.ini
1d720 74 69 61 6c 29 7b 0a 09 09 69 6e 69 74 69 61 6c 53 74 65 70 20 3d 20 69 6e 69 74 69 61 6c 3b 0a tial){...initialStep.=.initial;.
1d740 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 0a 09 20 2a 2f 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f .}..../**...*....*/....public.do
1d760 75 62 6c 65 20 67 65 74 53 74 65 70 53 69 7a 65 28 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c uble.getStepSize(DifferentiableL
1d780 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 20 6f 29 20 7b 09 0a 09 09 63 75 72 72 65 ineSearchObjective.o).{....curre
1d7a0 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 6f 2e 67 65 74 49 6e 69 74 69 61 6c ntInitGradientDot.=.o.getInitial
1d7c0 47 72 61 64 69 65 6e 74 28 29 3b 0a 09 09 2f 2f 53 68 6f 75 6c 64 20 75 70 64 61 74 65 20 61 6c Gradient();...//Should.update.al
1d7e0 6c 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 69 76 65 0a 09 09 6f 2e 75 70 64 61 74 65 41 6c 70 l.in.the.objective...o.updateAlp
1d800 68 61 28 69 6e 69 74 69 61 6c 53 74 65 70 29 3b 09 0a 09 09 69 6e 74 20 6e 72 49 74 65 72 61 74 ha(initialStep);....int.nrIterat
1d820 69 6f 6e 73 20 3d 20 30 3b 0a 09 09 2f 2f 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e ions.=.0;...//System.out.println
1d840 28 22 74 72 69 65 64 20 61 6c 70 68 61 22 20 2b 20 69 6e 69 74 69 61 6c 53 74 65 70 20 2b 20 22 ("tried.alpha".+.initialStep.+."
1d860 20 76 61 6c 75 65 20 22 20 2b 20 6f 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b .value.".+.o.getCurrentValue());
1d880 0a 09 09 77 68 69 6c 65 28 21 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 73 75 66 69 63 69 ...while(!WolfeConditions.sufici
1d8a0 65 6e 74 44 65 63 72 65 61 73 65 28 6f 2c 63 31 29 29 7b 09 09 09 0a 09 09 09 69 66 28 6e 72 49 entDecrease(o,c1)){.......if(nrI
1d8c0 74 65 72 61 74 69 6f 6e 73 20 3e 3d 20 6d 61 78 49 74 65 72 61 74 69 6f 6e 73 29 7b 0a 09 09 09 terations.>=.maxIterations){....
1d8e0 09 6f 2e 70 72 69 6e 74 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 73 28 29 3b 09 0a 09 09 09 09 .o.printLineSearchSteps();......
1d900 72 65 74 75 72 6e 20 2d 31 3b 0a 09 09 09 7d 0a 09 09 09 64 6f 75 62 6c 65 20 61 6c 70 68 61 3d return.-1;....}....double.alpha=
1d920 6f 2e 67 65 74 41 6c 70 68 61 28 29 3b 0a 09 09 09 64 6f 75 62 6c 65 20 61 6c 70 68 61 54 65 6d o.getAlpha();....double.alphaTem
1d940 70 20 3d 20 0a 09 09 09 09 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 2e 71 75 61 64 72 61 74 69 63 p.=......Interpolation.quadratic
1d960 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 28 6f 2e 67 65 74 4f 72 69 67 69 6e 61 6c 56 61 6c 75 65 Interpolation(o.getOriginalValue
1d980 28 29 2c 20 6f 2e 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 2c 20 61 6c 70 68 (),.o.getInitialGradient(),.alph
1d9a0 61 2c 20 6f 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b 0a 09 09 09 69 66 28 61 a,.o.getCurrentValue());....if(a
1d9c0 6c 70 68 61 54 65 6d 70 20 3e 3d 20 73 69 67 6d 61 31 20 7c 7c 20 61 6c 70 68 61 54 65 6d 70 20 lphaTemp.>=.sigma1.||.alphaTemp.
1d9e0 3c 3d 20 73 69 67 6d 61 32 2a 6f 2e 67 65 74 41 6c 70 68 61 28 29 29 7b 0a 2f 2f 09 09 09 09 53 <=.sigma2*o.getAlpha()){.//....S
1da00 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 75 73 69 6e 67 20 61 6c 70 68 61 20 74 ystem.out.println("using.alpha.t
1da20 65 6d 70 20 22 20 2b 20 61 6c 70 68 61 54 65 6d 70 29 3b 0a 09 09 09 09 61 6c 70 68 61 20 3d 20 emp.".+.alphaTemp);.....alpha.=.
1da40 61 6c 70 68 61 54 65 6d 70 3b 0a 09 09 09 7d 65 6c 73 65 7b 0a 2f 2f 09 09 09 09 53 79 73 74 65 alphaTemp;....}else{.//....Syste
1da60 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 44 69 73 63 61 72 64 69 6e 67 20 61 6c 70 68 61 20 m.out.println("Discarding.alpha.
1da80 74 65 6d 70 20 22 20 2b 20 61 6c 70 68 61 54 65 6d 70 29 3b 0a 09 09 09 09 61 6c 70 68 61 20 3d temp.".+.alphaTemp);.....alpha.=
1daa0 20 61 6c 70 68 61 2a 63 6f 6e 74 72 61 63 74 69 6f 6e 46 61 63 74 6f 72 3b 0a 09 09 09 7d 0a 2f .alpha*contractionFactor;....}./
1dac0 2f 09 09 09 64 6f 75 62 6c 65 20 61 6c 70 68 61 20 3d 6f 2e 67 65 74 41 6c 70 68 61 28 29 2a 63 /...double.alpha.=o.getAlpha()*c
1dae0 6f 6e 74 72 61 63 74 69 6f 6e 46 61 63 74 6f 72 3b 0a 0a 09 09 09 6f 2e 75 70 64 61 74 65 41 6c ontractionFactor;.....o.updateAl
1db00 70 68 61 28 61 6c 70 68 61 29 3b 0a 09 09 09 2f 2f 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e pha(alpha);....//System.out.prin
1db20 74 6c 6e 28 22 74 72 69 65 64 20 61 6c 70 68 61 22 20 2b 20 61 6c 70 68 61 2b 20 22 20 76 61 6c tln("tried.alpha".+.alpha+.".val
1db40 75 65 20 22 20 2b 20 6f 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b 0a 09 09 09 ue.".+.o.getCurrentValue());....
1db60 6e 72 49 74 65 72 61 74 69 6f 6e 73 2b 2b 3b 09 09 09 0a 09 09 7d 0a 09 09 0a 09 09 2f 2f 53 79 nrIterations++;......}......//Sy
1db80 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4c 65 61 76 6e 69 6e 67 20 6c 69 6e 65 20 stem.out.println("Leavning.line.
1dba0 73 65 61 72 63 68 20 75 73 65 64 3a 22 29 3b 0a 09 09 2f 2f 6f 2e 70 72 69 6e 74 4c 69 6e 65 53 search.used:");...//o.printLineS
1dbc0 65 61 72 63 68 53 74 65 70 73 28 29 3b 09 0a 09 09 0a 09 09 70 72 65 76 69 6f 75 73 49 6e 69 74 earchSteps();.......previousInit
1dbe0 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e GradientDot.=.currentInitGradien
1dc00 74 44 6f 74 3b 0a 09 09 70 72 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 20 3d 20 6f 2e 67 tDot;...previousStepPicked.=.o.g
1dc20 65 74 41 6c 70 68 61 28 29 3b 0a 09 09 72 65 74 75 72 6e 20 6f 2e 67 65 74 41 6c 70 68 61 28 29 etAlpha();...return.o.getAlpha()
1dc40 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 49 6e 69 74 69 61 6c 47 ;..}...public.double.getInitialG
1dc60 72 61 64 69 65 6e 74 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 49 6e 69 74 radient().{...return.currentInit
1dc80 47 72 61 64 69 65 6e 74 44 6f 74 3b 0a 09 09 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 GradientDot;.....}...public.doub
1dca0 6c 65 20 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 20 le.getPreviousInitialGradient().
1dcc0 7b 0a 09 09 72 65 74 75 72 6e 20 70 72 65 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 65 6e 74 44 {...return.previousInitGradientD
1dce0 6f 74 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 50 72 65 76 69 6f ot;..}...public.double.getPrevio
1dd00 75 73 53 74 65 70 55 73 65 64 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 70 72 65 76 69 6f 75 73 usStepUsed().{...return.previous
1dd20 53 74 65 70 50 69 63 6b 65 64 3b 0a 09 7d 0a 09 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 StepPicked;..}....}.PK.........Y
1dd40 e5 3c c0 48 89 d1 08 18 00 00 08 18 00 00 30 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c .<.H..........0...optimization/l
1dd60 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 2e 63 6c 61 inesearch/WolfRuleLineSearch.cla
1dd80 73 73 ca fe ba be 00 00 00 32 01 06 07 00 02 01 00 2a 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c ss.......2.......*optimization/l
1dda0 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 07 00 04 01 inesearch/WolfRuleLineSearch....
1ddc0 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 06 01 00 28 6f 70 74 69 6d 69 7a 61 ..java/lang/Object.....(optimiza
1dde0 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 tion/linesearch/LineSearchMethod
1de00 01 00 0d 70 69 63 6b 46 69 72 73 74 53 74 65 70 01 00 2e 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ...pickFirstStep...Loptimization
1de20 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 /linesearch/GenericPickFirstStep
1de40 3b 01 00 02 63 31 01 00 01 44 01 00 02 63 32 01 00 07 6d 61 78 53 74 65 70 01 00 16 65 78 74 72 ;...c1...D...c2...maxStep...extr
1de60 61 70 6f 6c 61 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 01 00 01 49 01 00 19 6d 61 78 45 78 74 72 apolationIteration...I...maxExtr
1de80 61 70 6f 6c 61 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 01 00 10 6d 69 6e 5a 6f 6f 6d 44 69 66 66 apolationIteration...minZoomDiff
1dea0 54 72 65 73 68 01 00 05 73 74 65 70 73 01 00 15 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 Tresh...steps...Ljava/util/Array
1dec0 4c 69 73 74 3b 01 00 09 53 69 67 6e 61 74 75 72 65 01 00 29 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 List;...Signature..)Ljava/util/A
1dee0 72 72 61 79 4c 69 73 74 3c 4c 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 3b 3e 3b 01 00 0c rrayList<Ljava/lang/Double;>;...
1df00 67 72 61 64 69 65 6e 74 44 6f 74 73 01 00 0c 66 75 6e 63 74 69 6f 6e 56 61 6c 73 01 00 0a 64 65 gradientDots...functionVals...de
1df20 62 75 67 4c 65 76 65 6c 01 00 08 66 6f 75 64 53 74 65 70 01 00 01 5a 01 00 12 70 72 65 76 69 6f bugLevel...foudStep...Z...previo
1df40 75 73 53 74 65 70 50 69 63 6b 65 64 01 00 17 70 72 65 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 usStepPicked...previousInitGradi
1df60 65 6e 74 44 6f 74 01 00 16 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 01 entDot...currentInitGradientDot.
1df80 00 0b 69 6e 69 74 69 61 6c 53 74 65 70 01 00 06 3c 69 6e 69 74 3e 01 00 31 28 4c 6f 70 74 69 6d ..initialStep...<init>..1(Loptim
1dfa0 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 ization/linesearch/GenericPickFi
1dfc0 72 73 74 53 74 65 70 3b 29 56 01 00 04 43 6f 64 65 0a 00 03 00 22 0c 00 1e 00 23 01 00 03 28 29 rstStep;)V...Code...."....#...()
1dfe0 56 06 3f 1a 36 e2 eb 1c 43 2d 09 00 01 00 27 0c 00 09 00 0a 06 3f ec cc cc cc cc cc cd 09 00 01 V.?.6...C-....'......?..........
1e000 00 2b 0c 00 0b 00 0a 06 40 59 00 00 00 00 00 00 09 00 01 00 2f 0c 00 0c 00 0a 09 00 01 00 31 0c .+......@Y........../.........1.
1e020 00 0f 00 0e 06 3e 11 2e 0b e8 26 d6 95 09 00 01 00 35 0c 00 10 00 0a 09 00 01 00 37 0c 00 17 00 .....>....&......5.........7....
1e040 0e 09 00 01 00 39 0c 00 18 00 19 06 bf f0 00 00 00 00 00 00 09 00 01 00 3d 0c 00 1a 00 0a 09 00 .....9..................=.......
1e060 01 00 3f 0c 00 1b 00 0a 09 00 01 00 41 0c 00 1c 00 0a 09 00 01 00 43 0c 00 07 00 08 01 00 0f 4c ..?.........A.........C........L
1e080 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 ineNumberTable...LocalVariableTa
1e0a0 62 6c 65 01 00 04 74 68 69 73 01 00 2c 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 ble...this..,Loptimization/lines
1e0c0 65 61 72 63 68 2f 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 3b 01 00 33 28 4c 6f 70 earch/WolfRuleLineSearch;..3(Lop
1e0e0 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 timization/linesearch/GenericPic
1e100 6b 46 69 72 73 74 53 74 65 70 3b 44 44 29 56 0a 00 4a 00 4c 07 00 4b 01 00 2c 6f 70 74 69 6d 69 kFirstStep;DD)V..J.L..K..,optimi
1e120 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 zation/linesearch/GenericPickFir
1e140 73 74 53 74 65 70 0c 00 4d 00 4e 01 00 0c 67 65 74 46 69 72 73 74 53 74 65 70 01 00 2d 28 4c 6f stStep..M.N...getFirstStep..-(Lo
1e160 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 ptimization/linesearch/LineSearc
1e180 68 4d 65 74 68 6f 64 3b 29 44 09 00 01 00 50 0c 00 1d 00 0a 01 00 0d 73 65 74 44 65 62 75 67 4c hMethod;)D....P........setDebugL
1e1a0 65 76 65 6c 01 00 04 28 49 29 56 01 00 05 6c 65 76 65 6c 01 00 05 72 65 73 65 74 09 00 01 00 56 evel...(I)V...level...reset....V
1e1c0 0c 00 11 00 12 0a 00 58 00 5a 07 00 59 01 00 13 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c .......X.Z..Y...java/util/ArrayL
1e1e0 69 73 74 0c 00 5b 00 23 01 00 05 63 6c 65 61 72 09 00 01 00 5d 0c 00 15 00 12 09 00 01 00 5f 0c ist..[.#...clear....]........._.
1e200 00 16 00 12 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0e 73 65 74 49 6e 69 74 69 61 .......StackMapTable...setInitia
1e220 6c 53 74 65 70 01 00 04 28 44 29 56 01 00 07 69 6e 69 74 69 61 6c 01 00 0b 67 65 74 53 74 65 70 lStep...(D)V...initial...getStep
1e240 53 69 7a 65 01 00 3e 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 Size..>(Loptimization/linesearch
1e260 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 /DifferentiableLineSearchObjecti
1e280 76 65 3b 29 44 0a 00 58 00 22 0a 00 68 00 6a 07 00 69 01 00 39 6f 70 74 69 6d 69 7a 61 74 69 6f ve;)D..X."..h.j..i..9optimizatio
1e2a0 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 n/linesearch/DifferentiableLineS
1e2c0 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 0c 00 6b 00 6c 01 00 12 67 65 74 49 6e 69 74 69 61 6c earchObjective..k.l...getInitial
1e2e0 47 72 61 64 69 65 6e 74 01 00 03 28 29 44 0a 00 68 00 6e 0c 00 6f 00 6c 01 00 0f 67 65 74 43 75 Gradient...()D..h.n..o.l...getCu
1e300 72 72 65 6e 74 56 61 6c 75 65 09 00 01 00 71 0c 00 0d 00 0e 0a 00 68 00 73 0c 00 74 00 62 01 00 rrentValue....q.......h.s..t.b..
1e320 0b 75 70 64 61 74 65 41 6c 70 68 61 0a 00 76 00 78 07 00 77 01 00 10 6a 61 76 61 2f 6c 61 6e 67 .updateAlpha..v.x..w...java/lang
1e340 2f 44 6f 75 62 6c 65 0c 00 79 00 7a 01 00 07 76 61 6c 75 65 4f 66 01 00 15 28 44 29 4c 6a 61 76 /Double..y.z...valueOf...(D)Ljav
1e360 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 3b 0a 00 58 00 7c 0c 00 7d 00 7e 01 00 03 61 64 64 01 00 a/lang/Double;..X.|..}.~...add..
1e380 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 5a 0a 00 68 00 80 0c 00 81 00 6c .(Ljava/lang/Object;)Z..h......l
1e3a0 01 00 12 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 0a 00 83 00 85 07 00 84 01 00 27 ...getCurrentGradient..........'
1e3c0 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c 66 65 43 6f 6e optimization/linesearch/WolfeCon
1e3e0 64 69 74 69 6f 6e 73 0c 00 86 00 87 01 00 11 73 75 66 69 63 69 65 6e 74 44 65 63 72 65 61 73 65 ditions........suficientDecrease
1e400 01 00 3f 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 ..?(Loptimization/linesearch/Dif
1e420 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 44 ferentiableLineSearchObjective;D
1e440 29 5a 09 00 68 00 89 0c 00 8a 00 0e 01 00 0c 6e 72 49 74 65 72 61 74 69 6f 6e 73 0a 00 01 00 8c )Z..h..........nrIterations.....
1e460 0c 00 8d 00 8e 01 00 04 7a 6f 6f 6d 01 00 42 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 ........zoom..B(Loptimization/li
1e480 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 nesearch/DifferentiableLineSearc
1e4a0 68 4f 62 6a 65 63 74 69 76 65 3b 44 44 49 49 29 44 0a 00 83 00 90 0c 00 91 00 92 01 00 13 73 75 hObjective;DDII)D.............su
1e4c0 66 66 69 63 69 65 6e 74 43 75 72 76 61 74 75 72 65 01 00 40 28 4c 6f 70 74 69 6d 69 7a 61 74 69 fficientCurvature..@(Loptimizati
1e4e0 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 on/linesearch/DifferentiableLine
1e500 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 44 44 29 5a 0a 00 94 00 96 07 00 95 01 00 0e 6a SearchObjective;DD)Z...........j
1e520 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 68 0c 00 97 00 98 01 00 03 61 62 73 01 00 04 28 44 29 44 06 ava/lang/Math........abs...(D)D.
1e540 3f 86 87 2b 02 0c 49 ba 06 40 00 00 00 00 00 00 00 09 00 9e 00 a0 07 00 9f 01 00 10 6a 61 76 61 ?..+..I..@..................java
1e560 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 a1 00 a2 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f /lang/System........out...Ljava/
1e580 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 08 00 a4 01 00 31 45 78 63 65 64 64 65 64 20 6d 61 io/PrintStream;.....1Excedded.ma
1e5a0 78 20 73 74 65 70 2e 2e 2e 63 61 6c 6c 69 6e 67 20 7a 6f 6f 6d 20 77 69 74 68 20 6d 61 78 53 74 x.step...calling.zoom.with.maxSt
1e5c0 65 70 53 69 7a 65 0a 00 a6 00 a8 07 00 a7 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 epSize...........java/io/PrintSt
1e5e0 72 65 61 6d 0c 00 a9 00 aa 01 00 07 70 72 69 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e ream........println...(Ljava/lan
1e600 67 2f 53 74 72 69 6e 67 3b 29 56 08 00 ac 01 00 26 57 6f 6c 66 65 20 52 75 6c 65 20 65 78 63 65 g/String;)V.....&Wolfe.Rule.exce
1e620 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 73 0a 00 01 00 ae 0c 00 af 00 ed.number.of.iterations.........
1e640 b0 01 00 14 70 72 69 6e 74 53 6d 61 6c 6c 57 6f 6c 66 65 53 74 61 74 73 01 00 18 28 4c 6a 61 76 ....printSmallWolfeStats...(Ljav
1e660 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 29 56 01 00 09 6f 62 6a 65 63 74 69 76 65 01 a/io/PrintStream;)V...objective.
1e680 00 3b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 .;Loptimization/linesearch/Diffe
1e6a0 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 3b 01 00 0d rentiableLineSearchObjective;...
1e6c0 70 72 65 76 69 6f 75 73 56 61 6c 75 65 01 00 0c 70 72 65 76 69 6f 75 73 53 74 65 70 01 00 0b 63 previousValue...previousStep...c
1e6e0 75 72 72 65 6e 74 53 74 65 70 01 00 0c 63 75 72 72 65 6e 74 56 61 6c 75 65 01 00 03 61 75 78 01 urrentStep...currentValue...aux.
1e700 00 0f 70 72 69 6e 74 57 6f 6c 66 65 53 74 61 74 73 07 00 ba 01 00 17 6a 61 76 61 2f 6c 61 6e 67 ..printWolfeStats......java/lang
1e720 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 bc 01 00 05 53 74 65 70 20 0a 00 b9 00 be 0c 00 /StringBuilder......Step........
1e740 1e 00 aa 0a 00 58 00 c0 0c 00 c1 00 c2 01 00 03 67 65 74 01 00 15 28 49 29 4c 6a 61 76 61 2f 6c .....X..........get...(I)Ljava/l
1e760 61 6e 67 2f 4f 62 6a 65 63 74 3b 0a 00 b9 00 c4 0c 00 c5 00 c6 01 00 06 61 70 70 65 6e 64 01 00 ang/Object;.............append..
1e780 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f -(Ljava/lang/Object;)Ljava/lang/
1e7a0 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 c8 01 00 07 20 76 61 6c 75 65 20 0a 00 b9 00 ca StringBuilder;.......value......
1e7c0 0c 00 c5 00 cb 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 .......-(Ljava/lang/String;)Ljav
1e7e0 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 cd 01 00 05 20 64 6f 74 20 a/lang/StringBuilder;.......dot.
1e800 0a 00 b9 00 cf 0c 00 d0 00 d1 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f .............toString...()Ljava/
1e820 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 58 00 d3 0c 00 d4 00 d5 01 00 04 73 69 7a 65 01 00 03 lang/String;..X..........size...
1e840 28 29 49 01 00 01 69 0a 00 b9 00 22 08 00 d9 01 00 01 3a 08 00 db 01 00 01 20 0a 00 a6 00 dd 0c ()I...i...."......:.............
1e860 00 de 00 aa 01 00 05 70 72 69 6e 74 0a 00 a6 00 e0 0c 00 a9 00 23 08 00 e2 01 00 13 45 6e 74 65 .......print.........#......Ente
1e880 72 69 6e 67 20 7a 6f 6f 6d 20 77 69 74 68 20 0a 00 b9 00 e4 0c 00 c5 00 e5 01 00 1c 28 44 29 4c ring.zoom.with..............(D)L
1e8a0 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 e7 01 00 01 2d 0a java/lang/StringBuilder;......-.
1e8c0 00 68 00 e9 0c 00 ea 00 eb 01 00 08 67 65 74 56 61 6c 75 65 01 00 04 28 49 29 44 0a 00 68 00 ed .h..........getValue...(I)D..h..
1e8e0 0c 00 ee 00 eb 01 00 0b 67 65 74 47 72 61 64 69 65 6e 74 0a 00 f0 00 f2 07 00 f1 01 00 1f 6f 70 ........getGradient...........op
1e900 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 0c 00 f3 timization/util/Interpolation...
1e920 00 f4 01 00 12 63 75 62 69 63 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 01 00 09 28 44 44 44 44 44 .....cubicInterpolation...(DDDDD
1e940 44 29 44 0a 00 76 00 f6 0c 00 f7 00 f8 01 00 05 69 73 4e 61 4e 01 00 04 28 44 29 5a 0a 00 76 00 D)D..v..........isNaN...(D)Z..v.
1e960 fa 0c 00 fb 00 f8 01 00 0a 69 73 49 6e 66 69 6e 69 74 65 01 00 01 6f 01 00 09 6c 6f 77 65 72 53 .........isInfinite...o...lowerS
1e980 74 65 70 01 00 0a 68 69 67 68 65 72 53 74 65 70 01 00 0d 6c 6f 77 65 72 53 74 65 70 49 74 65 72 tep...higherStep...lowerStepIter
1e9a0 01 00 0e 68 69 67 68 65 72 53 74 65 70 49 74 65 72 01 00 08 7a 6f 6f 6d 49 74 65 72 01 00 1a 67 ...higherStepIter...zoomIter...g
1e9c0 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 01 00 13 67 65 74 50 etPreviousInitialGradient...getP
1e9e0 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 17 57 reviousStepUsed...SourceFile...W
1ea00 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 2e 6a 61 76 61 00 21 00 01 00 03 00 01 00 05 olfRuleLineSearch.java.!........
1ea20 00 10 00 00 00 07 00 08 00 00 00 00 00 09 00 0a 00 00 00 00 00 0b 00 0a 00 00 00 00 00 0c 00 0a ................................
1ea40 00 00 00 00 00 0d 00 0e 00 00 00 00 00 0f 00 0e 00 00 00 00 00 10 00 0a 00 00 00 00 00 11 00 12 ................................
1ea60 00 01 00 13 00 00 00 02 00 14 00 00 00 15 00 12 00 01 00 13 00 00 00 02 00 14 00 00 00 16 00 12 ................................
1ea80 00 01 00 13 00 00 00 02 00 14 00 00 00 17 00 0e 00 00 00 00 00 18 00 19 00 00 00 00 00 1a 00 0a ................................
1eaa0 00 00 00 00 00 1b 00 0a 00 00 00 00 00 1c 00 0a 00 00 00 00 00 1d 00 0a 00 00 00 0c 00 01 00 1e ................................
1eac0 00 1f 00 01 00 20 00 00 00 b0 00 03 00 02 00 00 00 4c 2a b7 00 21 2a 14 00 24 b5 00 26 2a 14 00 .................L*..!*..$..&*..
1eae0 28 b5 00 2a 2a 14 00 2c b5 00 2e 2a 11 03 e8 b5 00 30 2a 14 00 32 b5 00 34 2a 03 b5 00 36 2a 03 (..**..,...*.....0*..2..4*...6*.
1eb00 b5 00 38 2a 14 00 3a b5 00 3c 2a 14 00 3a b5 00 3e 2a 14 00 3a b5 00 40 2a 2b b5 00 42 b1 00 00 ..8*..:..<*..:..>*..:..@*+..B...
1eb20 00 02 00 44 00 00 00 36 00 0d 00 00 00 28 00 04 00 14 00 0b 00 15 00 12 00 18 00 19 00 1b 00 20 ...D...6.....(..................
1eb40 00 1e 00 27 00 25 00 2c 00 26 00 31 00 3c 00 38 00 3d 00 3f 00 3e 00 46 00 29 00 4b 00 2b 00 45 ...'.%.,.&.1.<.8.=.?.>.F.).K.+.E
1eb60 00 00 00 16 00 02 00 00 00 4c 00 46 00 47 00 00 00 00 00 4c 00 07 00 08 00 01 00 01 00 1e 00 48 .........L.F.G.....L...........H
1eb80 00 01 00 20 00 00 00 e4 00 03 00 06 00 00 00 60 2a b7 00 21 2a 14 00 24 b5 00 26 2a 14 00 28 b5 ...............`*..!*..$..&*..(.
1eba0 00 2a 2a 14 00 2c b5 00 2e 2a 11 03 e8 b5 00 30 2a 14 00 32 b5 00 34 2a 03 b5 00 36 2a 03 b5 00 .**..,...*.....0*..2..4*...6*...
1ebc0 38 2a 14 00 3a b5 00 3c 2a 14 00 3a b5 00 3e 2a 14 00 3a b5 00 40 2a 2b b5 00 42 2a 2b 2a b6 00 8*..:..<*..:..>*..:..@*+..B*+*..
1ebe0 49 b5 00 4f 2a 28 b5 00 26 2a 18 04 b5 00 2a b1 00 00 00 02 00 44 00 00 00 42 00 10 00 00 00 30 I..O*(..&*....*......D...B.....0
1ec00 00 04 00 14 00 0b 00 15 00 12 00 18 00 19 00 1b 00 20 00 1e 00 27 00 25 00 2c 00 26 00 31 00 3c .....................'.%.,.&.1.<
1ec20 00 38 00 3d 00 3f 00 3e 00 46 00 31 00 4b 00 32 00 54 00 33 00 59 00 34 00 5f 00 35 00 45 00 00 .8.=.?.>.F.1.K.2.T.3.Y.4._.5.E..
1ec40 00 2a 00 04 00 00 00 60 00 46 00 47 00 00 00 00 00 60 00 07 00 08 00 01 00 00 00 60 00 09 00 0a .*.....`.F.G.....`.........`....
1ec60 00 02 00 00 00 60 00 0b 00 0a 00 04 00 01 00 51 00 52 00 01 00 20 00 00 00 3e 00 02 00 02 00 00 .....`.........Q.R.......>......
1ec80 00 06 2a 1b b5 00 36 b1 00 00 00 02 00 44 00 00 00 0a 00 02 00 00 00 38 00 05 00 39 00 45 00 00 ..*...6......D.........8...9.E..
1eca0 00 16 00 02 00 00 00 06 00 46 00 47 00 00 00 00 00 06 00 53 00 0e 00 01 00 01 00 54 00 23 00 01 .........F.G.......S.......T.#..
1ecc0 00 20 00 00 00 99 00 03 00 01 00 00 00 40 2a 14 00 3a b5 00 3c 2a 14 00 3a b5 00 3e 2a 14 00 3a .............@*..:..<*..:..>*..:
1ece0 b5 00 40 2a b4 00 55 c6 00 0a 2a b4 00 55 b6 00 57 2a b4 00 5c c6 00 0a 2a b4 00 5c b6 00 57 2a ..@*..U...*..U..W*..\...*..\..W*
1ed00 b4 00 5e c6 00 0a 2a b4 00 5e b6 00 57 b1 00 00 00 03 00 44 00 00 00 2a 00 0a 00 00 00 44 00 07 ..^...*..^..W......D...*.....D..
1ed20 00 45 00 0e 00 46 00 15 00 47 00 1c 00 48 00 23 00 49 00 2a 00 4a 00 31 00 4b 00 38 00 4c 00 3f .E...F...G...H.#.I.*.J.1.K.8.L.?
1ed40 00 4d 00 45 00 00 00 0c 00 01 00 00 00 40 00 46 00 47 00 00 00 60 00 00 00 05 00 03 23 0d 0d 00 .M.E.........@.F.G...`......#...
1ed60 01 00 61 00 62 00 01 00 20 00 00 00 45 00 03 00 03 00 00 00 0d 2a 2a b4 00 42 2a b6 00 49 b5 00 ..a.b.......E........**..B*..I..
1ed80 4f b1 00 00 00 02 00 44 00 00 00 0a 00 02 00 00 00 50 00 0c 00 51 00 45 00 00 00 16 00 02 00 00 O......D.........P...Q.E........
1eda0 00 0d 00 46 00 47 00 00 00 00 00 0d 00 63 00 0a 00 01 00 01 00 64 00 65 00 01 00 20 00 00 02 ea ...F.G.......c.......d.e........
1edc0 00 09 00 0c 00 00 01 a8 2a 03 b5 00 38 2a b4 00 36 04 a1 00 24 2a bb 00 58 59 b7 00 66 b5 00 55 ........*...8*..6...$*..XY..f..U
1ede0 2a bb 00 58 59 b7 00 66 b5 00 5c 2a bb 00 58 59 b7 00 66 b5 00 5e 2a 2b b6 00 67 b5 00 40 2b b6 *..XY..f..\*..XY..f..^*+..g..@+.
1ee00 00 6d 49 0e 39 04 2a b4 00 42 2a b6 00 49 39 06 2a 03 b5 00 70 a7 01 0e 2b 18 06 b6 00 72 2b b6 .mI.9.*..B*..I9.*...p...+....r+.
1ee20 00 6d 39 08 2a b4 00 36 04 a1 00 2c 2a b4 00 55 18 06 b8 00 75 b6 00 7b 57 2a b4 00 5e 18 08 b8 .m9.*..6...,*..U....u..{W*..^...
1ee40 00 75 b6 00 7b 57 2a b4 00 5c 2b b6 00 7f b8 00 75 b6 00 7b 57 2b 2a b4 00 26 b8 00 82 99 00 11 .u..{W*..\+.....u..{W+*..&......
1ee60 2a b4 00 70 9e 00 22 18 08 28 97 9b 00 1b 2a 2b 18 04 18 06 2b b4 00 88 04 64 2b b4 00 88 b6 00 *..p.."..(....*+....+....d+.....
1ee80 8b 39 06 a7 00 ab 2b 2a b4 00 26 2a b4 00 2a b8 00 8f 99 00 0b 2a 04 b5 00 38 a7 00 94 2b b6 00 .9....+*..&*..*......*...8...+..
1eea0 7f 0e 97 9b 00 1b 2a 2b 18 06 18 04 2b b4 00 88 2b b4 00 88 04 64 b6 00 8b 39 06 a7 00 73 18 06 ......*+....+...+....d...9...s..
1eec0 39 0a 18 06 2a b4 00 2e 67 b8 00 93 14 00 99 97 9e 00 13 18 06 2a b4 00 2e 63 14 00 9b 6f 39 06 9...*...g............*...c...o9.
1eee0 a7 00 0b 18 06 14 00 9b 6b 39 06 18 0a 39 04 18 08 49 18 06 2a b4 00 2e 97 9b 00 20 b2 00 9d 12 ........k9...9...I..*...........
1ef00 a3 b6 00 a5 2a 2b 18 04 18 06 2b b4 00 88 04 64 2b b4 00 88 b6 00 8b 39 06 2a 59 b4 00 70 04 60 ....*+....+....d+......9.*Y..p.`
1ef20 b5 00 70 2a b4 00 70 2a b4 00 30 a1 fe ed 2a b4 00 38 9a 00 1e b2 00 9d 12 ab b6 00 a5 2a b4 00 ..p*..p*..0...*..8...........*..
1ef40 36 04 a1 00 0a 2a b2 00 9d b6 00 ad 14 00 3a af 2a b4 00 36 04 a1 00 0a 2a b2 00 9d b6 00 ad 2a 6....*........:.*..6....*......*
1ef60 18 06 b5 00 3c 2a 2a b4 00 40 b5 00 3e 18 06 af 00 00 00 03 00 44 00 00 00 be 00 2f 00 00 00 61 ....<**..@..>........D...../...a
1ef80 00 05 00 62 00 0d 00 63 00 18 00 64 00 23 00 65 00 2e 00 69 00 36 00 6c 00 3b 00 6d 00 3e 00 6e ...b...c...d.#.e...i.6.l.;.m.>.n
1efa0 00 48 00 6f 00 4d 00 70 00 50 00 72 00 56 00 73 00 5c 00 74 00 64 00 75 00 71 00 76 00 7e 00 77 .H.o.M.p.P.r.V.s.\.t.d.u.q.v.~.w
1efc0 00 8d 00 7d 00 98 00 7e 00 a6 00 7f 00 bb 00 80 00 be 00 84 00 cd 00 86 00 d2 00 87 00 d5 00 90 ...}...~........................
1efe0 00 de 00 91 00 f3 00 92 00 f6 00 97 00 fa 00 99 01 0b 00 9a 01 1b 00 9c 01 23 00 9e 01 27 00 9f .........................#...'..
1f000 01 2a 00 a1 01 34 00 a2 01 3c 00 a3 01 51 00 70 01 66 00 a6 01 6d 00 a7 01 75 00 a8 01 7d 00 a9 .*...4...<...Q.p.f...m...u...}..
1f020 01 84 00 ad 01 88 00 af 01 90 00 b0 01 97 00 b3 01 9d 00 b4 01 a5 00 b6 00 45 00 00 00 48 00 07 .........................E...H..
1f040 00 00 01 a8 00 46 00 47 00 00 00 00 01 a8 00 b1 00 b2 00 01 00 3b 01 6d 00 b3 00 0a 00 02 00 3e .....F.G.............;.m.......>
1f060 01 6a 00 b4 00 0a 00 04 00 48 01 60 00 b5 00 0a 00 06 00 5c 00 f5 00 b6 00 0a 00 08 00 fa 00 57 .j.......H.`.......\...........W
1f080 00 b7 00 0a 00 0a 00 60 00 00 00 1e 00 0f 2e fe 00 21 03 03 03 fc 00 3c 03 18 17 16 20 fc 00 24 .......`.........!.....<.......$
1f0a0 03 07 f9 00 2d 09 0a 1d 03 0e 00 01 00 b8 00 b0 00 01 00 20 00 00 00 a6 00 04 00 03 00 00 00 4f ....-..........................O
1f0c0 03 3d a7 00 41 2b bb 00 b9 59 12 bb b7 00 bd 2a b4 00 55 1c b6 00 bf b6 00 c3 12 c7 b6 00 c9 2a .=..A+...Y.....*..U............*
1f0e0 b4 00 5e 1c b6 00 bf b6 00 c3 12 cc b6 00 c9 2a b4 00 5c 1c b6 00 bf b6 00 c3 b6 00 ce b6 00 a5 ..^............*..\.............
1f100 84 02 01 1c 2a b4 00 55 b6 00 d2 a1 ff ba b1 00 00 00 03 00 44 00 00 00 12 00 04 00 00 00 be 00 ....*..U............D...........
1f120 05 00 bf 00 40 00 be 00 4e 00 c1 00 45 00 00 00 20 00 03 00 00 00 4f 00 46 00 47 00 00 00 00 00 ....@...N...E.........O.F.G.....
1f140 4f 00 a1 00 a2 00 01 00 02 00 4c 00 d6 00 0e 00 02 00 60 00 00 00 07 00 02 fc 00 05 01 3d 00 01 O.........L.......`..........=..
1f160 00 af 00 b0 00 01 00 20 00 00 00 b5 00 04 00 03 00 00 00 58 03 3d a7 00 44 2b bb 00 b9 59 b7 00 ...................X.=..D+...Y..
1f180 d7 2a b4 00 55 1c b6 00 bf b6 00 c3 12 d8 b6 00 c9 2a b4 00 5e 1c b6 00 bf b6 00 c3 12 d8 b6 00 .*..U............*..^...........
1f1a0 c9 2a b4 00 5c 1c b6 00 bf b6 00 c3 12 da b6 00 c9 b6 00 ce b6 00 dc 84 02 01 1c 2a b4 00 55 b6 .*..\......................*..U.
1f1c0 00 d2 a1 ff b7 b2 00 9d b6 00 df b1 00 00 00 03 00 44 00 00 00 16 00 05 00 00 00 c4 00 05 00 c5 .................D..............
1f1e0 00 43 00 c4 00 51 00 c7 00 57 00 c8 00 45 00 00 00 20 00 03 00 00 00 58 00 46 00 47 00 00 00 00 .C...Q...W...E.........X.F.G....
1f200 00 58 00 a1 00 a2 00 01 00 02 00 4f 00 d6 00 0e 00 02 00 60 00 00 00 09 00 02 fc 00 05 01 fb 00 .X.........O.......`............
1f220 40 00 01 00 8d 00 8e 00 01 00 20 00 00 02 9a 00 0c 00 0b 00 00 01 6d 2a b4 00 36 05 a1 00 23 b2 @.....................m*..6...#.
1f240 00 9d bb 00 b9 59 12 e1 b7 00 bd 28 b6 00 e3 12 e6 b6 00 c9 18 04 b6 00 e3 b6 00 ce b6 00 a5 14 .....Y.....(....................
1f260 00 3a 39 08 03 36 0a a7 01 32 28 18 04 67 b8 00 93 2a b4 00 34 98 9c 00 41 2b 28 b6 00 72 2a b4 .:9..6...2(..g...*..4...A+(..r*.
1f280 00 36 04 a1 00 2d 2a b4 00 55 28 b8 00 75 b6 00 7b 57 2a b4 00 5e 2b b6 00 6d b8 00 75 b6 00 7b .6...-*..U(..u..{W*..^+..m..u..{
1f2a0 57 2a b4 00 5c 2b b6 00 7f b8 00 75 b6 00 7b 57 2a 04 b5 00 38 28 af 28 2b 15 06 b6 00 e8 2b 15 W*..\+.....u..{W*...8(.(+.....+.
1f2c0 06 b6 00 ec 18 04 2b 15 07 b6 00 e8 2b 15 07 b6 00 ec b8 00 ef 39 08 18 08 0e 98 9c 00 0d 28 18 ......+.....+........9........(.
1f2e0 04 63 14 00 9b 6f 39 08 18 08 b8 00 f5 9a 00 0b 18 08 b8 00 f9 99 00 0d 28 18 04 63 14 00 9b 6f .c...o9.................(..c...o
1f300 39 08 2b 18 08 b6 00 72 2a b4 00 36 04 a1 00 2e 2a b4 00 55 18 08 b8 00 75 b6 00 7b 57 2a b4 00 9.+....r*..6....*..U....u..{W*..
1f320 5e 2b b6 00 6d b8 00 75 b6 00 7b 57 2a b4 00 5c 2b b6 00 7f b8 00 75 b6 00 7b 57 2b 2a b4 00 26 ^+..m..u..{W*..\+.....u..{W+*..&
1f340 b8 00 82 99 00 11 2b b6 00 6d 2b 15 06 b6 00 e8 97 9b 00 10 2b b4 00 88 36 07 18 08 39 04 a7 00 ......+..m+.........+...6...9...
1f360 38 2b 2a b4 00 26 2a b4 00 2a b8 00 8f 99 00 0b 2a 04 b5 00 38 a7 00 2c 2b b6 00 7f 18 04 28 67 8+*..&*..*......*...8..,+.....(g
1f380 6b 0e 97 9b 00 0a 28 39 04 15 06 36 07 18 08 49 2b b4 00 88 36 06 84 0a 01 15 0a 11 03 e8 a1 fe k.....(9...6...I+...6...........
1f3a0 cc 18 08 af 00 00 00 03 00 44 00 00 00 a6 00 29 00 00 00 dc 00 08 00 dd 00 28 00 e0 00 2d 00 e2 .........D.....).........(...-..
1f3c0 00 30 00 e3 00 33 00 e4 00 42 00 e5 00 47 00 e6 00 4f 00 e7 00 5b 00 e8 00 6a 00 e9 00 79 00 eb .0...3...B...G...O...[...j...y..
1f3e0 00 7e 00 ec 00 80 00 f1 00 8d 00 f2 00 9b 00 f1 00 9e 00 f0 00 a0 00 f5 00 a7 00 f6 00 b1 00 f8 .~..............................
1f400 00 c1 00 f9 00 cb 00 fd 00 d1 00 fe 00 d9 00 ff 00 e6 01 00 00 f5 01 01 01 04 01 03 01 0f 01 04 ................................
1f420 01 1d 01 05 01 23 01 06 01 2a 01 0c 01 39 01 0e 01 3e 01 0f 01 41 01 12 01 4f 01 13 01 52 01 14 .....#...*...9...>...A...O...R..
1f440 01 56 01 16 01 59 01 17 01 5f 01 19 01 62 00 e3 01 6a 01 1b 00 45 00 00 00 52 00 08 00 00 01 6d .V...Y..._...b...j...E...R.....m
1f460 00 46 00 47 00 00 00 00 01 6d 00 fc 00 b2 00 01 00 00 01 6d 00 fd 00 0a 00 02 00 00 01 6d 00 fe .F.G.....m.........m.........m..
1f480 00 0a 00 04 00 00 01 6d 00 ff 00 0e 00 06 00 00 01 6d 01 00 00 0e 00 07 00 2d 01 40 00 b5 00 0a .......m.........m.......-.@....
1f4a0 00 08 00 30 01 3d 01 01 00 0e 00 0a 00 60 00 00 00 17 00 0f 28 fd 00 0a 03 01 fb 00 45 06 30 0f ...0.=.......`......(.......E.0.
1f4c0 09 38 18 0c 16 14 08 02 07 00 01 00 6b 00 6c 00 01 00 20 00 00 00 2f 00 02 00 01 00 00 00 05 2a .8..........k.l......./........*
1f4e0 b4 00 40 af 00 00 00 02 00 44 00 00 00 06 00 01 00 00 01 1f 00 45 00 00 00 0c 00 01 00 00 00 05 ..@......D...........E..........
1f500 00 46 00 47 00 00 00 01 01 02 00 6c 00 01 00 20 00 00 00 2f 00 02 00 01 00 00 00 05 2a b4 00 3e .F.G.......l......./........*..>
1f520 af 00 00 00 02 00 44 00 00 00 06 00 01 00 00 01 24 00 45 00 00 00 0c 00 01 00 00 00 05 00 46 00 ......D.........$.E...........F.
1f540 47 00 00 00 01 01 03 00 6c 00 01 00 20 00 00 00 2f 00 02 00 01 00 00 00 05 2a b4 00 3c af 00 00 G.......l......./........*..<...
1f560 00 02 00 44 00 00 00 06 00 01 00 00 01 28 00 45 00 00 00 0c 00 01 00 00 00 05 00 46 00 47 00 00 ...D.........(.E...........F.G..
1f580 00 01 01 04 00 00 00 02 01 05 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 07 c5 7d 12 64 21 00 00 ..........PK.........i.<..}.d!..
1f5a0 64 21 00 00 2f 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f d!../...optimization/linesearch/
1f5c0 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f WolfRuleLineSearch.javapackage.o
1f5e0 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 61 72 63 68 3b 0a 0a 69 6d 70 6f 72 74 20 ptimization.linesearch;..import.
1f600 6a 61 76 61 2e 69 6f 2e 50 72 69 6e 74 53 74 72 65 61 6d 3b 0a 69 6d 70 6f 72 74 20 6a 61 76 61 java.io.PrintStream;.import.java
1f620 2e 75 74 69 6c 2e 41 72 72 61 79 4c 69 73 74 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a .util.ArrayList;..import.optimiz
1f640 61 74 69 6f 6e 2e 75 74 69 6c 2e 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3b 0a 0a 0a 0a 0a 2f 2a ation.util.Interpolation;...../*
1f660 2a 0a 20 2a 20 0a 20 2a 20 40 61 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 *..*...*.@author.javg..*..*/.pub
1f680 6c 69 63 20 63 6c 61 73 73 20 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 20 69 6d 70 lic.class.WolfRuleLineSearch.imp
1f6a0 6c 65 6d 65 6e 74 73 20 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 7b 0a 0a 09 47 65 6e 65 lements.LineSearchMethod{...Gene
1f6c0 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 20 70 69 63 6b 46 69 72 73 74 53 74 65 70 3b 0a ricPickFirstStep.pickFirstStep;.
1f6e0 09 0a 09 64 6f 75 62 6c 65 20 63 31 20 3d 20 31 2e 30 45 2d 34 3b 0a 09 64 6f 75 62 6c 65 20 63 ...double.c1.=.1.0E-4;..double.c
1f700 32 20 3d 20 30 2e 39 3b 0a 09 0a 09 2f 2f 41 70 70 6c 69 63 61 74 69 6f 6e 20 64 65 70 65 6e 64 2.=.0.9;....//Application.depend
1f720 65 6e 74 0a 09 64 6f 75 62 6c 65 20 6d 61 78 53 74 65 70 3d 31 30 30 3b 0a 09 0a 09 69 6e 74 20 ent..double.maxStep=100;....int.
1f740 65 78 74 72 61 70 6f 6c 61 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 3b 0a 09 69 6e 74 20 6d 61 78 extrapolationIteration;..int.max
1f760 45 78 74 72 61 70 6f 6c 61 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3d 20 31 30 30 30 3b 0a 09 ExtrapolationIteration.=.1000;..
1f780 0a 09 0a 09 64 6f 75 62 6c 65 20 6d 69 6e 5a 6f 6f 6d 44 69 66 66 54 72 65 73 68 20 3d 20 31 30 ....double.minZoomDiffTresh.=.10
1f7a0 45 2d 31 30 3b 0a 0a 09 0a 09 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 73 74 65 70 E-10;.....ArrayList<Double>.step
1f7c0 73 3b 0a 09 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 67 72 61 64 69 65 6e 74 44 6f s;..ArrayList<Double>.gradientDo
1f7e0 74 73 3b 0a 09 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 20 66 75 6e 63 74 69 6f 6e 56 ts;..ArrayList<Double>.functionV
1f800 61 6c 73 3b 0a 09 0a 09 69 6e 74 20 64 65 62 75 67 4c 65 76 65 6c 20 3d 20 30 3b 0a 09 62 6f 6f als;....int.debugLevel.=.0;..boo
1f820 6c 65 61 6e 20 66 6f 75 64 53 74 65 70 20 3d 20 66 61 6c 73 65 3b 0a 09 0a 09 70 75 62 6c 69 63 lean.foudStep.=.false;....public
1f840 20 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 28 47 65 6e 65 72 69 63 50 69 63 6b 46 .WolfRuleLineSearch(GenericPickF
1f860 69 72 73 74 53 74 65 70 20 70 69 63 6b 46 69 72 73 74 53 74 65 70 29 7b 0a 09 09 74 68 69 73 2e irstStep.pickFirstStep){...this.
1f880 70 69 63 6b 46 69 72 73 74 53 74 65 70 20 3d 20 70 69 63 6b 46 69 72 73 74 53 74 65 70 3b 0a 09 pickFirstStep.=.pickFirstStep;..
1f8a0 09 0a 09 7d 0a 09 0a 09 0a 0a 09 0a 09 70 75 62 6c 69 63 20 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 ...}.........public.WolfRuleLine
1f8c0 53 65 61 72 63 68 28 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 20 70 69 63 6b Search(GenericPickFirstStep.pick
1f8e0 46 69 72 73 74 53 74 65 70 2c 20 20 64 6f 75 62 6c 65 20 63 31 2c 20 64 6f 75 62 6c 65 20 63 32 FirstStep,..double.c1,.double.c2
1f900 29 7b 0a 09 09 74 68 69 73 2e 70 69 63 6b 46 69 72 73 74 53 74 65 70 20 3d 20 70 69 63 6b 46 69 ){...this.pickFirstStep.=.pickFi
1f920 72 73 74 53 74 65 70 3b 0a 09 09 69 6e 69 74 69 61 6c 53 74 65 70 20 3d 20 70 69 63 6b 46 69 72 rstStep;...initialStep.=.pickFir
1f940 73 74 53 74 65 70 2e 67 65 74 46 69 72 73 74 53 74 65 70 28 74 68 69 73 29 3b 0a 09 09 74 68 69 stStep.getFirstStep(this);...thi
1f960 73 2e 63 31 20 3d 20 63 31 3b 0a 09 09 74 68 69 73 2e 63 32 20 3d 20 63 32 3b 0a 09 7d 0a 09 0a s.c1.=.c1;...this.c2.=.c2;..}...
1f980 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 65 74 44 65 62 75 67 4c 65 76 65 6c 28 69 6e 74 20 6c .public.void.setDebugLevel(int.l
1f9a0 65 76 65 6c 29 7b 0a 09 09 64 65 62 75 67 4c 65 76 65 6c 20 3d 20 6c 65 76 65 6c 3b 0a 09 7d 0a evel){...debugLevel.=.level;..}.
1f9c0 09 0a 09 2f 2f 45 78 70 65 72 69 6d 65 6e 74 0a 09 64 6f 75 62 6c 65 20 70 72 65 76 69 6f 75 73 ...//Experiment..double.previous
1f9e0 53 74 65 70 50 69 63 6b 65 64 20 3d 20 2d 31 3b 3b 0a 09 64 6f 75 62 6c 65 20 70 72 65 76 69 6f StepPicked.=.-1;;..double.previo
1fa00 75 73 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 2d 31 3b 0a 09 64 6f 75 62 6c 65 20 usInitGradientDot.=.-1;..double.
1fa20 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 2d 31 3b 0a 09 0a 09 currentInitGradientDot.=.-1;....
1fa40 64 6f 75 62 6c 65 20 69 6e 69 74 69 61 6c 53 74 65 70 3b 0a 0a 09 0a 09 70 75 62 6c 69 63 20 76 double.initialStep;.....public.v
1fa60 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 70 72 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 oid.reset(){...previousStepPicke
1fa80 64 20 3d 20 2d 31 3b 3b 0a 09 09 70 72 65 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 65 6e 74 44 d.=.-1;;...previousInitGradientD
1faa0 6f 74 20 3d 20 2d 31 3b 0a 09 09 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f ot.=.-1;...currentInitGradientDo
1fac0 74 20 3d 20 2d 31 3b 0a 09 09 69 66 28 73 74 65 70 73 20 21 3d 20 6e 75 6c 6c 29 0a 09 09 09 73 t.=.-1;...if(steps.!=.null)....s
1fae0 74 65 70 73 2e 63 6c 65 61 72 28 29 3b 0a 09 09 69 66 28 67 72 61 64 69 65 6e 74 44 6f 74 73 20 teps.clear();...if(gradientDots.
1fb00 21 3d 20 6e 75 6c 6c 29 0a 09 09 09 67 72 61 64 69 65 6e 74 44 6f 74 73 2e 63 6c 65 61 72 28 29 !=.null)....gradientDots.clear()
1fb20 3b 0a 09 09 69 66 28 66 75 6e 63 74 69 6f 6e 56 61 6c 73 20 21 3d 20 6e 75 6c 6c 29 0a 09 09 09 ;...if(functionVals.!=.null)....
1fb40 66 75 6e 63 74 69 6f 6e 56 61 6c 73 2e 63 6c 65 61 72 28 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c functionVals.clear();..}....publ
1fb60 69 63 20 76 6f 69 64 20 73 65 74 49 6e 69 74 69 61 6c 53 74 65 70 28 64 6f 75 62 6c 65 20 69 6e ic.void.setInitialStep(double.in
1fb80 69 74 69 61 6c 29 7b 0a 09 09 69 6e 69 74 69 61 6c 53 74 65 70 20 3d 20 70 69 63 6b 46 69 72 73 itial){...initialStep.=.pickFirs
1fba0 74 53 74 65 70 2e 67 65 74 46 69 72 73 74 53 74 65 70 28 74 68 69 73 29 3b 0a 09 7d 0a 09 0a 09 tStep.getFirstStep(this);..}....
1fbc0 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 49 6d 70 6c 65 6d 65 6e 74 73 20 57 6f 6c 66 20 4c 69 6e 65 ..../**...*.Implements.Wolf.Line
1fbe0 20 73 65 61 72 63 68 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 6e 6f 63 65 74 61 6c 2e .search.as.described.in.nocetal.
1fc00 0a 09 20 2a 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 63 6f 6e 73 69 73 74 73 20 69 6e 20 74 77 ...*.This.process.consists.in.tw
1fc20 6f 20 73 74 61 67 65 73 2e 20 54 68 65 20 66 69 72 73 74 20 73 74 61 67 65 20 77 65 20 74 72 79 o.stages..The.first.stage.we.try
1fc40 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 0a 09 20 2a 20 62 69 67 67 65 73 74 20 73 74 65 70 .to.satisfy.the...*.biggest.step
1fc60 20 73 69 7a 65 20 74 68 61 74 20 73 74 69 6c 6c 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 63 .size.that.still.satisfies.the.c
1fc80 75 72 76 61 74 75 72 65 20 63 6f 6e 64 69 74 69 6f 6e 2e 20 57 65 20 6b 65 65 70 20 69 6e 63 72 urvature.condition..We.keep.incr
1fca0 65 61 73 69 6e 67 0a 09 20 2a 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 65 70 20 73 69 7a 65 easing...*.the.initial.step.size
1fcc0 20 75 6e 74 69 6c 20 77 65 20 66 69 6e 64 20 61 20 73 74 65 70 20 73 61 74 69 73 66 79 69 6e 67 .until.we.find.a.step.satisfying
1fce0 20 74 68 65 20 63 75 72 76 61 74 75 72 65 20 63 6f 6e 64 69 74 69 6f 6e 2c 20 77 65 20 72 65 74 .the.curvature.condition,.we.ret
1fd00 75 72 6e 20 0a 09 20 2a 20 73 75 63 63 65 73 73 2c 20 77 65 20 66 61 69 6c 65 64 20 74 68 65 20 urn....*.success,.we.failed.the.
1fd20 73 75 66 66 69 63 69 65 6e 74 20 69 6e 63 72 65 61 73 65 20 73 6f 20 77 65 20 63 61 6e 6e 6f 74 sufficient.increase.so.we.cannot
1fd40 20 69 6e 63 72 65 61 73 65 20 6d 6f 72 65 20 61 6e 64 20 77 65 20 63 61 6e 20 63 61 6c 6c 20 7a .increase.more.and.we.can.call.z
1fd60 6f 6f 6d 20 77 69 74 68 20 0a 09 20 2a 20 74 68 61 74 20 6d 61 78 69 6d 75 6d 20 73 74 65 70 2c oom.with....*.that.maximum.step,
1fd80 20 6f 72 20 77 65 20 70 61 73 73 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 69 6e 20 77 68 69 63 68 .or.we.pass.the.minimum.in.which
1fda0 20 63 61 73 65 20 77 65 20 63 61 6e 20 63 61 6c 6c 20 7a 6f 6f 6d 20 74 68 65 20 73 61 6d 65 20 .case.we.can.call.zoom.the.same.
1fdc0 77 61 79 2e 20 0a 09 20 2a 20 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 way.....*....*/..public.double.g
1fde0 65 74 53 74 65 70 53 69 7a 65 28 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 etStepSize(DifferentiableLineSea
1fe00 72 63 68 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 65 63 74 69 76 65 29 7b 0a 09 09 2f 2f 53 79 73 rchObjective.objective){...//Sys
1fe20 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 65 6e 74 65 72 69 6e 67 20 6c 69 6e 65 20 73 tem.out.println("entering.line.s
1fe40 65 61 72 63 68 22 29 3b 0a 09 09 0a 09 09 66 6f 75 64 53 74 65 70 20 3d 20 66 61 6c 73 65 3b 0a earch");......foudStep.=.false;.
1fe60 09 09 69 66 28 64 65 62 75 67 4c 65 76 65 6c 20 3e 3d 20 31 29 7b 0a 09 09 09 73 74 65 70 73 20 ..if(debugLevel.>=.1){....steps.
1fe80 3d 20 6e 65 77 20 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 28 29 3b 0a 09 09 09 67 72 =.new.ArrayList<Double>();....gr
1fea0 61 64 69 65 6e 74 44 6f 74 73 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 69 73 74 3c 44 6f 75 62 6c adientDots.=.new.ArrayList<Doubl
1fec0 65 3e 28 29 3b 0a 09 09 09 66 75 6e 63 74 69 6f 6e 56 61 6c 73 20 20 3d 6e 65 77 20 41 72 72 61 e>();....functionVals..=new.Arra
1fee0 79 4c 69 73 74 3c 44 6f 75 62 6c 65 3e 28 29 3b 0a 09 09 7d 0a 09 09 0a 09 09 2f 2f 74 65 73 74 yList<Double>();...}......//test
1ff00 0a 09 09 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 20 3d 20 6f 62 6a 65 ...currentInitGradientDot.=.obje
1ff20 63 74 69 76 65 2e 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 3b 0a 09 09 0a 09 ctive.getInitialGradient();.....
1ff40 09 0a 09 09 64 6f 75 62 6c 65 20 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 6f 62 6a 65 63 ....double.previousValue.=.objec
1ff60 74 69 76 65 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 3b 0a 09 09 64 6f 75 62 6c 65 tive.getCurrentValue();...double
1ff80 20 70 72 65 76 69 6f 75 73 53 74 65 70 20 3d 20 30 3b 0a 09 09 64 6f 75 62 6c 65 20 63 75 72 72 .previousStep.=.0;...double.curr
1ffa0 65 6e 74 53 74 65 70 20 3d 70 69 63 6b 46 69 72 73 74 53 74 65 70 2e 67 65 74 46 69 72 73 74 53 entStep.=pickFirstStep.getFirstS
1ffc0 74 65 70 28 74 68 69 73 29 3b 0a 09 09 66 6f 72 28 65 78 74 72 61 70 6f 6c 61 74 69 6f 6e 49 74 tep(this);...for(extrapolationIt
1ffe0 65 72 61 74 69 6f 6e 20 3d 20 30 3b 20 0a 09 09 65 78 74 72 61 70 6f 6c 61 74 69 6f 6e 49 74 65 eration.=.0;....extrapolationIte
20000 72 61 74 69 6f 6e 20 3c 20 6d 61 78 45 78 74 72 61 70 6f 6c 61 74 69 6f 6e 49 74 65 72 61 74 69 ration.<.maxExtrapolationIterati
20020 6f 6e 3b 20 65 78 74 72 61 70 6f 6c 61 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 2b 2b 29 7b 09 0a on;.extrapolationIteration++){..
20040 09 09 09 0a 09 09 09 6f 62 6a 65 63 74 69 76 65 2e 75 70 64 61 74 65 41 6c 70 68 61 28 63 75 72 .......objective.updateAlpha(cur
20060 72 65 6e 74 53 74 65 70 29 3b 0a 09 09 09 64 6f 75 62 6c 65 20 63 75 72 72 65 6e 74 56 61 6c 75 rentStep);....double.currentValu
20080 65 20 3d 20 6f 62 6a 65 63 74 69 76 65 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 3b e.=.objective.getCurrentValue();
200a0 0a 09 09 09 69 66 28 64 65 62 75 67 4c 65 76 65 6c 20 3e 3d 20 31 29 7b 0a 09 09 09 09 73 74 65 ....if(debugLevel.>=.1){.....ste
200c0 70 73 2e 61 64 64 28 63 75 72 72 65 6e 74 53 74 65 70 29 3b 0a 09 09 09 09 66 75 6e 63 74 69 6f ps.add(currentStep);.....functio
200e0 6e 56 61 6c 73 2e 61 64 64 28 63 75 72 72 65 6e 74 56 61 6c 75 65 29 3b 0a 09 09 09 09 67 72 61 nVals.add(currentValue);.....gra
20100 64 69 65 6e 74 44 6f 74 73 2e 61 64 64 28 6f 62 6a 65 63 74 69 76 65 2e 67 65 74 43 75 72 72 65 dientDots.add(objective.getCurre
20120 6e 74 47 72 61 64 69 65 6e 74 28 29 29 3b 0a 09 09 09 7d 0a 09 09 09 0a 09 09 09 0a 09 09 09 2f ntGradient());....}............/
20140 2f 54 68 65 20 63 75 72 72 65 6e 74 20 73 74 65 70 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 /The.current.step.does.not.satis
20160 66 79 20 74 68 65 20 73 75 66 66 69 63 69 65 6e 74 20 64 65 63 72 65 61 73 65 20 63 6f 6e 64 69 fy.the.sufficient.decrease.condi
20180 74 69 6f 6e 20 61 6e 79 6d 6f 72 65 0a 09 09 09 2f 2f 20 73 6f 20 77 65 20 63 61 6e 6e 6f 74 20 tion.anymore....//.so.we.cannot.
201a0 67 65 74 20 62 69 67 67 65 72 20 74 68 61 6e 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 7a 6f 6f get.bigger.than.that.calling.zoo
201c0 6d 2e 0a 09 09 09 69 66 28 21 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 73 75 66 69 63 69 m.....if(!WolfeConditions.sufici
201e0 65 6e 74 44 65 63 72 65 61 73 65 28 6f 62 6a 65 63 74 69 76 65 2c 63 31 29 7c 7c 09 09 09 09 09 entDecrease(objective,c1)||.....
20200 0a 09 09 09 09 09 28 65 78 74 72 61 70 6f 6c 61 74 69 6f 6e 49 74 65 72 61 74 69 6f 6e 20 3e 20 ......(extrapolationIteration.>.
20220 30 20 26 26 20 63 75 72 72 65 6e 74 56 61 6c 75 65 20 3e 3d 20 70 72 65 76 69 6f 75 73 56 61 6c 0.&&.currentValue.>=.previousVal
20240 75 65 29 29 7b 0a 09 09 09 09 63 75 72 72 65 6e 74 53 74 65 70 20 3d 20 7a 6f 6f 6d 28 6f 62 6a ue)){.....currentStep.=.zoom(obj
20260 65 63 74 69 76 65 2c 70 72 65 76 69 6f 75 73 53 74 65 70 2c 63 75 72 72 65 6e 74 53 74 65 70 2c ective,previousStep,currentStep,
20280 6f 62 6a 65 63 74 69 76 65 2e 6e 72 49 74 65 72 61 74 69 6f 6e 73 2d 31 2c 6f 62 6a 65 63 74 69 objective.nrIterations-1,objecti
202a0 76 65 2e 6e 72 49 74 65 72 61 74 69 6f 6e 73 29 3b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 ve.nrIterations);.....break;....
202c0 7d 0a 09 09 09 0a 09 09 09 2f 2f 53 61 74 69 73 66 79 69 6e 67 20 62 6f 74 68 20 63 6f 6e 64 69 }........//Satisfying.both.condi
202e0 74 69 6f 6e 73 20 72 65 61 64 79 20 74 6f 20 6c 65 61 76 65 0a 09 09 09 69 66 28 57 6f 6c 66 65 tions.ready.to.leave....if(Wolfe
20300 43 6f 6e 64 69 74 69 6f 6e 73 2e 73 75 66 66 69 63 69 65 6e 74 43 75 72 76 61 74 75 72 65 28 6f Conditions.sufficientCurvature(o
20320 62 6a 65 63 74 69 76 65 2c 63 31 2c 63 32 29 29 7b 0a 09 09 09 09 2f 2f 46 6f 75 6e 64 20 73 74 bjective,c1,c2)){.....//Found.st
20340 65 70 0a 09 09 09 09 66 6f 75 64 53 74 65 70 20 3d 20 74 72 75 65 3b 0a 09 09 09 09 62 72 65 61 ep.....foudStep.=.true;.....brea
20360 6b 3b 0a 09 09 09 7d 0a 09 09 09 0a 09 09 09 2f 2a 2a 0a 09 09 09 20 2a 20 54 68 69 73 20 6d 65 k;....}......../**.....*.This.me
20380 61 6e 73 20 74 68 61 74 20 77 65 20 70 61 73 73 65 64 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 61 ans.that.we.passed.the.minimum.a
203a0 6c 72 65 61 64 79 20 73 69 6e 63 65 20 74 68 65 20 64 6f 74 20 70 72 6f 64 75 63 74 20 74 68 61 lready.since.the.dot.product.tha
203c0 74 20 73 68 6f 75 6c 64 20 62 65 20 0a 09 09 09 20 2a 20 6e 65 67 61 74 69 76 65 20 28 64 65 73 t.should.be......*.negative.(des
203e0 63 65 6e 74 20 64 69 72 65 63 74 69 6f 6e 29 20 69 73 20 6e 6f 77 20 70 6f 73 69 74 69 76 65 2e cent.direction).is.now.positive.
20400 20 53 6f 20 77 65 20 63 61 6e 6e 6f 74 20 69 6e 63 72 65 61 73 65 20 6d 6f 72 65 2e 20 4f 6e 20 .So.we.cannot.increase.more..On.
20420 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 0a 09 09 09 20 2a 20 73 69 6e 63 65 20 77 65 20 6b 6e the.other.hand.....*.since.we.kn
20440 6f 77 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 69 73 20 61 20 64 65 73 63 65 6e 74 20 64 69 ow.the.direction.is.a.descent.di
20460 72 65 63 74 69 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 74 68 65 20 6f 62 6a 65 63 74 69 76 65 20 rection.the.value.the.objective.
20480 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 65 70 0a 09 09 09 20 2a 20 69 73 20 66 6f 72 at.the.current.step.....*.is.for
204a0 20 73 75 72 65 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 70 72 65 69 76 6f 75 73 20 .sure.smaller.than.the.preivous.
204c0 73 74 65 70 20 73 6f 20 77 65 20 63 68 61 6e 67 65 20 74 68 65 20 6f 72 64 65 72 2e 0a 09 09 09 step.so.we.change.the.order.....
204e0 20 2a 2f 0a 09 09 09 69 66 28 6f 62 6a 65 63 74 69 76 65 2e 67 65 74 43 75 72 72 65 6e 74 47 72 .*/....if(objective.getCurrentGr
20500 61 64 69 65 6e 74 28 29 20 3e 3d 20 30 29 7b 0a 09 09 09 09 63 75 72 72 65 6e 74 53 74 65 70 20 adient().>=.0){.....currentStep.
20520 3d 20 20 7a 6f 6f 6d 28 6f 62 6a 65 63 74 69 76 65 2c 63 75 72 72 65 6e 74 53 74 65 70 2c 70 72 =..zoom(objective,currentStep,pr
20540 65 76 69 6f 75 73 53 74 65 70 2c 6f 62 6a 65 63 74 69 76 65 2e 6e 72 49 74 65 72 61 74 69 6f 6e eviousStep,objective.nrIteration
20560 73 2c 6f 62 6a 65 63 74 69 76 65 2e 6e 72 49 74 65 72 61 74 69 6f 6e 73 2d 31 29 3b 0a 09 09 09 s,objective.nrIterations-1);....
20580 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 0a 09 09 09 0a 09 09 09 2f 2f 4f 6b 2c 20 73 6f .break;....}............//Ok,.so
205a0 20 77 65 20 63 61 6e 20 73 74 69 6c 6c 20 67 65 74 20 61 20 62 69 67 67 65 72 20 73 74 65 70 2c .we.can.still.get.a.bigger.step,
205c0 20 0a 09 09 09 64 6f 75 62 6c 65 20 61 75 78 20 3d 20 63 75 72 72 65 6e 74 53 74 65 70 3b 0a 09 .....double.aux.=.currentStep;..
205e0 09 09 2f 2f 63 75 72 72 65 6e 74 53 74 65 70 20 3d 20 63 75 72 72 65 6e 74 53 74 65 70 2a 32 3b ..//currentStep.=.currentStep*2;
20600 0a 09 09 09 69 66 28 4d 61 74 68 2e 61 62 73 28 63 75 72 72 65 6e 74 53 74 65 70 2d 6d 61 78 53 ....if(Math.abs(currentStep-maxS
20620 74 65 70 29 3e 31 2e 31 65 2d 32 29 7b 0a 09 09 09 09 63 75 72 72 65 6e 74 53 74 65 70 20 3d 20 tep)>1.1e-2){.....currentStep.=.
20640 28 63 75 72 72 65 6e 74 53 74 65 70 2b 6d 61 78 53 74 65 70 29 2f 32 3b 0a 09 09 09 7d 65 6c 73 (currentStep+maxStep)/2;....}els
20660 65 7b 0a 09 09 09 09 63 75 72 72 65 6e 74 53 74 65 70 20 3d 20 63 75 72 72 65 6e 74 53 74 65 70 e{.....currentStep.=.currentStep
20680 2a 32 3b 0a 09 09 09 7d 0a 09 09 09 70 72 65 76 69 6f 75 73 53 74 65 70 20 3d 20 61 75 78 3b 0a *2;....}....previousStep.=.aux;.
206a0 09 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 63 75 72 72 65 6e 74 56 61 6c 75 65 3b ...previousValue.=.currentValue;
206c0 0a 09 09 09 2f 2f 43 6f 75 6c 64 20 62 65 20 64 6f 6e 65 20 62 65 74 74 65 72 0a 09 09 09 69 66 ....//Could.be.done.better....if
206e0 28 63 75 72 72 65 6e 74 53 74 65 70 20 3e 3d 20 6d 61 78 53 74 65 70 29 7b 0a 09 09 09 09 53 79 (currentStep.>=.maxStep){.....Sy
20700 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 45 78 63 65 64 64 65 64 20 6d 61 78 20 73 stem.out.println("Excedded.max.s
20720 74 65 70 2e 2e 2e 63 61 6c 6c 69 6e 67 20 7a 6f 6f 6d 20 77 69 74 68 20 6d 61 78 53 74 65 70 53 tep...calling.zoom.with.maxStepS
20740 69 7a 65 22 29 3b 0a 09 09 09 09 63 75 72 72 65 6e 74 53 74 65 70 20 3d 20 7a 6f 6f 6d 28 6f 62 ize");.....currentStep.=.zoom(ob
20760 6a 65 63 74 69 76 65 2c 70 72 65 76 69 6f 75 73 53 74 65 70 2c 63 75 72 72 65 6e 74 53 74 65 70 jective,previousStep,currentStep
20780 2c 6f 62 6a 65 63 74 69 76 65 2e 6e 72 49 74 65 72 61 74 69 6f 6e 73 2d 31 2c 6f 62 6a 65 63 74 ,objective.nrIterations-1,object
207a0 69 76 65 2e 6e 72 49 74 65 72 61 74 69 6f 6e 73 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 69 66 ive.nrIterations);....}...}...if
207c0 28 21 66 6f 75 64 53 74 65 70 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 (!foudStep){....System.out.print
207e0 6c 6e 28 22 57 6f 6c 66 65 20 52 75 6c 65 20 65 78 63 65 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 ln("Wolfe.Rule.exceed.number.of.
20800 69 74 65 72 61 74 69 6f 6e 73 22 29 3b 0a 09 09 09 69 66 28 64 65 62 75 67 4c 65 76 65 6c 20 3e iterations");....if(debugLevel.>
20820 3d 20 31 29 7b 0a 09 09 09 09 70 72 69 6e 74 53 6d 61 6c 6c 57 6f 6c 66 65 53 74 61 74 73 28 53 =.1){.....printSmallWolfeStats(S
20840 79 73 74 65 6d 2e 6f 75 74 29 3b 0a 2f 2f 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 ystem.out);.//....System.out.pri
20860 6e 74 6c 6e 28 22 4c 69 6e 65 20 73 65 61 72 63 68 20 76 61 6c 75 65 73 22 29 3b 0a 2f 2f 09 09 ntln("Line.search.values");.//..
20880 09 09 44 65 62 75 67 48 65 6c 70 65 72 73 2e 67 65 74 4c 69 6e 65 53 65 61 72 63 68 47 72 61 70 ..DebugHelpers.getLineSearchGrap
208a0 68 28 6f 2c 20 20 64 69 72 65 63 74 69 6f 6e 2c 20 6f 72 69 67 69 6e 61 6c 50 61 72 61 6d 65 74 h(o,..direction,.originalParamet
208c0 65 72 73 2c 6f 72 69 67 56 61 6c 75 65 2c 20 6f 72 69 67 47 72 61 64 44 69 72 65 63 74 69 6f 6e ers,origValue,.origGradDirection
208e0 44 6f 74 2c 63 31 2c 63 32 29 3b 09 09 09 0a 09 09 09 7d 0a 09 09 09 72 65 74 75 72 6e 20 2d 31 Dot,c1,c2);.......}....return.-1
20900 3b 0a 09 09 7d 0a 09 09 69 66 28 64 65 62 75 67 4c 65 76 65 6c 20 3e 3d 20 31 29 7b 0a 09 09 09 ;...}...if(debugLevel.>=.1){....
20920 70 72 69 6e 74 53 6d 61 6c 6c 57 6f 6c 66 65 53 74 61 74 73 28 53 79 73 74 65 6d 2e 6f 75 74 29 printSmallWolfeStats(System.out)
20940 3b 0a 09 09 7d 0a 0a 09 09 70 72 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 20 3d 20 63 75 ;...}....previousStepPicked.=.cu
20960 72 72 65 6e 74 53 74 65 70 3b 0a 09 09 70 72 65 76 69 6f 75 73 49 6e 69 74 47 72 61 64 69 65 6e rrentStep;...previousInitGradien
20980 74 44 6f 74 20 3d 20 63 75 72 72 65 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 3b 0a 2f tDot.=.currentInitGradientDot;./
209a0 2f 09 09 6f 62 6a 65 63 74 69 76 65 2e 70 72 69 6e 74 4c 69 6e 65 53 65 61 72 63 68 53 74 65 70 /..objective.printLineSearchStep
209c0 73 28 29 3b 0a 09 09 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 53 74 65 70 3b 0a 09 7d 0a 09 0a s();...return.currentStep;..}...
209e0 09 0a 09 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 70 72 69 6e 74 57 6f 6c 66 65 53 .........public.void.printWolfeS
20a00 74 61 74 73 28 50 72 69 6e 74 53 74 72 65 61 6d 20 6f 75 74 29 7b 0a 09 09 66 6f 72 28 69 6e 74 tats(PrintStream.out){...for(int
20a20 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 74 65 70 73 2e 73 69 7a 65 28 29 3b 20 69 2b 2b 29 7b 09 .i.=.0;.i.<.steps.size();.i++){.
20a40 09 0a 09 09 09 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 74 65 70 20 22 20 2b 20 73 74 65 70 73 .....out.println("Step.".+.steps
20a60 2e 67 65 74 28 69 29 20 2b 20 22 20 76 61 6c 75 65 20 22 20 2b 20 66 75 6e 63 74 69 6f 6e 56 61 .get(i).+.".value.".+.functionVa
20a80 6c 73 2e 67 65 74 28 69 29 20 2b 20 22 20 64 6f 74 20 22 20 2b 20 67 72 61 64 69 65 6e 74 44 6f ls.get(i).+.".dot.".+.gradientDo
20aa0 74 73 2e 67 65 74 28 69 29 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 ts.get(i));...}..}....public.voi
20ac0 64 20 70 72 69 6e 74 53 6d 61 6c 6c 57 6f 6c 66 65 53 74 61 74 73 28 50 72 69 6e 74 53 74 72 65 d.printSmallWolfeStats(PrintStre
20ae0 61 6d 20 6f 75 74 29 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 74 am.out){...for(int.i.=.0;.i.<.st
20b00 65 70 73 2e 73 69 7a 65 28 29 3b 20 69 2b 2b 29 7b 09 09 0a 09 09 09 6f 75 74 2e 70 72 69 6e 74 eps.size();.i++){......out.print
20b20 28 73 74 65 70 73 2e 67 65 74 28 69 29 20 2b 20 22 3a 22 2b 66 75 6e 63 74 69 6f 6e 56 61 6c 73 (steps.get(i).+.":"+functionVals
20b40 2e 67 65 74 28 69 29 2b 22 3a 22 2b 67 72 61 64 69 65 6e 74 44 6f 74 73 2e 67 65 74 28 69 29 2b .get(i)+":"+gradientDots.get(i)+
20b60 22 20 22 29 3b 0a 09 09 7d 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 ".");...}...System.out.println()
20b80 3b 0a 09 7d 0a 09 0a 09 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 50 69 63 6b 20 61 20 73 74 65 70 20 ;..}......../**...*.Pick.a.step.
20ba0 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 73 74 72 6f 6e 67 20 77 6f 6c 66 65 20 63 6f 6e 64 satisfying.the.strong.wolfe.cond
20bc0 69 74 69 6f 6e 20 66 72 6f 6d 20 61 6e 20 67 69 76 65 6e 20 66 72 6f 6d 20 6c 6f 77 65 72 53 74 ition.from.an.given.from.lowerSt
20be0 65 70 20 61 6e 64 20 68 69 67 68 65 72 53 74 65 70 0a 09 20 2a 20 70 69 63 6b 65 64 20 6f 6e 20 ep.and.higherStep...*.picked.on.
20c00 74 68 65 20 72 6f 75 74 69 6e 65 20 61 62 6f 76 65 2e 0a 09 20 2a 20 0a 09 20 2a 20 42 6f 74 68 the.routine.above....*....*.Both
20c20 20 6c 6f 77 65 72 53 74 65 70 20 61 6e 64 20 68 69 67 68 65 72 53 74 65 70 20 68 61 76 65 20 62 .lowerStep.and.higherStep.have.b
20c40 65 65 6e 20 65 76 61 6c 75 61 74 65 64 2c 20 73 6f 20 77 65 20 6f 6e 6c 79 20 6e 65 65 64 20 74 een.evaluated,.so.we.only.need.t
20c60 6f 20 70 61 73 73 20 74 68 65 20 69 74 65 72 61 74 69 6f 6e 20 77 68 65 72 65 20 74 68 65 79 20 o.pass.the.iteration.where.they.
20c80 68 61 76 65 0a 09 20 2a 20 62 65 65 6e 20 65 76 61 6c 75 61 74 65 64 20 61 6e 64 20 73 61 76 65 have...*.been.evaluated.and.save
20ca0 20 65 78 74 72 61 20 65 76 61 6c 75 61 74 69 6f 6e 73 2e 0a 09 20 2a 20 0a 09 20 2a 20 57 65 20 .extra.evaluations....*....*.We.
20cc0 6b 6e 6f 77 20 74 68 61 74 20 6c 6f 77 65 72 53 74 65 70 56 61 6c 75 65 20 61 73 20 74 6f 20 62 know.that.lowerStepValue.as.to.b
20ce0 65 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 68 69 67 68 65 72 53 74 65 70 56 61 6c 75 65 2c 20 e.smaller.than.higherStepValue,.
20d00 61 6e 64 20 74 68 61 74 20 61 20 70 6f 69 6e 74 20 0a 09 20 2a 20 73 61 74 69 73 66 79 69 6e 67 and.that.a.point....*.satisfying
20d20 20 62 6f 74 68 20 63 6f 6e 64 69 74 69 6f 6e 73 20 65 78 69 73 74 73 20 69 6e 20 73 75 63 68 20 .both.conditions.exists.in.such.
20d40 69 6e 74 65 72 76 61 6c 2e 0a 09 20 2a 20 0a 09 20 2a 20 4c 6f 77 65 72 53 74 65 70 20 61 6c 77 interval....*....*.LowerStep.alw
20d60 61 79 73 20 73 61 74 69 73 66 69 65 73 20 61 74 20 6c 65 61 73 74 20 74 68 65 20 73 75 66 66 69 ays.satisfies.at.least.the.suffi
20d80 63 69 65 6e 74 20 64 65 63 72 65 61 73 65 0a 09 20 2a 20 40 72 65 74 75 72 6e 0a 09 20 2a 2f 0a cient.decrease...*.@return...*/.
20da0 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 7a 6f 6f 6d 28 44 69 66 66 65 72 65 6e 74 69 61 62 .public.double.zoom(Differentiab
20dc0 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 20 6f 2c 20 64 6f 75 62 6c 65 20 leLineSearchObjective.o,.double.
20de0 6c 6f 77 65 72 53 74 65 70 2c 20 64 6f 75 62 6c 65 20 68 69 67 68 65 72 53 74 65 70 2c 0a 09 09 lowerStep,.double.higherStep,...
20e00 09 69 6e 74 20 6c 6f 77 65 72 53 74 65 70 49 74 65 72 2c 20 69 6e 74 20 68 69 67 68 65 72 53 74 .int.lowerStepIter,.int.higherSt
20e20 65 70 49 74 65 72 29 7b 0a 09 09 0a 09 09 69 66 28 64 65 62 75 67 4c 65 76 65 6c 20 3e 3d 32 29 epIter){......if(debugLevel.>=2)
20e40 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 45 6e 74 65 72 69 6e {....System.out.println("Enterin
20e60 67 20 7a 6f 6f 6d 20 77 69 74 68 20 22 20 2b 20 6c 6f 77 65 72 53 74 65 70 2b 22 2d 22 2b 68 69 g.zoom.with.".+.lowerStep+"-"+hi
20e80 67 68 65 72 53 74 65 70 29 3b 0a 09 09 7d 0a 09 09 0a 09 09 64 6f 75 62 6c 65 20 63 75 72 72 65 gherStep);...}......double.curre
20ea0 6e 74 53 74 65 70 3d 2d 31 3b 0a 09 09 0a 09 09 69 6e 74 20 7a 6f 6f 6d 49 74 65 72 20 3d 20 30 ntStep=-1;......int.zoomIter.=.0
20ec0 3b 0a 09 09 77 68 69 6c 65 28 7a 6f 6f 6d 49 74 65 72 20 3c 20 31 30 30 30 29 7b 09 09 0a 09 09 ;...while(zoomIter.<.1000){.....
20ee0 09 69 66 28 4d 61 74 68 2e 61 62 73 28 6c 6f 77 65 72 53 74 65 70 2d 68 69 67 68 65 72 53 74 65 .if(Math.abs(lowerStep-higherSte
20f00 70 29 20 3c 20 6d 69 6e 5a 6f 6f 6d 44 69 66 66 54 72 65 73 68 29 7b 0a 09 09 09 09 6f 2e 75 70 p).<.minZoomDiffTresh){.....o.up
20f20 64 61 74 65 41 6c 70 68 61 28 6c 6f 77 65 72 53 74 65 70 29 3b 0a 09 09 09 09 69 66 28 64 65 62 dateAlpha(lowerStep);.....if(deb
20f40 75 67 4c 65 76 65 6c 20 3e 3d 20 31 29 7b 0a 09 09 09 09 09 73 74 65 70 73 2e 61 64 64 28 6c 6f ugLevel.>=.1){......steps.add(lo
20f60 77 65 72 53 74 65 70 29 3b 0a 09 09 09 09 09 66 75 6e 63 74 69 6f 6e 56 61 6c 73 2e 61 64 64 28 werStep);......functionVals.add(
20f80 6f 2e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b 0a 09 09 09 09 09 67 72 61 64 69 o.getCurrentValue());......gradi
20fa0 65 6e 74 44 6f 74 73 2e 61 64 64 28 6f 2e 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 entDots.add(o.getCurrentGradient
20fc0 28 29 29 3b 0a 09 09 09 09 7d 0a 09 09 09 09 66 6f 75 64 53 74 65 70 20 3d 20 74 72 75 65 3b 0a ());.....}.....foudStep.=.true;.
20fe0 09 09 09 09 72 65 74 75 72 6e 20 6c 6f 77 65 72 53 74 65 70 3b 0a 09 09 09 7d 09 0a 09 0a 09 09 ....return.lowerStep;....}......
21000 09 2f 2f 43 75 62 69 63 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 0a 09 09 09 63 75 72 72 65 6e .//Cubic.interpolation....curren
21020 74 53 74 65 70 20 3d 20 0a 09 09 09 09 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 2e 63 75 62 69 63 tStep.=......Interpolation.cubic
21040 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 28 6c 6f 77 65 72 53 74 65 70 2c 20 6f 2e 67 65 74 56 61 Interpolation(lowerStep,.o.getVa
21060 6c 75 65 28 6c 6f 77 65 72 53 74 65 70 49 74 65 72 29 2c 20 6f 2e 67 65 74 47 72 61 64 69 65 6e lue(lowerStepIter),.o.getGradien
21080 74 28 6c 6f 77 65 72 53 74 65 70 49 74 65 72 29 2c 20 0a 09 09 09 09 09 09 68 69 67 68 65 72 53 t(lowerStepIter),........higherS
210a0 74 65 70 2c 20 6f 2e 67 65 74 56 61 6c 75 65 28 68 69 67 68 65 72 53 74 65 70 49 74 65 72 29 2c tep,.o.getValue(higherStepIter),
210c0 20 6f 2e 67 65 74 47 72 61 64 69 65 6e 74 28 68 69 67 68 65 72 53 74 65 70 49 74 65 72 29 29 3b .o.getGradient(higherStepIter));
210e0 0a 09 09 09 0a 09 09 09 2f 2f 53 61 66 65 67 75 61 72 64 2e 2e 2e 2e 20 73 68 6f 75 6c 64 20 6e ........//Safeguard.....should.n
21100 6f 74 20 62 65 20 72 65 71 75 69 72 65 64 20 63 68 65 63 6b 20 69 6e 20 77 68 61 74 20 63 6f 6e ot.be.required.check.in.what.con
21120 64 74 69 6f 6e 73 20 69 74 20 69 73 20 72 65 71 75 69 72 65 64 0a 09 09 09 69 66 28 63 75 72 72 dtions.it.is.required....if(curr
21140 65 6e 74 53 74 65 70 20 3c 20 30 20 29 7b 0a 09 09 09 09 63 75 72 72 65 6e 74 53 74 65 70 20 3d entStep.<.0.){.....currentStep.=
21160 20 28 6c 6f 77 65 72 53 74 65 70 2b 68 69 67 68 65 72 53 74 65 70 29 2f 32 3b 0a 09 09 09 7d 0a .(lowerStep+higherStep)/2;....}.
21180 09 09 09 69 66 28 44 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 63 75 72 72 65 6e 74 53 74 65 70 29 20 ...if(Double.isNaN(currentStep).
211a0 7c 7c 20 44 6f 75 62 6c 65 2e 69 73 49 6e 66 69 6e 69 74 65 28 63 75 72 72 65 6e 74 53 74 65 70 ||.Double.isInfinite(currentStep
211c0 29 29 7b 0a 09 09 09 09 63 75 72 72 65 6e 74 53 74 65 70 20 3d 20 28 6c 6f 77 65 72 53 74 65 70 )){.....currentStep.=.(lowerStep
211e0 2b 68 69 67 68 65 72 53 74 65 70 29 2f 32 3b 0a 09 09 09 7d 0a 2f 2f 09 09 09 63 75 72 72 65 6e +higherStep)/2;....}.//...curren
21200 74 53 74 65 70 20 3d 20 28 6c 6f 77 65 72 53 74 65 70 2b 68 69 67 68 65 72 53 74 65 70 29 2f 32 tStep.=.(lowerStep+higherStep)/2
21220 3b 0a 2f 2f 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 54 72 79 69 6e ;.//...System.out.println("Tryin
21240 67 20 22 2b 63 75 72 72 65 6e 74 53 74 65 70 29 3b 0a 09 09 09 6f 2e 75 70 64 61 74 65 41 6c 70 g."+currentStep);....o.updateAlp
21260 68 61 28 63 75 72 72 65 6e 74 53 74 65 70 29 3b 0a 09 09 09 69 66 28 64 65 62 75 67 4c 65 76 65 ha(currentStep);....if(debugLeve
21280 6c 20 3e 3d 31 29 7b 0a 09 09 09 09 73 74 65 70 73 2e 61 64 64 28 63 75 72 72 65 6e 74 53 74 65 l.>=1){.....steps.add(currentSte
212a0 70 29 3b 0a 09 09 09 09 66 75 6e 63 74 69 6f 6e 56 61 6c 73 2e 61 64 64 28 6f 2e 67 65 74 43 75 p);.....functionVals.add(o.getCu
212c0 72 72 65 6e 74 56 61 6c 75 65 28 29 29 3b 0a 09 09 09 09 67 72 61 64 69 65 6e 74 44 6f 74 73 2e rrentValue());.....gradientDots.
212e0 61 64 64 28 6f 2e 67 65 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 28 29 29 3b 0a 09 09 09 add(o.getCurrentGradient());....
21300 7d 0a 09 09 09 69 66 28 21 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 73 75 66 69 63 69 65 }....if(!WolfeConditions.suficie
21320 6e 74 44 65 63 72 65 61 73 65 28 6f 2c 63 31 29 0a 09 09 09 09 09 7c 7c 20 6f 2e 67 65 74 43 75 ntDecrease(o,c1)......||.o.getCu
21340 72 72 65 6e 74 56 61 6c 75 65 28 29 20 3e 3d 20 6f 2e 67 65 74 56 61 6c 75 65 28 6c 6f 77 65 72 rrentValue().>=.o.getValue(lower
21360 53 74 65 70 49 74 65 72 29 29 7b 0a 09 09 09 09 68 69 67 68 65 72 53 74 65 70 49 74 65 72 20 3d StepIter)){.....higherStepIter.=
21380 20 6f 2e 6e 72 49 74 65 72 61 74 69 6f 6e 73 3b 0a 09 09 09 09 68 69 67 68 65 72 53 74 65 70 20 .o.nrIterations;.....higherStep.
213a0 3d 20 63 75 72 72 65 6e 74 53 74 65 70 3b 0a 09 09 09 7d 0a 09 09 09 2f 2f 4e 6f 74 65 20 77 68 =.currentStep;....}....//Note.wh
213c0 65 6e 20 65 6e 74 65 72 69 6e 67 20 68 65 72 65 20 74 68 65 20 6e 65 77 20 73 74 65 70 20 73 61 en.entering.here.the.new.step.sa
213e0 74 69 73 66 69 65 73 20 74 68 65 20 73 75 66 66 69 63 65 6e 74 20 64 65 63 72 65 61 73 65 20 61 tisfies.the.sufficent.decrease.a
21400 6e 64 0a 09 09 09 2f 2f 20 6f 72 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 75 65 20 nd....//.or.as.a.function.value.
21420 74 68 61 74 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 that.is.better.than.the.previous
21440 20 62 65 73 74 20 28 6c 6f 77 65 72 53 74 65 70 46 75 6e 63 74 69 6f 6e 56 61 6c 75 65 73 29 0a .best.(lowerStepFunctionValues).
21460 09 09 09 2f 2f 20 73 6f 20 77 65 20 65 69 74 68 65 72 20 6c 65 61 76 65 20 6f 72 20 63 68 61 6e ...//.so.we.either.leave.or.chan
21480 67 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 6c 70 68 61 20 6c 6f 77 2e 0a 09 ge.the.value.of.the.alpha.low...
214a0 09 09 65 6c 73 65 7b 0a 09 09 09 09 69 66 28 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 73 ..else{.....if(WolfeConditions.s
214c0 75 66 66 69 63 69 65 6e 74 43 75 72 76 61 74 75 72 65 28 6f 2c 63 31 2c 63 32 29 29 7b 0a 09 09 ufficientCurvature(o,c1,c2)){...
214e0 09 09 09 2f 2f 53 61 74 69 73 66 69 65 73 20 74 68 65 20 62 6f 74 68 20 77 6f 6c 66 20 63 6f 6e ...//Satisfies.the.both.wolf.con
21500 64 69 74 69 6f 6e 73 0a 09 09 09 09 09 66 6f 75 64 53 74 65 70 20 3d 20 74 72 75 65 3b 0a 09 09 ditions......foudStep.=.true;...
21520 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 09 09 09 09 2f 2f 49 66 20 64 6f 65 73 20 6e 6f ...break;.....}.....//If.does.no
21540 74 20 73 61 74 69 73 66 79 20 63 75 72 76 61 74 75 72 65 20 0a 09 09 09 09 69 66 28 6f 2e 67 65 t.satisfy.curvature......if(o.ge
21560 74 43 75 72 72 65 6e 74 47 72 61 64 69 65 6e 74 28 29 2a 28 68 69 67 68 65 72 53 74 65 70 2d 6c tCurrentGradient()*(higherStep-l
21580 6f 77 65 72 53 74 65 70 29 20 3e 3d 20 30 29 7b 0a 09 09 09 09 09 68 69 67 68 65 72 53 74 65 70 owerStep).>=.0){......higherStep
215a0 20 3d 20 6c 6f 77 65 72 53 74 65 70 3b 0a 09 09 09 09 09 68 69 67 68 65 72 53 74 65 70 49 74 65 .=.lowerStep;......higherStepIte
215c0 72 20 3d 20 6c 6f 77 65 72 53 74 65 70 49 74 65 72 3b 0a 09 09 09 09 7d 0a 09 09 09 09 6c 6f 77 r.=.lowerStepIter;.....}.....low
215e0 65 72 53 74 65 70 20 3d 20 63 75 72 72 65 6e 74 53 74 65 70 3b 0a 09 09 09 09 6c 6f 77 65 72 53 erStep.=.currentStep;.....lowerS
21600 74 65 70 49 74 65 72 20 3d 20 6f 2e 6e 72 49 74 65 72 61 74 69 6f 6e 73 3b 0a 09 09 09 7d 0a 09 tepIter.=.o.nrIterations;....}..
21620 09 09 7a 6f 6f 6d 49 74 65 72 2b 2b 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 63 75 72 72 65 ..zoomIter++;...}...return.curre
21640 6e 74 53 74 65 70 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 49 6e ntStep;..}...public.double.getIn
21660 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 63 75 72 72 65 itialGradient().{...return.curre
21680 6e 74 49 6e 69 74 47 72 61 64 69 65 6e 74 44 6f 74 3b 0a 09 09 0a 09 7d 0a 0a 09 70 75 62 6c 69 ntInitGradientDot;.....}...publi
216a0 63 20 64 6f 75 62 6c 65 20 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 c.double.getPreviousInitialGradi
216c0 65 6e 74 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 70 72 65 76 69 6f 75 73 49 6e 69 74 47 72 61 ent().{...return.previousInitGra
216e0 64 69 65 6e 74 44 6f 74 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 dientDot;..}...public.double.get
21700 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 70 72 PreviousStepUsed().{...return.pr
21720 65 76 69 6f 75 73 53 74 65 70 50 69 63 6b 65 64 3b 0a 09 7d 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a eviousStepPicked;..}.....}.PK...
21740 00 00 00 00 00 96 59 e5 3c 34 3b 85 8f ad 04 00 00 ad 04 00 00 41 00 00 00 6f 70 74 69 6d 69 7a ......Y.<4;..........A...optimiz
21760 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4e 6f 6e 4e 65 77 74 6f 6e 49 6e 74 65 72 70 ation/linesearch/NonNewtonInterp
21780 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 2e 63 6c 61 73 73 ca fe ba be 00 00 olationPickFirstStep.class......
217a0 00 32 00 2f 07 00 02 01 00 3b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 .2./.....;optimization/linesearc
217c0 68 2f 4e 6f 6e 4e 65 77 74 6f 6e 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 h/NonNewtonInterpolationPickFirs
217e0 74 53 74 65 70 07 00 04 01 00 2c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 tStep.....,optimization/linesear
21800 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 01 00 06 3c 69 6e 69 74 3e ch/GenericPickFirstStep...<init>
21820 01 00 04 28 44 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e ...(D)V...Code.............LineN
21840 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 umberTable...LocalVariableTable.
21860 00 04 74 68 69 73 01 00 3d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 ..this..=Loptimization/linesearc
21880 68 2f 4e 6f 6e 4e 65 77 74 6f 6e 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 h/NonNewtonInterpolationPickFirs
218a0 74 53 74 65 70 3b 01 00 09 69 6e 69 74 56 61 6c 75 65 01 00 01 44 01 00 0c 67 65 74 46 69 72 73 tStep;...initValue...D...getFirs
218c0 74 53 74 65 70 01 00 2d 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 tStep..-(Loptimization/linesearc
218e0 68 2f 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 3b 29 44 0b 00 13 00 15 07 00 14 01 00 28 h/LineSearchMethod;)D..........(
21900 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 optimization/linesearch/LineSear
21920 63 68 4d 65 74 68 6f 64 0c 00 16 00 17 01 00 13 67 65 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 chMethod........getPreviousStepU
21940 73 65 64 01 00 03 28 29 44 06 bf f0 00 00 00 00 00 00 0b 00 13 00 1b 0c 00 1c 00 17 01 00 1a 67 sed...()D......................g
21960 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 06 3f f0 28 f5 c2 8f etPreviousInitialGradient.?.(...
21980 5c 29 0b 00 13 00 20 0c 00 21 00 17 01 00 12 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e \).......!.....getInitialGradien
219a0 74 09 00 01 00 23 0c 00 24 00 0f 01 00 0a 5f 69 6e 69 74 56 61 6c 75 65 01 00 02 6c 73 01 00 2a t....#..$....._initValue...ls..*
219c0 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 Loptimization/linesearch/LineSea
219e0 72 63 68 4d 65 74 68 6f 64 3b 01 00 07 6e 65 77 53 74 65 70 01 00 0d 53 74 61 63 6b 4d 61 70 54 rchMethod;...newStep...StackMapT
21a00 61 62 6c 65 01 00 11 63 6f 6c 6c 65 63 74 49 6e 69 74 56 61 6c 75 65 73 01 00 2f 28 4c 6f 70 74 able...collectInitValues../(Lopt
21a20 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 57 6f 6c 66 52 75 6c 65 4c 69 6e imization/linesearch/WolfRuleLin
21a40 65 53 65 61 72 63 68 3b 29 56 01 00 2c 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 eSearch;)V..,Loptimization/lines
21a60 65 61 72 63 68 2f 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 3b 01 00 12 63 6f 6c 6c earch/WolfRuleLineSearch;...coll
21a80 65 63 74 46 69 6e 61 6c 56 61 6c 75 65 73 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 28 4e 6f ectFinalValues...SourceFile..(No
21aa0 6e 4e 65 77 74 6f 6e 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 nNewtonInterpolationPickFirstSte
21ac0 70 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 04 00 01 00 05 00 06 00 01 00 07 00 00 00 3e p.java.!.......................>
21ae0 00 03 00 03 00 00 00 06 2a 27 b7 00 08 b1 00 00 00 02 00 0a 00 00 00 0a 00 02 00 00 00 0b 00 05 ........*'......................
21b00 00 0c 00 0b 00 00 00 16 00 02 00 00 00 06 00 0c 00 0d 00 00 00 00 00 06 00 0e 00 0f 00 01 00 01 ................................
21b20 00 10 00 11 00 01 00 07 00 00 00 8b 00 04 00 04 00 00 00 38 2b b9 00 12 01 00 14 00 18 97 99 00 ...................8+...........
21b40 29 2b b9 00 1a 01 00 0e 97 99 00 1e 14 00 1d 2b b9 00 1a 01 00 6b 2b b9 00 12 01 00 6b 2b b9 00 )+.............+.....k+.....k+..
21b60 1f 01 00 6f 49 28 af 2a b4 00 22 af 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 00 12 00 18 00 13 ...oI(.*..".....................
21b80 00 31 00 15 00 33 00 18 00 0b 00 00 00 20 00 03 00 00 00 38 00 0c 00 0d 00 00 00 00 00 38 00 25 .1...3.............8.........8.%
21ba0 00 26 00 01 00 31 00 02 00 27 00 0f 00 02 00 28 00 00 00 03 00 01 33 00 01 00 29 00 2a 00 01 00 .&...1...'.....(......3...).*...
21bc0 07 00 00 00 35 00 00 00 02 00 00 00 01 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 00 1c 00 0b ....5...........................
21be0 00 00 00 16 00 02 00 00 00 01 00 0c 00 0d 00 00 00 00 00 01 00 25 00 2b 00 01 00 01 00 2c 00 2a .....................%.+.....,.*
21c00 00 01 00 07 00 00 00 35 00 00 00 02 00 00 00 01 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 00 .......5........................
21c20 20 00 0b 00 00 00 16 00 02 00 00 00 01 00 0c 00 0d 00 00 00 00 00 01 00 25 00 2b 00 01 00 01 00 ........................%.+.....
21c40 2d 00 00 00 02 00 2e 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c b7 f1 3c 1f f0 03 00 00 f0 03 00 -......PK.........i.<..<........
21c60 00 40 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4e 6f 6e .@...optimization/linesearch/Non
21c80 4e 65 77 74 6f 6e 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 NewtonInterpolationPickFirstStep
21ca0 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 6c 69 6e 65 73 65 .javapackage.optimization.linese
21cc0 61 72 63 68 3b 0a 0a 2f 2a 2a 0a 20 2a 20 4e 6f 6e 20 6e 65 77 74 77 6f 6e 20 73 69 6e 63 65 20 arch;../**..*.Non.newtwon.since.
21ce0 77 65 20 64 6f 6e 27 74 20 61 6c 77 61 79 73 20 74 72 79 20 31 2e 2e 2e 0a 20 2a 20 4e 6f 74 20 we.don't.always.try.1.....*.Not.
21d00 73 75 72 65 20 69 66 20 74 68 61 74 20 69 73 20 65 76 65 6e 20 75 73 65 66 75 6c 6c 20 66 6f 72 sure.if.that.is.even.usefull.for
21d20 20 6e 65 77 74 6f 6e 0a 20 2a 20 40 61 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 .newton..*.@author.javg..*..*/.p
21d40 75 62 6c 69 63 20 63 6c 61 73 73 20 4e 6f 6e 4e 65 77 74 6f 6e 49 6e 74 65 72 70 6f 6c 61 74 69 ublic.class.NonNewtonInterpolati
21d60 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 20 65 78 74 65 6e 64 73 20 47 65 6e 65 72 69 63 50 onPickFirstStep.extends.GenericP
21d80 69 63 6b 46 69 72 73 74 53 74 65 70 7b 0a 09 70 75 62 6c 69 63 20 4e 6f 6e 4e 65 77 74 6f 6e 49 ickFirstStep{..public.NonNewtonI
21da0 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 28 64 6f 75 62 6c 65 nterpolationPickFirstStep(double
21dc0 20 69 6e 69 74 56 61 6c 75 65 29 20 7b 0a 09 09 73 75 70 65 72 28 69 6e 69 74 56 61 6c 75 65 29 .initValue).{...super(initValue)
21de0 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 20 67 65 74 46 69 72 73 74 53 74 ;..}....public.double.getFirstSt
21e00 65 70 28 4c 69 6e 65 53 65 61 72 63 68 4d 65 74 68 6f 64 20 6c 73 29 7b 0a 2f 2f 09 09 53 79 73 ep(LineSearchMethod.ls){.//..Sys
21e20 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 50 72 65 76 69 6f 75 73 20 73 74 65 70 20 75 tem.out.println("Previous.step.u
21e40 73 65 64 20 22 20 2b 20 6c 73 2e 67 65 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 28 29 sed.".+.ls.getPreviousStepUsed()
21e60 29 3b 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 50 72 65 76 69 );.//..System.out.println("Previ
21e80 6f 75 73 47 72 61 64 69 6e 65 62 74 20 22 20 2b 20 6c 73 2e 67 65 74 50 72 65 76 69 6f 75 73 49 ousGradinebt.".+.ls.getPreviousI
21ea0 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 29 3b 0a 2f 2f 09 09 53 79 73 74 65 6d 2e 6f 75 nitialGradient());.//..System.ou
21ec0 74 2e 70 72 69 6e 74 6c 6e 28 22 43 75 72 72 65 6e 74 47 72 61 64 69 6e 65 62 74 20 22 20 2b 20 t.println("CurrentGradinebt.".+.
21ee0 6c 73 2e 67 65 74 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 29 3b 0a 09 09 69 66 28 6c ls.getInitialGradient());...if(l
21f00 73 2e 67 65 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 28 29 20 21 3d 20 2d 31 20 26 26 s.getPreviousStepUsed().!=.-1.&&
21f20 20 6c 73 2e 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 .ls.getPreviousInitialGradient()
21f40 21 3d 30 29 7b 0a 09 09 09 64 6f 75 62 6c 65 20 6e 65 77 53 74 65 70 20 3d 20 31 2e 30 31 2a 6c !=0){....double.newStep.=.1.01*l
21f60 73 2e 67 65 74 50 72 65 76 69 6f 75 73 49 6e 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 2a 6c s.getPreviousInitialGradient()*l
21f80 73 2e 67 65 74 50 72 65 76 69 6f 75 73 53 74 65 70 55 73 65 64 28 29 2f 6c 73 2e 67 65 74 49 6e s.getPreviousStepUsed()/ls.getIn
21fa0 69 74 69 61 6c 47 72 61 64 69 65 6e 74 28 29 3b 0a 09 09 09 2f 2f 53 79 73 74 65 6d 2e 6f 75 74 itialGradient();....//System.out
21fc0 2e 70 72 69 6e 74 6c 6e 28 22 53 75 67 67 65 73 74 69 6e 67 20 22 20 2b 20 6e 65 77 53 74 65 70 .println("Suggesting.".+.newStep
21fe0 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 6e 65 77 53 74 65 70 3b 0a 09 09 09 0a 09 09 7d 0a 09 09 );....return.newStep;.......}...
22000 72 65 74 75 72 6e 20 5f 69 6e 69 74 56 61 6c 75 65 3b 0a 09 7d 0a 09 70 75 62 6c 69 63 20 76 6f return._initValue;..}..public.vo
22020 69 64 20 63 6f 6c 6c 65 63 74 49 6e 69 74 56 61 6c 75 65 73 28 57 6f 6c 66 52 75 6c 65 4c 69 6e id.collectInitValues(WolfRuleLin
22040 65 53 65 61 72 63 68 20 6c 73 29 7b 0a 09 09 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 eSearch.ls){.....}....public.voi
22060 64 20 63 6f 6c 6c 65 63 74 46 69 6e 61 6c 56 61 6c 75 65 73 28 57 6f 6c 66 52 75 6c 65 4c 69 6e d.collectFinalValues(WolfRuleLin
22080 65 53 65 61 72 63 68 20 6c 73 29 7b 0a 09 09 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 eSearch.ls){.....}.}.PK.........
220a0 59 e5 3c ea 0e f2 e0 64 0a 00 00 64 0a 00 00 2f 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f Y.<....d...d.../...optimization/
220c0 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 42 6f 75 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e 2e 63 6c 61 projections/BoundsProjection.cla
220e0 73 73 ca fe ba be 00 00 00 32 00 98 07 00 02 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 ss.......2.......)optimization/p
22100 72 6f 6a 65 63 74 69 6f 6e 73 2f 42 6f 75 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e 07 00 04 01 00 rojections/BoundsProjection.....
22120 23 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 50 72 6f 6a 65 63 #optimization/projections/Projec
22140 74 69 6f 6e 01 00 01 61 01 00 01 44 01 00 01 62 01 00 07 69 67 6e 6f 72 65 41 01 00 01 5a 01 00 tion...a...D...b...ignoreA...Z..
22160 07 69 67 6e 6f 72 65 42 01 00 01 72 01 00 12 4c 6a 61 76 61 2f 75 74 69 6c 2f 52 61 6e 64 6f 6d .ignoreB...r...Ljava/util/Random
22180 3b 01 00 07 65 70 73 69 6c 6f 6e 01 00 06 3c 69 6e 69 74 3e 01 00 05 28 44 44 29 56 01 00 04 43 ;...epsilon...<init>...(DD)V...C
221a0 6f 64 65 0a 00 03 00 12 0c 00 0e 00 13 01 00 03 28 29 56 09 00 01 00 15 0c 00 08 00 09 09 00 01 ode.............()V.............
221c0 00 17 0c 00 0a 00 09 07 00 19 01 00 10 6a 61 76 61 2f 75 74 69 6c 2f 52 61 6e 64 6f 6d 0a 00 18 .............java/util/Random...
221e0 00 12 09 00 01 00 1c 0c 00 0b 00 0c 06 3d db 7c df d9 d7 bd bb 09 00 01 00 20 0c 00 0d 00 06 0a .............=.|................
22200 00 22 00 24 07 00 23 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 0c 00 25 00 26 01 .".$..#...java/lang/Double..%.&.
22220 00 0a 69 73 49 6e 66 69 6e 69 74 65 01 00 04 28 44 29 5a 09 00 01 00 28 0c 00 05 00 06 09 00 01 ..isInfinite...(D)Z....(........
22240 00 2a 0c 00 07 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 .*........LineNumberTable...Loca
22260 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 2b 4c 6f 70 74 69 6d 69 7a lVariableTable...this..+Loptimiz
22280 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 42 6f 75 6e 64 73 50 72 6f 6a 65 63 74 69 ation/projections/BoundsProjecti
222a0 6f 6e 3b 01 00 0a 6c 6f 77 65 72 42 6f 75 6e 64 01 00 0a 75 70 70 65 72 42 6f 75 6e 64 01 00 0d on;...lowerBound...upperBound...
222c0 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 07 70 72 6f 6a 65 63 74 01 00 05 28 5b 44 29 56 01 StackMapTable...project...([D)V.
222e0 00 08 6f 72 69 67 69 6e 61 6c 01 00 02 5b 44 01 00 01 69 01 00 01 49 01 00 0b 73 61 6d 70 6c 65 ..original...[D...i...I...sample
22300 50 6f 69 6e 74 01 00 05 28 49 29 5b 44 0a 00 18 00 3b 0c 00 3c 00 3d 01 00 0a 6e 65 78 74 44 6f Point...(I)[D....;..<.=...nextDo
22320 75 62 6c 65 01 00 03 28 29 44 06 54 c2 49 ad 25 94 c3 7d 06 54 b2 49 ad 25 94 c3 7d 01 00 09 6e uble...()D.T.I.%..}.T.I.%..}...n
22340 75 6d 50 61 72 61 6d 73 01 00 05 70 6f 69 6e 74 01 00 04 72 61 6e 64 07 00 35 01 00 04 6d 61 69 umParams...point...rand..5...mai
22360 6e 01 00 16 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 06 7f f0 00 00 00 n...([Ljava/lang/String;)V......
22380 00 00 00 0a 00 01 00 4b 0c 00 0e 00 0f 0a 00 01 00 4d 0c 00 38 00 39 08 00 4f 01 00 08 72 61 6e .......K.........M..8.9..O...ran
223a0 64 6f 6d 20 31 0a 00 51 00 53 07 00 52 01 00 1e 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 dom.1..Q.S..R...optimization/uti
223c0 6c 2f 4d 61 74 72 69 78 4f 75 74 70 75 74 0c 00 54 00 55 01 00 10 70 72 69 6e 74 44 6f 75 62 6c l/MatrixOutput..T.U...printDoubl
223e0 65 41 72 72 61 79 01 00 17 28 5b 44 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 eArray...([DLjava/lang/String;)V
22400 08 00 57 01 00 08 72 61 6e 64 6f 6d 20 32 08 00 59 01 00 08 72 61 6e 64 6f 6d 20 33 06 bf f1 99 ..W...random.2..Y...random.3....
22420 99 99 99 99 9a 06 3f f3 33 33 33 33 33 33 06 3f f6 66 66 66 66 66 66 0a 00 45 00 61 0c 00 62 00 ......?.333333.?.ffffff..E.a..b.
22440 63 01 00 05 63 6c 6f 6e 65 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b c...clone...()Ljava/lang/Object;
22460 08 00 65 01 00 06 62 65 66 6f 72 65 0a 00 01 00 67 0c 00 32 00 33 08 00 69 01 00 05 61 66 74 65 ..e...before....g..2.3..i...afte
22480 72 09 00 6b 00 6d 07 00 6c 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 6e 00 r..k.m..l...java/lang/System..n.
224a0 6f 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 o...out...Ljava/io/PrintStream;.
224c0 00 71 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 73 01 .q...java/lang/StringBuilder..s.
224e0 00 11 54 65 73 74 20 70 72 6f 6a 65 63 74 69 6f 6e 3a 20 0a 00 70 00 75 0c 00 0e 00 76 01 00 15 ..Test.projection:...p.u....v...
22500 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 01 00 78 0c 00 79 00 7a 01 (Ljava/lang/String;)V....x..y.z.
22520 00 0e 74 65 73 74 50 72 6f 6a 65 63 74 69 6f 6e 01 00 07 28 5b 44 5b 44 29 5a 0a 00 70 00 7c 0c ..testProjection...([D[D)Z..p.|.
22540 00 7d 00 7e 01 00 06 61 70 70 65 6e 64 01 00 1c 28 5a 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 .}.~...append...(Z)Ljava/lang/St
22560 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 70 00 80 0c 00 81 00 82 01 00 08 74 6f 53 74 72 69 6e ringBuilder;..p..........toStrin
22580 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 84 00 86 07 00 85 g...()Ljava/lang/String;........
225a0 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 87 00 76 01 00 07 70 72 ...java/io/PrintStream....v...pr
225c0 69 6e 74 6c 6e 01 00 04 61 72 67 73 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e intln...args...[Ljava/lang/Strin
225e0 67 3b 01 00 02 73 70 01 00 01 64 01 00 0d 70 65 72 74 75 72 62 65 50 6f 69 6e 74 01 00 07 28 5b g;...sp...d...perturbePoint...([
22600 44 49 29 5b 44 0a 00 8f 00 91 07 00 90 01 00 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 DI)[D...........optimization/uti
22620 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 92 00 93 01 00 06 61 6c 6d 6f 73 74 01 00 05 28 44 44 29 l/MathUtils........almost...(DD)
22640 5a 01 00 09 70 61 72 61 6d 65 74 65 72 01 00 08 6e 65 77 50 6f 69 6e 74 01 00 0a 53 6f 75 72 63 Z...parameter...newPoint...Sourc
22660 65 46 69 6c 65 01 00 15 42 6f 75 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e 2e 6a 61 76 61 00 21 00 eFile...BoundsProjection.java.!.
22680 01 00 03 00 00 00 06 00 00 00 05 00 06 00 00 00 00 00 07 00 06 00 00 00 00 00 08 00 09 00 00 00 ................................
226a0 00 00 0a 00 09 00 00 00 00 00 0b 00 0c 00 00 00 00 00 0d 00 06 00 00 00 05 00 01 00 0e 00 0f 00 ................................
226c0 01 00 10 00 00 00 ca 00 03 00 05 00 00 00 49 2a b7 00 11 2a 03 b5 00 14 2a 03 b5 00 16 2a bb 00 ..............I*...*....*....*..
226e0 18 59 b7 00 1a b5 00 1b 2a 14 00 1d b5 00 1f 27 b8 00 21 99 00 0b 2a 04 b5 00 14 a7 00 08 2a 27 .Y......*......'..!...*.......*'
22700 b5 00 27 29 b8 00 21 99 00 0b 2a 04 b5 00 16 a7 00 08 2a 29 b5 00 29 b1 00 00 00 03 00 2b 00 00 ..')..!...*.......*)..)......+..
22720 00 32 00 0c 00 00 00 14 00 04 00 12 00 09 00 13 00 0e 00 35 00 19 00 5a 00 20 00 15 00 27 00 16 .2.................5...Z.....'..
22740 00 2f 00 18 00 34 00 1a 00 3b 00 1b 00 43 00 1d 00 48 00 1f 00 2c 00 00 00 20 00 03 00 00 00 49 ./...4...;...C...H...,.........I
22760 00 2d 00 2e 00 00 00 00 00 49 00 2f 00 06 00 01 00 00 00 49 00 30 00 06 00 03 00 31 00 00 00 11 .-.......I./.......I.0.....1....
22780 00 04 ff 00 2f 00 03 07 00 01 03 03 00 00 04 0e 04 00 01 00 32 00 33 00 01 00 10 00 00 00 a9 00 ..../...............2.3.........
227a0 04 00 03 00 00 00 44 03 3d a7 00 3b 2a b4 00 14 9a 00 18 2b 1c 31 2a b4 00 27 98 9c 00 0d 2b 1c ......D.=..;*......+.1*..'....+.
227c0 2a b4 00 27 52 a7 00 1c 2a b4 00 16 9a 00 15 2b 1c 31 2a b4 00 29 97 9e 00 0a 2b 1c 2a b4 00 29 *..'R...*......+.1*..)....+.*..)
227e0 52 84 02 01 1c 2b be a1 ff c5 b1 00 00 00 03 00 2b 00 00 00 1e 00 07 00 00 00 28 00 05 00 29 00 R....+..........+.........(...).
22800 17 00 2a 00 21 00 2b 00 33 00 2c 00 3a 00 28 00 43 00 2f 00 2c 00 00 00 20 00 03 00 00 00 44 00 ..*.!.+.3.,.:.(.C./.,.........D.
22820 2d 00 2e 00 00 00 00 00 44 00 34 00 35 00 01 00 02 00 41 00 36 00 37 00 02 00 31 00 00 00 09 00 -.......D.4.5.....A.6.7...1.....
22840 04 fc 00 05 01 1b 18 02 00 01 00 38 00 39 00 01 00 10 00 00 01 1f 00 08 00 06 00 00 00 88 1b bc ...........8.9..................
22860 07 4d 03 3e a7 00 7a 2a b4 00 1b b6 00 3a 39 04 2a b4 00 14 99 00 1a 2a b4 00 16 99 00 13 2c 1d .M.>..z*.....:9.*......*......,.
22880 18 04 14 00 3e 6b 14 00 40 67 52 a7 00 50 2a b4 00 14 99 00 18 2c 1d 18 04 2a b4 00 29 14 00 40 ....>k..@gR..P*......,...*..)..@
228a0 67 6b 14 00 40 67 52 a7 00 34 2a b4 00 16 99 00 19 2c 1d 18 04 14 00 40 2a b4 00 27 67 6b 2a b4 gk..@gR..4*......,.....@*..'gk*.
228c0 00 27 67 52 a7 00 17 2c 1d 18 04 2a b4 00 29 2a b4 00 27 67 6b 2a b4 00 27 67 52 84 03 01 1d 2c .'gR...,...*..)*..'gk*..'gR....,
228e0 be a1 ff 86 2c b0 00 00 00 03 00 2b 00 00 00 32 00 0c 00 00 00 38 00 04 00 39 00 09 00 3a 00 12 ....,......+...2.....8...9...:..
22900 00 3b 00 20 00 3d 00 30 00 3e 00 37 00 3f 00 4c 00 40 00 53 00 41 00 69 00 43 00 7d 00 39 00 86 .;...=.0.>.7.?.L.@.S.A.i.C.}.9..
22920 00 46 00 2c 00 00 00 34 00 05 00 00 00 88 00 2d 00 2e 00 00 00 00 00 88 00 42 00 37 00 01 00 04 .F.,...4.......-.........B.7....
22940 00 84 00 43 00 35 00 02 00 06 00 80 00 36 00 37 00 03 00 12 00 6b 00 44 00 06 00 04 00 31 00 00 ...C.5.......6.7.....k.D.....1..
22960 00 13 00 06 fd 00 09 07 00 45 01 fc 00 26 03 1b 1c fa 00 13 02 00 09 00 46 00 47 00 01 00 10 00 .........E...&..........F.G.....
22980 00 00 e5 00 06 00 04 00 00 00 75 bb 00 01 59 0e 14 00 48 b7 00 4a 4c 2b 06 b6 00 4c 12 4e b8 00 ..........u...Y...H..JL+...L.N..
229a0 50 2b 06 b6 00 4c 12 56 b8 00 50 2b 06 b6 00 4c 12 58 b8 00 50 06 bc 07 59 03 14 00 5a 52 59 04 P+...L.V..P+...L.X..P...Y...ZRY.
229c0 14 00 5c 52 59 05 14 00 5e 52 4d 2c b6 00 60 c0 00 45 4e 2c 12 64 b8 00 50 2b 2c b6 00 66 2c 12 ..\RY...^RM,..`..EN,.d..P+,..f,.
229e0 68 b8 00 50 b2 00 6a bb 00 70 59 12 72 b7 00 74 2b 2d 2c b6 00 77 b6 00 7b b6 00 7f b6 00 83 b1 h..P..j..pY.r..t+-,..w..{.......
22a00 00 00 00 02 00 2b 00 00 00 2e 00 0b 00 00 00 4a 00 0c 00 4d 00 16 00 4e 00 20 00 4f 00 2a 00 51 .....+.........J...M...N...O.*.Q
22a20 00 40 00 52 00 48 00 53 00 4e 00 55 00 53 00 56 00 59 00 57 00 74 00 58 00 2c 00 00 00 2a 00 04 .@.R.H.S.N.U.S.V.Y.W.t.X.,...*..
22a40 00 00 00 75 00 88 00 89 00 00 00 0c 00 69 00 8a 00 2e 00 01 00 40 00 35 00 8b 00 35 00 02 00 48 ...u.........i.......@.5...5...H
22a60 00 2d 00 34 00 35 00 03 00 01 00 8c 00 8d 00 01 00 10 00 00 00 c6 00 06 00 04 00 00 00 56 2b b6 .-.4.5.......................V+.
22a80 00 60 c0 00 45 4e 2a b4 00 14 9a 00 1d 2b 1c 31 2a b4 00 27 b8 00 8e 99 00 10 2d 1c 5c 31 2a b4 .`..EN*......+.1*..'......-.\1*.
22aa0 00 1f 63 52 a7 00 2e 2a b4 00 16 9a 00 1d 2b 1c 31 2a b4 00 29 b8 00 8e 99 00 10 2d 1c 5c 31 2a ..cR...*......+.1*..)......-.\1*
22ac0 b4 00 1f 67 52 a7 00 0d 2d 1c 5c 31 2a b4 00 1f 67 52 2d b0 00 00 00 03 00 2b 00 00 00 1e 00 07 ...gR...-.\1*...gR-......+......
22ae0 00 00 00 5c 00 08 00 5d 00 1c 00 5e 00 29 00 5f 00 3d 00 60 00 4a 00 62 00 54 00 64 00 2c 00 00 ...\...]...^.)._.=.`.J.b.T.d.,..
22b00 00 2a 00 04 00 00 00 56 00 2d 00 2e 00 00 00 00 00 56 00 43 00 35 00 01 00 00 00 56 00 94 00 37 .*.....V.-.......V.C.5.....V...7
22b20 00 02 00 08 00 4e 00 95 00 35 00 03 00 31 00 00 00 0a 00 03 fc 00 29 07 00 45 20 09 00 01 00 96 .....N...5...1........)..E......
22b40 00 00 00 02 00 97 50 4b 03 04 0a 00 00 00 00 00 b1 69 d6 3c f5 b4 ca 09 96 09 00 00 96 09 00 00 ......PK.........i.<............
22b60 2e 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 42 6f 75 ....optimization/projections/Bou
22b80 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 ndsProjection.javapackage.optimi
22ba0 7a 61 74 69 6f 6e 2e 70 72 6f 6a 65 63 74 69 6f 6e 73 3b 0a 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 zation.projections;...import.jav
22bc0 61 2e 75 74 69 6c 2e 52 61 6e 64 6f 6d 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 a.util.Random;..import.optimizat
22be0 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d ion.util.MathUtils;.import.optim
22c00 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 72 69 78 4f 75 74 70 75 74 3b 0a 0a 2f 2a 2a 0a ization.util.MatrixOutput;../**.
22c20 20 2a 20 49 6d 70 6c 65 6d 65 6e 74 73 20 61 20 70 72 6f 6a 65 63 74 69 6f 6e 20 69 6e 74 6f 20 .*.Implements.a.projection.into.
22c40 61 20 62 6f 78 20 73 65 74 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 61 6e 64 20 62 2e 0a 20 2a a.box.set.defined.by.a.and.b...*
22c60 20 49 66 20 65 69 74 68 65 72 20 61 20 6f 72 20 62 20 61 72 65 20 69 6e 66 69 6e 69 74 79 20 74 .If.either.a.or.b.are.infinity.t
22c80 68 65 6e 20 74 68 61 74 20 62 6f 75 6e 64 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 20 2a 20 40 61 hen.that.bound.is.ignored...*.@a
22ca0 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 42 uthor.javg..*..*/.public.class.B
22cc0 6f 75 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 50 72 6f 6a 65 63 74 69 oundsProjection.extends.Projecti
22ce0 6f 6e 7b 0a 0a 09 64 6f 75 62 6c 65 20 61 2c 62 3b 0a 09 62 6f 6f 6c 65 61 6e 20 69 67 6e 6f 72 on{...double.a,b;..boolean.ignor
22d00 65 41 20 3d 20 66 61 6c 73 65 3b 0a 09 62 6f 6f 6c 65 61 6e 20 69 67 6e 6f 72 65 42 20 3d 20 66 eA.=.false;..boolean.ignoreB.=.f
22d20 61 6c 73 65 3b 0a 09 70 75 62 6c 69 63 20 42 6f 75 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e 28 64 alse;..public.BoundsProjection(d
22d40 6f 75 62 6c 65 20 6c 6f 77 65 72 42 6f 75 6e 64 2c 20 64 6f 75 62 6c 65 20 75 70 70 65 72 42 6f ouble.lowerBound,.double.upperBo
22d60 75 6e 64 29 20 7b 0a 09 09 69 66 28 44 6f 75 62 6c 65 2e 69 73 49 6e 66 69 6e 69 74 65 28 6c 6f und).{...if(Double.isInfinite(lo
22d80 77 65 72 42 6f 75 6e 64 29 29 7b 0a 09 09 09 74 68 69 73 2e 69 67 6e 6f 72 65 41 20 3d 20 74 72 werBound)){....this.ignoreA.=.tr
22da0 75 65 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 74 68 69 73 2e 61 20 3d 6c 6f 77 65 72 42 6f 75 ue;...}else{....this.a.=lowerBou
22dc0 6e 64 3b 0a 09 09 7d 0a 09 09 69 66 28 44 6f 75 62 6c 65 2e 69 73 49 6e 66 69 6e 69 74 65 28 75 nd;...}...if(Double.isInfinite(u
22de0 70 70 65 72 42 6f 75 6e 64 29 29 7b 0a 09 09 09 74 68 69 73 2e 69 67 6e 6f 72 65 42 20 3d 20 74 pperBound)){....this.ignoreB.=.t
22e00 72 75 65 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 74 68 69 73 2e 62 20 3d 75 70 70 65 72 42 6f rue;...}else{....this.b.=upperBo
22e20 75 6e 64 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 0a 09 0a 09 2f 2a 2a 0a 09 2a 20 50 72 6f 6a 65 63 und;...}..}......../**..*.Projec
22e40 74 73 20 69 6e 74 6f 20 74 68 65 20 62 6f 75 6e 64 73 0a 09 2a 20 61 20 3c 3d 20 78 5f 69 20 3c ts.into.the.bounds..*.a.<=.x_i.<
22e60 3d 62 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 70 72 6f 6a 65 63 74 28 64 6f 75 =b...*/..public.void.project(dou
22e80 62 6c 65 5b 5d 20 6f 72 69 67 69 6e 61 6c 29 7b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 ble[].original){...for.(int.i.=.
22ea0 30 3b 20 69 20 3c 20 6f 72 69 67 69 6e 61 6c 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 0;.i.<.original.length;.i++).{..
22ec0 09 09 69 66 28 21 69 67 6e 6f 72 65 41 20 26 26 20 6f 72 69 67 69 6e 61 6c 5b 69 5d 20 3c 20 61 ..if(!ignoreA.&&.original[i].<.a
22ee0 29 7b 0a 09 09 09 09 6f 72 69 67 69 6e 61 6c 5b 69 5d 20 3d 20 61 3b 0a 09 09 09 7d 65 6c 73 65 ){.....original[i].=.a;....}else
22f00 20 69 66 28 21 69 67 6e 6f 72 65 42 20 26 26 20 6f 72 69 67 69 6e 61 6c 5b 69 5d 3e 62 29 7b 0a .if(!ignoreB.&&.original[i]>b){.
22f20 09 09 09 09 6f 72 69 67 69 6e 61 6c 5b 69 5d 3d 62 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 09 ....original[i]=b;....}...}..}..
22f40 0a 09 2f 2a 2a 0a 09 20 2a 20 47 65 6e 65 72 61 74 65 73 20 61 20 72 61 6e 64 6f 6d 20 6e 75 6d ../**...*.Generates.a.random.num
22f60 62 65 72 20 62 65 74 77 65 65 6e 20 61 20 61 6e 64 20 62 2e 0a 09 20 2a 2f 0a 0a 09 52 61 6e 64 ber.between.a.and.b....*/...Rand
22f80 6f 6d 20 72 20 3d 20 6e 65 77 20 52 61 6e 64 6f 6d 28 29 3b 0a 09 0a 09 70 75 62 6c 69 63 20 64 om.r.=.new.Random();....public.d
22fa0 6f 75 62 6c 65 5b 5d 20 73 61 6d 70 6c 65 50 6f 69 6e 74 28 69 6e 74 20 6e 75 6d 50 61 72 61 6d ouble[].samplePoint(int.numParam
22fc0 73 29 20 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 70 6f 69 6e 74 20 3d 20 6e 65 77 20 64 6f 75 62 s).{...double[].point.=.new.doub
22fe0 6c 65 5b 6e 75 6d 50 61 72 61 6d 73 5d 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b le[numParams];...for.(int.i.=.0;
23000 20 69 20 3c 20 70 6f 69 6e 74 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 64 6f 75 .i.<.point.length;.i++).{....dou
23020 62 6c 65 20 72 61 6e 64 20 3d 20 72 2e 6e 65 78 74 44 6f 75 62 6c 65 28 29 3b 0a 09 09 09 69 66 ble.rand.=.r.nextDouble();....if
23040 28 69 67 6e 6f 72 65 41 20 26 26 20 69 67 6e 6f 72 65 42 29 7b 0a 09 09 09 09 2f 2f 55 73 65 20 (ignoreA.&&.ignoreB){.....//Use.
23060 63 6f 6e 73 74 20 74 6f 20 61 76 6f 69 64 20 6e 75 6d 62 65 72 20 6e 65 61 72 20 6f 76 65 72 66 const.to.avoid.number.near.overf
23080 6c 6f 77 0a 09 09 09 09 70 6f 69 6e 74 5b 69 5d 20 3d 20 72 61 6e 64 2a 28 31 2e 45 31 30 30 2b low.....point[i].=.rand*(1.E100+
230a0 31 2e 45 31 30 30 29 2d 31 2e 45 31 30 30 3b 0a 09 09 09 7d 65 6c 73 65 20 69 66 28 69 67 6e 6f 1.E100)-1.E100;....}else.if(igno
230c0 72 65 41 29 7b 0a 09 09 09 09 70 6f 69 6e 74 5b 69 5d 20 3d 20 72 61 6e 64 2a 28 62 2d 31 2e 45 reA){.....point[i].=.rand*(b-1.E
230e0 31 30 30 29 2d 31 2e 45 31 30 30 3b 0a 09 09 09 7d 65 6c 73 65 20 69 66 28 69 67 6e 6f 72 65 42 100)-1.E100;....}else.if(ignoreB
23100 29 7b 0a 09 09 09 09 70 6f 69 6e 74 5b 69 5d 20 3d 20 72 61 6e 64 2a 28 31 2e 45 31 30 30 2d 61 ){.....point[i].=.rand*(1.E100-a
23120 29 2d 61 3b 0a 09 09 09 7d 65 6c 73 65 7b 0a 09 09 09 09 70 6f 69 6e 74 5b 69 5d 20 3d 20 72 61 )-a;....}else{.....point[i].=.ra
23140 6e 64 2a 28 62 2d 61 29 2d 61 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 70 6f nd*(b-a)-a;....}...}...return.po
23160 69 6e 74 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 61 int;..}....public.static.void.ma
23180 69 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 73 29 20 7b 0a 09 09 42 6f 75 6e 64 73 50 72 6f 6a in(String[].args).{...BoundsProj
231a0 65 63 74 69 6f 6e 20 73 70 20 3d 20 6e 65 77 20 42 6f 75 6e 64 73 50 72 6f 6a 65 63 74 69 6f 6e ection.sp.=.new.BoundsProjection
231c0 28 30 2c 44 6f 75 62 6c 65 2e 50 4f 53 49 54 49 56 45 5f 49 4e 46 49 4e 49 54 59 29 3b 0a 09 09 (0,Double.POSITIVE_INFINITY);...
231e0 0a 09 09 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 ......MatrixOutput.printDoubleAr
23200 72 61 79 28 73 70 2e 73 61 6d 70 6c 65 50 6f 69 6e 74 28 33 29 2c 20 22 72 61 6e 64 6f 6d 20 31 ray(sp.samplePoint(3),."random.1
23220 22 29 3b 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 ");...MatrixOutput.printDoubleAr
23240 72 61 79 28 73 70 2e 73 61 6d 70 6c 65 50 6f 69 6e 74 28 33 29 2c 20 22 72 61 6e 64 6f 6d 20 32 ray(sp.samplePoint(3),."random.2
23260 22 29 3b 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 ");...MatrixOutput.printDoubleAr
23280 72 61 79 28 73 70 2e 73 61 6d 70 6c 65 50 6f 69 6e 74 28 33 29 2c 20 22 72 61 6e 64 6f 6d 20 33 ray(sp.samplePoint(3),."random.3
232a0 22 29 3b 0a 09 09 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 64 20 3d 20 7b 2d 31 2e 31 2c 31 2e 32 2c ");......double[].d.=.{-1.1,1.2,
232c0 31 2e 34 7d 3b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 6f 72 69 67 69 6e 61 6c 20 3d 20 64 2e 63 6c 1.4};...double[].original.=.d.cl
232e0 6f 6e 65 28 29 3b 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c one();...MatrixOutput.printDoubl
23300 65 41 72 72 61 79 28 64 2c 20 22 62 65 66 6f 72 65 22 29 3b 0a 09 09 0a 09 09 73 70 2e 70 72 6f eArray(d,."before");......sp.pro
23320 6a 65 63 74 28 64 29 3b 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 ject(d);...MatrixOutput.printDou
23340 62 6c 65 41 72 72 61 79 28 64 2c 20 22 61 66 74 65 72 22 29 3b 0a 09 09 53 79 73 74 65 6d 2e 6f bleArray(d,."after");...System.o
23360 75 74 2e 70 72 69 6e 74 6c 6e 28 22 54 65 73 74 20 70 72 6f 6a 65 63 74 69 6f 6e 3a 20 22 20 2b ut.println("Test.projection:.".+
23380 20 73 70 2e 74 65 73 74 50 72 6f 6a 65 63 74 69 6f 6e 28 6f 72 69 67 69 6e 61 6c 2c 20 64 29 29 .sp.testProjection(original,.d))
233a0 3b 0a 09 7d 0a 09 0a 09 64 6f 75 62 6c 65 20 65 70 73 69 6c 6f 6e 20 3d 20 31 2e 45 2d 31 30 3b ;..}....double.epsilon.=.1.E-10;
233c0 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d 20 70 65 72 74 75 72 62 65 50 6f 69 6e 74 28 ..public.double[].perturbePoint(
233e0 64 6f 75 62 6c 65 5b 5d 20 70 6f 69 6e 74 2c 20 69 6e 74 20 70 61 72 61 6d 65 74 65 72 29 7b 0a double[].point,.int.parameter){.
23400 09 09 64 6f 75 62 6c 65 5b 5d 20 6e 65 77 50 6f 69 6e 74 20 3d 20 70 6f 69 6e 74 2e 63 6c 6f 6e ..double[].newPoint.=.point.clon
23420 65 28 29 3b 0a 09 09 69 66 28 21 69 67 6e 6f 72 65 41 20 26 26 20 4d 61 74 68 55 74 69 6c 73 2e e();...if(!ignoreA.&&.MathUtils.
23440 61 6c 6d 6f 73 74 28 70 6f 69 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 2c 20 61 29 29 7b 0a 09 09 almost(point[parameter],.a)){...
23460 09 6e 65 77 50 6f 69 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 2b 3d 65 70 73 69 6c 6f 6e 3b 0a 09 .newPoint[parameter]+=epsilon;..
23480 09 7d 65 6c 73 65 20 69 66 28 21 69 67 6e 6f 72 65 42 20 26 26 20 4d 61 74 68 55 74 69 6c 73 2e .}else.if(!ignoreB.&&.MathUtils.
234a0 61 6c 6d 6f 73 74 28 70 6f 69 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 2c 20 62 29 29 7b 0a 09 09 almost(point[parameter],.b)){...
234c0 09 6e 65 77 50 6f 69 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 2d 3d 65 70 73 69 6c 6f 6e 3b 0a 09 .newPoint[parameter]-=epsilon;..
234e0 09 7d 65 6c 73 65 7b 0a 09 09 09 6e 65 77 50 6f 69 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 2d 3d .}else{....newPoint[parameter]-=
23500 65 70 73 69 6c 6f 6e 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 6e 65 77 50 6f 69 6e 74 3b 0a epsilon;...}...return.newPoint;.
23520 09 7d 0a 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 2e eb ea cd 61 0c 00 00 61 0c .}....}.PK.........Y.<....a...a.
23540 00 00 30 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 53 ..0...optimization/projections/S
23560 69 6d 70 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 a0 implexProjection.class.......2..
23580 07 00 02 01 00 2a 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 53 .....*optimization/projections/S
235a0 69 6d 70 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 07 00 04 01 00 23 6f 70 74 69 6d 69 7a 61 74 69 implexProjection.....#optimizati
235c0 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 01 00 05 73 63 61 6c on/projections/Projection...scal
235e0 65 01 00 01 44 01 00 01 72 01 00 12 4c 6a 61 76 61 2f 75 74 69 6c 2f 52 61 6e 64 6f 6d 3b 01 00 e...D...r...Ljava/util/Random;..
23600 07 65 70 73 69 6c 6f 6e 01 00 06 3c 69 6e 69 74 3e 01 00 04 28 44 29 56 01 00 04 43 6f 64 65 0a .epsilon...<init>...(D)V...Code.
23620 00 03 00 0e 0c 00 0a 00 0f 01 00 03 28 29 56 07 00 11 01 00 10 6a 61 76 61 2f 75 74 69 6c 2f 52 ............()V......java/util/R
23640 61 6e 64 6f 6d 0a 00 10 00 0e 09 00 01 00 14 0c 00 07 00 08 06 3d db 7c df d9 d7 bd bb 09 00 01 andom................=.|........
23660 00 18 0c 00 09 00 06 09 00 01 00 1a 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 ....................LineNumberTa
23680 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 ble...LocalVariableTable...this.
236a0 00 2c 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 53 69 6d 70 .,Loptimization/projections/Simp
236c0 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 3b 01 00 07 70 72 6f 6a 65 63 74 01 00 05 28 5b 44 29 56 lexProjection;...project...([D)V
236e0 0a 00 22 00 24 07 00 23 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 25 00 26 ..".$..#...java/lang/System..%.&
23700 01 00 09 61 72 72 61 79 63 6f 70 79 01 00 2a 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 ...arraycopy..*(Ljava/lang/Objec
23720 74 3b 49 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 49 29 56 0a 00 28 00 2a 07 00 t;ILjava/lang/Object;II)V..(.*..
23740 29 01 00 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c )...optimization/util/MathUtils.
23760 00 2b 00 2c 01 00 03 73 75 6d 01 00 05 28 5b 44 29 44 06 bd db 7c df d9 d7 bd bb 0a 00 30 00 32 .+.,...sum...([D)D...|.......0.2
23780 07 00 31 01 00 0a 75 74 69 6c 2f 41 72 72 61 79 0c 00 33 00 20 01 00 0e 73 6f 72 74 44 65 73 63 ..1...util/Array..3.....sortDesc
237a0 65 6e 64 69 6e 67 09 00 22 00 35 0c 00 36 00 37 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 ending..".5..6.7...out...Ljava/i
237c0 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 00 39 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 o/PrintStream;..9...java/lang/St
237e0 72 69 6e 67 42 75 69 6c 64 65 72 08 00 3b 01 00 2f 53 69 6d 70 6c 65 20 50 72 6f 6a 65 63 74 69 ringBuilder..;../Simple.Projecti
23800 6f 6e 3a 20 54 68 65 74 61 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 7a 65 72 6f 3a 20 on:.Theta.is.smaller.than.zero:.
23820 0a 00 38 00 3d 0c 00 0a 00 3e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b ..8.=....>...(Ljava/lang/String;
23840 29 56 0a 00 38 00 40 0c 00 41 00 42 01 00 06 61 70 70 65 6e 64 01 00 1c 28 44 29 4c 6a 61 76 61 )V..8.@..A.B...append...(D)Ljava
23860 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 38 00 44 0c 00 45 00 46 01 00 /lang/StringBuilder;..8.D..E.F..
23880 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b .toString...()Ljava/lang/String;
238a0 0a 00 48 00 4a 07 00 49 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 ..H.J..I...java/io/PrintStream..
238c0 4b 00 3e 01 00 07 70 72 69 6e 74 6c 6e 0a 00 22 00 4d 0c 00 4e 00 4f 01 00 04 65 78 69 74 01 00 K.>...println..".M..N.O...exit..
238e0 04 28 49 29 56 0a 00 51 00 53 07 00 52 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 68 0c 00 .(I)V..Q.S..R...java/lang/Math..
23900 54 00 55 01 00 03 6d 61 78 01 00 05 28 44 44 29 44 01 00 08 6f 72 69 67 69 6e 61 6c 01 00 02 5b T.U...max...(DD)D...original...[
23920 44 01 00 02 64 73 01 00 01 69 01 00 01 49 01 00 0a 63 75 72 72 65 6e 74 53 75 6d 01 00 0d 70 72 D...ds...i...I...currentSum...pr
23940 65 76 69 6f 75 73 54 68 65 74 61 01 00 05 74 68 65 74 61 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 eviousTheta...theta...StackMapTa
23960 62 6c 65 07 00 57 01 00 0b 73 61 6d 70 6c 65 50 6f 69 6e 74 01 00 05 28 49 29 5b 44 0a 00 10 00 ble..W...samplePoint...(I)[D....
23980 63 0c 00 64 00 65 01 00 0a 6e 65 78 74 44 6f 75 62 6c 65 01 00 03 28 29 44 01 00 0a 64 69 6d 65 c..d.e...nextDouble...()D...dime
239a0 6e 73 69 6f 6e 73 01 00 08 6e 65 77 50 6f 69 6e 74 01 00 04 72 61 6e 64 01 00 04 6d 61 69 6e 01 nsions...newPoint...rand...main.
239c0 00 16 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 01 00 6c 0c 00 0a ..([Ljava/lang/String;)V....l...
239e0 00 0b 0a 00 01 00 6e 0c 00 60 00 61 08 00 70 01 00 0d 72 61 6e 64 6f 6d 20 31 20 73 75 6d 3a 0a ......n..`.a..p...random.1.sum:.
23a00 00 72 00 74 07 00 73 01 00 1e 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 72 .r.t..s...optimization/util/Matr
23a20 69 78 4f 75 74 70 75 74 0c 00 75 00 76 01 00 10 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 ixOutput..u.v...printDoubleArray
23a40 01 00 17 28 5b 44 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 08 00 78 01 00 0d ...([DLjava/lang/String;)V..x...
23a60 72 61 6e 64 6f 6d 20 32 20 73 75 6d 3a 08 00 7a 01 00 0d 72 61 6e 64 6f 6d 20 33 20 73 75 6d 3a random.2.sum:..z...random.3.sum:
23a80 06 3f f1 99 99 99 99 99 9a 06 c0 24 00 00 00 00 00 00 0a 00 5f 00 80 0c 00 81 00 82 01 00 05 63 .?.........$........_..........c
23aa0 6c 6f 6e 65 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 08 00 84 01 00 lone...()Ljava/lang/Object;.....
23ac0 06 62 65 66 6f 72 65 0a 00 01 00 86 0c 00 1f 00 20 08 00 88 01 00 05 61 66 74 65 72 08 00 8a 01 .before................after....
23ae0 00 11 54 65 73 74 20 70 72 6f 6a 65 63 74 69 6f 6e 3a 20 0a 00 01 00 8c 0c 00 8d 00 8e 01 00 0e ..Test.projection:..............
23b00 74 65 73 74 50 72 6f 6a 65 63 74 69 6f 6e 01 00 07 28 5b 44 5b 44 29 5a 0a 00 38 00 90 0c 00 41 testProjection...([D[D)Z..8....A
23b20 00 91 01 00 1c 28 5a 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 .....(Z)Ljava/lang/StringBuilder
23b40 3b 01 00 04 61 72 67 73 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 ;...args...[Ljava/lang/String;..
23b60 02 73 70 01 00 05 70 6f 69 6e 74 01 00 01 64 01 00 0d 70 65 72 74 75 72 62 65 50 6f 69 6e 74 01 .sp...point...d...perturbePoint.
23b80 00 07 28 5b 44 49 29 5b 44 0a 00 28 00 9a 0c 00 9b 00 9c 01 00 06 61 6c 6d 6f 73 74 01 00 05 28 ..([DI)[D..(..........almost...(
23ba0 44 44 29 5a 01 00 09 70 61 72 61 6d 65 74 65 72 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 16 DD)Z...parameter...SourceFile...
23bc0 53 69 6d 70 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 03 SimplexProjection.java.!........
23be0 00 00 00 05 00 06 00 00 00 00 00 07 00 08 00 00 00 00 00 09 00 06 00 00 00 05 00 01 00 0a 00 0b ................................
23c00 00 01 00 0c 00 00 00 60 00 03 00 03 00 00 00 1c 2a b7 00 0d 2a bb 00 10 59 b7 00 12 b5 00 13 2a .......`........*...*...Y......*
23c20 14 00 15 b5 00 17 2a 27 b5 00 19 b1 00 00 00 02 00 1b 00 00 00 16 00 05 00 00 00 0d 00 04 00 46 ......*'.......................F
23c40 00 0f 00 6e 00 16 00 0e 00 1b 00 0f 00 1c 00 00 00 16 00 02 00 00 00 1c 00 1d 00 1e 00 00 00 00 ...n............................
23c60 00 1c 00 05 00 06 00 01 00 01 00 1f 00 20 00 01 00 0c 00 00 02 24 00 06 00 0c 00 00 00 d4 2b be .....................$........+.
23c80 bc 07 4d 2b 03 2c 03 2c be b8 00 21 03 3e a7 00 18 2c 1d 2c 1d 31 0e 97 9e 00 09 2c 1d 31 a7 00 ..M+.,.,...!.>...,.,.1.....,.1..
23ca0 04 0e 52 84 03 01 1d 2c be a1 ff e8 2c b8 00 27 4a 2a b4 00 19 29 67 14 00 2d 97 9b 00 0d 2c 03 ..R....,....,..'J*...)g..-....,.
23cc0 2b 03 2c be b8 00 21 b1 2c b8 00 2f 0e 39 05 0e 39 07 0e 39 09 03 36 0b a7 00 31 18 05 2c 15 0b +.,...!.,../.9..9..9..6...1..,..
23ce0 31 63 39 05 18 05 2a b4 00 19 67 15 0b 04 60 87 6f 39 09 2c 15 0b 31 18 09 67 0e 98 9d 00 06 a7 1c9...*...g...`.o9.,..1..g......
23d00 00 11 18 09 39 07 84 0b 01 15 0b 2c be a1 ff ce 18 07 0e 98 9c 00 1e b2 00 34 bb 00 38 59 12 3a ....9......,.............4..8Y.:
23d20 b7 00 3c 18 07 b6 00 3f b6 00 43 b6 00 47 02 b8 00 4c 03 36 0b a7 00 15 2b 15 0b 2b 15 0b 31 18 ..<....?..C..G...L.6....+..+..1.
23d40 07 67 0e b8 00 50 52 84 0b 01 15 0b 2b be a1 ff ea b1 00 00 00 03 00 1b 00 00 00 66 00 19 00 00 .g...PR.....+..............f....
23d60 00 19 00 05 00 1a 00 0e 00 1c 00 2e 00 1d 00 33 00 1e 00 40 00 1f 00 49 00 21 00 4a 00 24 00 4e ...............3...@...I.!.J.$.N
23d80 00 25 00 51 00 26 00 54 00 27 00 57 00 28 00 5d 00 29 00 66 00 2a 00 75 00 2b 00 81 00 2c 00 84 .%.Q.&.T.'.W.(.].).f.*.u.+...,..
23da0 00 2e 00 88 00 28 00 92 00 31 00 99 00 32 00 b0 00 33 00 b4 00 35 00 ba 00 36 00 c9 00 35 00 d3 .....(...1...2...3...5...6...5..
23dc0 00 38 00 1c 00 00 00 66 00 0a 00 00 00 d4 00 1d 00 1e 00 00 00 00 00 d4 00 56 00 57 00 01 00 05 .8.....f.................V.W....
23de0 00 cf 00 58 00 57 00 02 00 10 00 1e 00 59 00 5a 00 03 00 33 00 a1 00 2b 00 06 00 03 00 51 00 83 ...X.W.......Y.Z...3...+.....Q..
23e00 00 5b 00 06 00 05 00 54 00 80 00 5c 00 06 00 07 00 57 00 7d 00 5d 00 06 00 09 00 5a 00 38 00 59 .[.....T...\.....W.}.].....Z.8.Y
23e20 00 5a 00 0b 00 b7 00 1c 00 59 00 5a 00 0b 00 5e 00 00 00 66 00 0c fd 00 13 07 00 5f 01 ff 00 0f .Z.......Y.Z...^...f......._....
23e40 00 04 07 00 01 07 00 5f 07 00 5f 01 00 02 07 00 5f 01 ff 00 00 00 04 07 00 01 07 00 5f 07 00 5f ......._.._....._..........._.._
23e60 01 00 03 07 00 5f 01 03 03 ff 00 21 00 04 07 00 01 07 00 5f 07 00 5f 03 00 00 ff 00 12 00 08 07 ....._.....!......._.._.........
23e80 00 01 07 00 5f 07 00 5f 03 03 03 03 01 00 00 26 06 fa 00 06 21 fc 00 05 01 11 00 01 00 60 00 61 ...._.._.......&....!........`.a
23ea0 00 01 00 0c 00 00 01 01 00 06 00 08 00 00 00 59 1b bc 07 4d 0e 4a 03 36 05 a7 00 1f 2a b4 00 13 ...............Y...M.J.6....*...
23ec0 b6 00 62 2a b4 00 19 6b 39 06 29 18 06 63 4a 2c 15 05 18 06 52 84 05 01 15 05 2c be a1 ff e0 29 ..b*...k9.)..cJ,....R.....,....)
23ee0 2a b4 00 19 97 9e 00 22 03 36 05 a7 00 15 2c 15 05 2a b4 00 19 2c 15 05 31 6b 29 6f 52 84 05 01 *......".6....,..*...,..1k)oR...
23f00 15 05 2c be a1 ff ea 2c b0 00 00 00 03 00 1b 00 00 00 32 00 0c 00 00 00 48 00 04 00 49 00 06 00 ..,....,..........2.....H...I...
23f20 4a 00 0c 00 4b 00 1a 00 4c 00 1f 00 4d 00 25 00 4a 00 2f 00 50 00 38 00 51 00 3e 00 52 00 4d 00 J...K...L...M.%.J./.P.8.Q.>.R.M.
23f40 51 00 57 00 55 00 1c 00 00 00 48 00 07 00 00 00 59 00 1d 00 1e 00 00 00 00 00 59 00 66 00 5a 00 Q.W.U.....H.....Y.........Y.f.Z.
23f60 01 00 04 00 55 00 67 00 57 00 02 00 06 00 53 00 2b 00 06 00 03 00 09 00 26 00 59 00 5a 00 05 00 ....U.g.W.....S.+.......&.Y.Z...
23f80 1a 00 0b 00 68 00 06 00 06 00 3b 00 1c 00 59 00 5a 00 05 00 5e 00 00 00 10 00 05 fe 00 0c 07 00 ....h.....;...Y.Z...^...........
23fa0 5f 03 01 1b 15 11 fa 00 06 00 09 00 69 00 6a 00 01 00 0c 00 00 01 31 00 05 00 05 00 00 00 ab bb _...........i.j.......1.........
23fc0 00 01 59 0f b7 00 6b 4c 2b 06 b6 00 6d 4d 2c bb 00 38 59 12 6f b7 00 3c 2c b8 00 27 b6 00 3f b6 ..Y...kL+...mM,..8Y.o..<,..'..?.
23fe0 00 43 b8 00 71 2b 06 b6 00 6d 4d 2c bb 00 38 59 12 77 b7 00 3c 2c b8 00 27 b6 00 3f b6 00 43 b8 .C..q+...mM,..8Y.w..<,..'..?..C.
24000 00 71 2b 06 b6 00 6d 4d 2c bb 00 38 59 12 79 b7 00 3c 2c b8 00 27 b6 00 3f b6 00 43 b8 00 71 06 .q+...mM,..8Y.y..<,..'..?..C..q.
24020 bc 07 59 03 0e 52 59 04 14 00 7b 52 59 05 14 00 7d 52 4e 2d b6 00 7f c0 00 5f 3a 04 2d 12 83 b8 ..Y..RY...{RY...}RN-....._:.-...
24040 00 71 2b 2d b6 00 85 2d 12 87 b8 00 71 b2 00 34 bb 00 38 59 12 89 b7 00 3c 2b 19 04 2d b6 00 8b .q+-...-....q..4..8Y....<+..-...
24060 b6 00 8f b6 00 43 b6 00 47 b1 00 00 00 02 00 1b 00 00 00 3a 00 0e 00 00 00 59 00 09 00 5c 00 0f .....C..G..........:.....Y...\..
24080 00 5d 00 26 00 5e 00 2c 00 5f 00 43 00 60 00 49 00 61 00 60 00 63 00 74 00 64 00 7d 00 65 00 83 .].&.^.,._.C.`.I.a.`.c.t.d.}.e..
240a0 00 67 00 88 00 68 00 8e 00 69 00 aa 00 6b 00 1c 00 00 00 34 00 05 00 00 00 ab 00 92 00 93 00 00 .g...h...i...k.....4............
240c0 00 09 00 a2 00 94 00 1e 00 01 00 0f 00 9c 00 95 00 57 00 02 00 74 00 37 00 96 00 57 00 03 00 7d .................W...t.7...W...}
240e0 00 2e 00 56 00 57 00 04 00 01 00 97 00 98 00 01 00 0c 00 00 00 d7 00 06 00 04 00 00 00 5e 2b b6 ...V.W.......................^+.
24100 00 7f c0 00 5f 4e 2b b8 00 27 2a b4 00 19 b8 00 99 99 00 10 2d 1c 5c 31 2a b4 00 17 67 52 a7 00 ...._N+..'*.........-.\1*...gR..
24120 3c 2b 1c 31 0e 97 9a 00 10 2d 1c 5c 31 2a b4 00 17 63 52 a7 00 27 2b 1c 31 2a b4 00 19 b8 00 99 <+.1.....-.\1*...cR..'+.1*......
24140 99 00 10 2d 1c 5c 31 2a b4 00 17 67 52 a7 00 0d 2d 1c 5c 31 2a b4 00 17 67 52 2d b0 00 00 00 03 ...-.\1*...gR...-.\1*...gR-.....
24160 00 1b 00 00 00 26 00 09 00 00 00 70 00 08 00 71 00 16 00 72 00 23 00 74 00 2b 00 75 00 38 00 76 .....&.....p...q...r.#.t.+.u.8.v
24180 00 45 00 77 00 52 00 7a 00 5c 00 7c 00 1c 00 00 00 2a 00 04 00 00 00 5e 00 1d 00 1e 00 00 00 00 .E.w.R.z.\.|.....*.....^........
241a0 00 5e 00 95 00 57 00 01 00 00 00 5e 00 9d 00 5a 00 02 00 08 00 56 00 67 00 57 00 03 00 5e 00 00 .^...W.....^...Z.....V.g.W...^..
241c0 00 0b 00 04 fc 00 23 07 00 5f 14 19 09 00 01 00 9e 00 00 00 02 00 9f 50 4b 03 04 0a 00 00 00 00 ......#.._.............PK.......
241e0 00 b1 69 d6 3c e3 8c ca 14 0e 0d 00 00 0e 0d 00 00 2f 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f ..i.<............/...optimizatio
24200 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 53 69 6d 70 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 2e n/projections/SimplexProjection.
24220 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 70 72 6f 6a 65 63 74 javapackage.optimization.project
24240 69 6f 6e 73 3b 0a 0a 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 52 61 6e 64 6f 6d ions;....import.java.util.Random
24260 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 ;..import.optimization.util.Math
24280 55 74 69 6c 73 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e Utils;.import.optimization.util.
242a0 4d 61 74 72 69 78 4f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 53 69 6d 70 MatrixOutput;..public.class.Simp
242c0 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 50 72 6f 6a 65 63 74 69 6f 6e lexProjection.extends.Projection
242e0 7b 0a 0a 09 64 6f 75 62 6c 65 20 73 63 61 6c 65 3b 0a 09 70 75 62 6c 69 63 20 53 69 6d 70 6c 65 {...double.scale;..public.Simple
24300 78 50 72 6f 6a 65 63 74 69 6f 6e 28 64 6f 75 62 6c 65 20 73 63 61 6c 65 29 20 7b 0a 09 09 74 68 xProjection(double.scale).{...th
24320 69 73 2e 73 63 61 6c 65 20 3d 20 73 63 61 6c 65 3b 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 is.scale.=.scale;..}..../**...*.
24340 70 72 6f 6a 65 63 74 73 20 74 68 65 20 6e 75 6d 62 65 72 73 20 6f 66 20 74 68 65 20 61 72 72 61 projects.the.numbers.of.the.arra
24360 79 20 0a 09 20 2a 20 69 6e 74 6f 20 61 20 73 69 6d 70 6c 65 78 20 6f 66 20 73 69 7a 65 2e 20 0a y....*.into.a.simplex.of.size...
24380 09 20 2a 20 57 65 20 66 6f 6c 6c 6f 77 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 ..*.We.follow.the.description.of
243a0 20 74 68 65 20 70 61 70 65 72 0a 09 20 2a 20 22 45 66 66 69 63 69 65 6e 74 20 50 72 6f 6a 65 74 .the.paper...*."Efficient.Projet
243c0 69 6f 6e 73 20 6f 6e 74 6f 20 74 68 65 20 6c 31 2d 42 61 6c 6c 0a 09 20 2a 20 66 6f 72 20 6c 65 ions.onto.the.l1-Ball...*.for.le
243e0 61 72 6e 69 6e 67 20 69 6e 20 68 69 67 68 20 64 69 6d 65 6e 73 69 6f 6e 73 22 0a 09 20 2a 2f 0a arning.in.high.dimensions"...*/.
24400 09 70 75 62 6c 69 63 20 76 6f 69 64 20 70 72 6f 6a 65 63 74 28 64 6f 75 62 6c 65 5b 5d 20 6f 72 .public.void.project(double[].or
24420 69 67 69 6e 61 6c 29 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 64 73 20 3d 20 6e 65 77 20 64 6f 75 iginal){...double[].ds.=.new.dou
24440 62 6c 65 5b 6f 72 69 67 69 6e 61 6c 2e 6c 65 6e 67 74 68 5d 3b 0a 09 09 53 79 73 74 65 6d 2e 61 ble[original.length];...System.a
24460 72 72 61 79 63 6f 70 79 28 6f 72 69 67 69 6e 61 6c 2c 20 30 2c 20 64 73 2c 20 30 2c 20 64 73 2e rraycopy(original,.0,.ds,.0,.ds.
24480 6c 65 6e 67 74 68 29 3b 0a 09 09 2f 2f 49 66 20 73 75 6d 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 length);...//If.sum.is.smaller.t
244a0 68 65 6e 20 7a 65 72 6f 20 74 68 65 6e 20 69 74 73 20 6f 6b 0a 09 09 66 6f 72 20 28 69 6e 74 20 hen.zero.then.its.ok...for.(int.
244c0 69 20 3d 20 30 3b 20 69 20 3c 20 64 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 64 73 5b 69 5d i.=.0;.i.<.ds.length;.i++).ds[i]
244e0 20 3d 20 64 73 5b 69 5d 3e 30 3f 20 64 73 5b 69 5d 3a 30 3b 0a 09 09 64 6f 75 62 6c 65 20 73 75 .=.ds[i]>0?.ds[i]:0;...double.su
24500 6d 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 73 75 6d 28 64 73 29 3b 0a 09 09 69 66 20 28 73 63 61 m.=.MathUtils.sum(ds);...if.(sca
24520 6c 65 20 2d 20 73 75 6d 20 3e 3d 20 20 2d 31 2e 45 2d 31 30 20 29 7b 0a 09 09 09 53 79 73 74 65 le.-.sum.>=..-1.E-10.){....Syste
24540 6d 2e 61 72 72 61 79 63 6f 70 79 28 64 73 2c 20 30 2c 20 6f 72 69 67 69 6e 61 6c 2c 20 30 2c 20 m.arraycopy(ds,.0,.original,.0,.
24560 64 73 2e 6c 65 6e 67 74 68 29 3b 0a 09 09 09 2f 2f 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e ds.length);....//System.out.prin
24580 74 6c 6e 28 22 4e 6f 74 20 70 72 6f 6a 65 63 74 69 6e 67 22 29 3b 0a 09 09 09 72 65 74 75 72 6e tln("Not.projecting");....return
245a0 3b 0a 09 09 7d 0a 09 09 2f 2f 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 70 72 ;...}...//System.out.println("pr
245c0 6f 6a 65 63 74 69 6e 67 20 22 20 2b 20 73 75 6d 20 2b 20 22 20 73 63 6f 6e 74 72 61 69 6e 74 73 ojecting.".+.sum.+.".scontraints
245e0 20 22 20 2b 20 73 63 61 6c 65 29 3b 09 0a 09 09 75 74 69 6c 2e 41 72 72 61 79 2e 73 6f 72 74 44 .".+.scale);....util.Array.sortD
24600 65 73 63 65 6e 64 69 6e 67 28 64 73 29 3b 0a 09 09 64 6f 75 62 6c 65 20 63 75 72 72 65 6e 74 53 escending(ds);...double.currentS
24620 75 6d 20 3d 20 30 3b 0a 09 09 64 6f 75 62 6c 65 20 70 72 65 76 69 6f 75 73 54 68 65 74 61 20 3d um.=.0;...double.previousTheta.=
24640 20 30 3b 0a 09 09 64 6f 75 62 6c 65 20 74 68 65 74 61 20 3d 20 30 3b 0a 09 09 66 6f 72 20 28 69 .0;...double.theta.=.0;...for.(i
24660 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 64 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a nt.i.=.0;.i.<.ds.length;.i++).{.
24680 09 09 09 63 75 72 72 65 6e 74 53 75 6d 2b 3d 64 73 5b 69 5d 3b 0a 09 09 09 74 68 65 74 61 20 3d ...currentSum+=ds[i];....theta.=
246a0 20 28 63 75 72 72 65 6e 74 53 75 6d 2d 73 63 61 6c 65 29 2f 28 69 2b 31 29 3b 0a 09 09 09 69 66 .(currentSum-scale)/(i+1);....if
246c0 28 64 73 5b 69 5d 2d 74 68 65 74 61 20 3c 3d 20 30 29 7b 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 (ds[i]-theta.<=.0){.....break;..
246e0 09 09 7d 0a 09 09 09 70 72 65 76 69 6f 75 73 54 68 65 74 61 20 3d 20 74 68 65 74 61 3b 0a 09 09 ..}....previousTheta.=.theta;...
24700 7d 0a 09 09 2f 2f 44 45 42 55 47 0a 09 09 69 66 28 70 72 65 76 69 6f 75 73 54 68 65 74 61 20 3c }...//DEBUG...if(previousTheta.<
24720 20 30 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 53 69 6d 70 .0){....System.out.println("Simp
24740 6c 65 20 50 72 6f 6a 65 63 74 69 6f 6e 3a 20 54 68 65 74 61 20 69 73 20 73 6d 61 6c 6c 65 72 20 le.Projection:.Theta.is.smaller.
24760 74 68 61 6e 20 7a 65 72 6f 3a 20 22 20 2b 20 70 72 65 76 69 6f 75 73 54 68 65 74 61 29 3b 0a 09 than.zero:.".+.previousTheta);..
24780 09 09 53 79 73 74 65 6d 2e 65 78 69 74 28 2d 31 29 3b 0a 09 09 7d 0a 09 09 66 6f 72 20 28 69 6e ..System.exit(-1);...}...for.(in
247a0 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6f 72 69 67 69 6e 61 6c 2e 6c 65 6e 67 74 68 3b 20 69 2b t.i.=.0;.i.<.original.length;.i+
247c0 2b 29 20 7b 0a 09 09 09 6f 72 69 67 69 6e 61 6c 5b 69 5d 20 3d 20 4d 61 74 68 2e 6d 61 78 28 6f +).{....original[i].=.Math.max(o
247e0 72 69 67 69 6e 61 6c 5b 69 5d 2d 70 72 65 76 69 6f 75 73 54 68 65 74 61 2c 20 30 29 3b 0a 09 09 riginal[i]-previousTheta,.0);...
24800 7d 0a 09 7d 0a 09 0a 09 0a 09 0a 09 0a 09 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 53 61 6d 70 6c 65 73 }..}............./**...*.Samples
24820 20 61 20 70 6f 69 6e 74 20 66 72 6f 6d 20 74 68 65 20 73 69 6d 70 6c 65 78 20 6f 66 20 73 63 61 .a.point.from.the.simplex.of.sca
24840 6c 65 2e 20 4a 75 73 74 20 73 61 6d 70 6c 65 0a 09 20 2a 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 le..Just.sample...*.random.numbe
24860 72 20 66 72 6f 6d 20 30 2d 73 63 61 6c 65 20 61 6e 64 20 74 68 65 6e 20 69 66 0a 09 20 2a 20 74 r.from.0-scale.and.then.if...*.t
24880 68 65 69 72 20 73 75 6d 20 69 73 20 62 69 67 67 65 72 20 74 68 65 6e 20 73 75 6d 20 6d 61 6b 65 heir.sum.is.bigger.then.sum.make
248a0 20 74 68 65 6d 20 6e 6f 72 6d 61 6c 69 7a 65 2e 0a 09 20 2a 20 54 68 69 73 20 69 73 20 70 72 6f .them.normalize....*.This.is.pro
248c0 62 61 62 6c 79 20 6e 6f 74 20 73 61 6d 70 6c 69 6e 67 20 75 6e 69 66 6f 72 6d 6c 79 20 66 72 6f bably.not.sampling.uniformly.fro
248e0 6d 20 74 68 65 20 73 69 6d 70 6c 65 78 20 62 75 74 20 69 74 20 69 73 0a 09 20 2a 20 65 6e 6f 75 m.the.simplex.but.it.is...*.enou
24900 67 68 20 66 6f 72 20 6f 75 72 20 67 6f 61 6c 73 20 69 6e 20 68 65 72 65 2e 0a 09 20 2a 2f 0a 09 gh.for.our.goals.in.here....*/..
24920 52 61 6e 64 6f 6d 20 72 20 3d 20 6e 65 77 20 52 61 6e 64 6f 6d 28 29 3b 0a 09 70 75 62 6c 69 63 Random.r.=.new.Random();..public
24940 20 64 6f 75 62 6c 65 5b 5d 20 73 61 6d 70 6c 65 50 6f 69 6e 74 28 69 6e 74 20 64 69 6d 65 6e 73 .double[].samplePoint(int.dimens
24960 69 6f 6e 73 29 20 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 6e 65 77 50 6f 69 6e 74 20 3d 20 6e 65 ions).{...double[].newPoint.=.ne
24980 77 20 64 6f 75 62 6c 65 5b 64 69 6d 65 6e 73 69 6f 6e 73 5d 3b 0a 09 09 64 6f 75 62 6c 65 20 73 w.double[dimensions];...double.s
249a0 75 6d 20 3d 30 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 65 77 um.=0;...for.(int.i.=.0;.i.<.new
249c0 50 6f 69 6e 74 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 64 6f 75 62 6c 65 20 72 Point.length;.i++).{....double.r
249e0 61 6e 64 20 3d 20 72 2e 6e 65 78 74 44 6f 75 62 6c 65 28 29 2a 73 63 61 6c 65 3b 0a 09 09 09 73 and.=.r.nextDouble()*scale;....s
24a00 75 6d 2b 3d 72 61 6e 64 3b 0a 09 09 09 6e 65 77 50 6f 69 6e 74 5b 69 5d 3d 72 61 6e 64 3b 0a 09 um+=rand;....newPoint[i]=rand;..
24a20 09 7d 0a 09 09 2f 2f 4e 6f 72 6d 61 6c 69 7a 65 0a 09 09 69 66 28 73 75 6d 20 3e 20 73 63 61 6c .}...//Normalize...if(sum.>.scal
24a40 65 29 7b 0a 09 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 65 77 50 6f e){....for.(int.i.=.0;.i.<.newPo
24a60 69 6e 74 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 09 6e 65 77 50 6f 69 6e 74 5b int.length;.i++).{.....newPoint[
24a80 69 5d 3d 73 63 61 6c 65 2a 6e 65 77 50 6f 69 6e 74 5b 69 5d 2f 73 75 6d 3b 0a 09 09 09 7d 0a 09 i]=scale*newPoint[i]/sum;....}..
24aa0 09 7d 0a 09 09 72 65 74 75 72 6e 20 6e 65 77 50 6f 69 6e 74 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c .}...return.newPoint;..}....publ
24ac0 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 61 69 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 ic.static.void.main(String[].arg
24ae0 73 29 20 7b 0a 09 09 53 69 6d 70 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 20 73 70 20 3d 20 6e 65 s).{...SimplexProjection.sp.=.ne
24b00 77 20 53 69 6d 70 6c 65 78 50 72 6f 6a 65 63 74 69 6f 6e 28 31 29 3b 0a 09 09 0a 09 09 0a 09 09 w.SimplexProjection(1);.........
24b20 64 6f 75 62 6c 65 5b 5d 20 70 6f 69 6e 74 20 3d 20 73 70 2e 73 61 6d 70 6c 65 50 6f 69 6e 74 28 double[].point.=.sp.samplePoint(
24b40 33 29 3b 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 3);...MatrixOutput.printDoubleAr
24b60 72 61 79 28 70 6f 69 6e 74 20 2c 20 22 72 61 6e 64 6f 6d 20 31 20 73 75 6d 3a 22 20 2b 20 4d 61 ray(point.,."random.1.sum:".+.Ma
24b80 74 68 55 74 69 6c 73 2e 73 75 6d 28 70 6f 69 6e 74 29 29 3b 0a 09 09 70 6f 69 6e 74 20 3d 20 73 thUtils.sum(point));...point.=.s
24ba0 70 2e 73 61 6d 70 6c 65 50 6f 69 6e 74 28 33 29 3b 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 p.samplePoint(3);...MatrixOutput
24bc0 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 70 6f 69 6e 74 20 2c 20 22 72 61 6e 64 6f .printDoubleArray(point.,."rando
24be0 6d 20 32 20 73 75 6d 3a 22 20 2b 20 4d 61 74 68 55 74 69 6c 73 2e 73 75 6d 28 70 6f 69 6e 74 29 m.2.sum:".+.MathUtils.sum(point)
24c00 29 3b 0a 09 09 70 6f 69 6e 74 20 3d 20 73 70 2e 73 61 6d 70 6c 65 50 6f 69 6e 74 28 33 29 3b 0a );...point.=.sp.samplePoint(3);.
24c20 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 ..MatrixOutput.printDoubleArray(
24c40 70 6f 69 6e 74 20 2c 20 22 72 61 6e 64 6f 6d 20 33 20 73 75 6d 3a 22 20 2b 20 4d 61 74 68 55 74 point.,."random.3.sum:".+.MathUt
24c60 69 6c 73 2e 73 75 6d 28 70 6f 69 6e 74 29 29 3b 0a 09 09 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 64 ils.sum(point));......double[].d
24c80 20 3d 20 7b 30 2c 31 2e 31 2c 2d 31 30 7d 3b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 6f 72 69 67 69 .=.{0,1.1,-10};...double[].origi
24ca0 6e 61 6c 20 3d 20 64 2e 63 6c 6f 6e 65 28 29 3b 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e nal.=.d.clone();...MatrixOutput.
24cc0 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 64 2c 20 22 62 65 66 6f 72 65 22 29 3b 0a 09 printDoubleArray(d,."before");..
24ce0 09 0a 09 09 73 70 2e 70 72 6f 6a 65 63 74 28 64 29 3b 0a 09 09 4d 61 74 72 69 78 4f 75 74 70 75 ....sp.project(d);...MatrixOutpu
24d00 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 64 2c 20 22 61 66 74 65 72 22 29 3b 0a t.printDoubleArray(d,."after");.
24d20 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 54 65 73 74 20 70 72 6f 6a 65 ..System.out.println("Test.proje
24d40 63 74 69 6f 6e 3a 20 22 20 2b 20 73 70 2e 74 65 73 74 50 72 6f 6a 65 63 74 69 6f 6e 28 6f 72 69 ction:.".+.sp.testProjection(ori
24d60 67 69 6e 61 6c 2c 20 64 29 29 3b 0a 09 09 0a 09 7d 0a 09 0a 09 0a 09 64 6f 75 62 6c 65 20 65 70 ginal,.d));.....}......double.ep
24d80 73 69 6c 6f 6e 20 3d 20 31 2e 45 2d 31 30 3b 0a 09 70 75 62 6c 69 63 20 64 6f 75 62 6c 65 5b 5d silon.=.1.E-10;..public.double[]
24da0 20 70 65 72 74 75 72 62 65 50 6f 69 6e 74 28 64 6f 75 62 6c 65 5b 5d 20 70 6f 69 6e 74 2c 20 69 .perturbePoint(double[].point,.i
24dc0 6e 74 20 70 61 72 61 6d 65 74 65 72 29 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 6e 65 77 50 6f 69 nt.parameter){...double[].newPoi
24de0 6e 74 20 3d 20 70 6f 69 6e 74 2e 63 6c 6f 6e 65 28 29 3b 0a 09 09 69 66 28 4d 61 74 68 55 74 69 nt.=.point.clone();...if(MathUti
24e00 6c 73 2e 61 6c 6d 6f 73 74 28 4d 61 74 68 55 74 69 6c 73 2e 73 75 6d 28 70 6f 69 6e 74 29 2c 20 ls.almost(MathUtils.sum(point),.
24e20 73 63 61 6c 65 29 29 7b 0a 09 09 09 6e 65 77 50 6f 69 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 2d scale)){....newPoint[parameter]-
24e40 3d 65 70 73 69 6c 6f 6e 3b 0a 09 09 7d 0a 09 09 65 6c 73 65 20 69 66 28 70 6f 69 6e 74 5b 70 61 =epsilon;...}...else.if(point[pa
24e60 72 61 6d 65 74 65 72 5d 3d 3d 30 29 7b 0a 09 09 09 6e 65 77 50 6f 69 6e 74 5b 70 61 72 61 6d 65 rameter]==0){....newPoint[parame
24e80 74 65 72 5d 2b 3d 65 70 73 69 6c 6f 6e 3b 0a 09 09 7d 65 6c 73 65 20 69 66 28 4d 61 74 68 55 74 ter]+=epsilon;...}else.if(MathUt
24ea0 69 6c 73 2e 61 6c 6d 6f 73 74 28 70 6f 69 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 2c 20 73 63 61 ils.almost(point[parameter],.sca
24ec0 6c 65 29 29 7b 0a 09 09 09 6e 65 77 50 6f 69 6e 74 5b 70 61 72 61 6d 65 74 65 72 5d 2d 3d 65 70 le)){....newPoint[parameter]-=ep
24ee0 73 69 6c 6f 6e 3b 0a 09 09 7d 0a 09 09 65 6c 73 65 7b 0a 09 09 09 6e 65 77 50 6f 69 6e 74 5b 70 silon;...}...else{....newPoint[p
24f00 61 72 61 6d 65 74 65 72 5d 2d 3d 65 70 73 69 6c 6f 6e 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e arameter]-=epsilon;...}...return
24f20 20 6e 65 77 50 6f 69 6e 74 3b 0a 09 7d 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c .newPoint;..}...}.PK.........Y.<
24f40 2f 46 90 7b ec 03 00 00 ec 03 00 00 29 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f /F.{........)...optimization/pro
24f60 6a 65 63 74 69 6f 6e 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 2e 63 6c 61 73 73 ca fe ba be 00 00 00 jections/Projection.class.......
24f80 32 00 35 07 00 02 01 00 23 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 2.5.....#optimization/projection
24fa0 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 s/Projection......java/lang/Obje
24fc0 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 ct...<init>...()V...Code........
24fe0 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 .....LineNumberTable...LocalVari
25000 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 25 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ableTable...this..%Loptimization
25020 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 3b 01 00 07 70 72 6f 6a 65 /projections/Projection;...proje
25040 63 74 01 00 05 28 5b 44 29 56 01 00 0e 74 65 73 74 50 72 6f 6a 65 63 74 69 6f 6e 01 00 07 28 5b ct...([D)V...testProjection...([
25060 44 5b 44 29 5a 0a 00 13 00 15 07 00 14 01 00 02 5b 44 0c 00 16 00 17 01 00 05 63 6c 6f 6e 65 01 D[D)Z...........[D........clone.
25080 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 0a 00 19 00 1b 07 00 1a 01 00 ..()Ljava/lang/Object;..........
250a0 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 1c 00 .optimization/util/MathUtils....
250c0 1d 01 00 0b 6d 69 6e 75 73 45 71 75 61 6c 73 01 00 08 28 5b 44 5b 44 44 29 56 0a 00 01 00 1f 0c ....minusEquals...([D[DD)V......
250e0 00 20 00 21 01 00 0b 73 61 6d 70 6c 65 50 6f 69 6e 74 01 00 05 28 49 29 5b 44 0a 00 19 00 23 0c ...!...samplePoint...(I)[D....#.
25100 00 24 00 25 01 00 0a 64 6f 74 50 72 6f 64 75 63 74 01 00 07 28 5b 44 5b 44 29 44 0a 00 01 00 27 .$.%...dotProduct...([D[D)D....'
25120 0c 00 28 00 29 01 00 0d 70 65 72 74 75 72 62 65 50 6f 69 6e 74 01 00 07 28 5b 44 49 29 5b 44 01 ..(.)...perturbePoint...([DI)[D.
25140 00 08 6f 72 69 67 69 6e 61 6c 01 00 09 70 72 6f 6a 65 63 74 65 64 01 00 09 6f 72 69 67 69 6e 61 ..original...projected...origina
25160 6c 31 01 00 01 69 01 00 01 49 01 00 01 78 01 00 07 64 6f 74 50 72 6f 64 01 00 01 44 01 00 0d 53 l1...i...I...x...dotProd...D...S
25180 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0f 50 72 6f 6a tackMapTable...SourceFile...Proj
251a0 65 63 74 69 6f 6e 2e 6a 61 76 61 04 21 00 01 00 03 00 00 00 00 00 05 00 01 00 05 00 06 00 01 00 ection.java.!...................
251c0 07 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 08 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 ..../........*..................
251e0 00 0a 00 0b 00 00 00 0c 00 01 00 00 00 05 00 0c 00 0d 00 00 04 01 00 0e 00 0f 00 00 00 01 00 10 ................................
25200 00 11 00 01 00 07 00 00 01 41 00 04 00 08 00 00 00 71 2b b6 00 12 c0 00 13 4e 2d 2c 0f b8 00 18 .........A.......q+......N-,....
25220 03 36 04 a7 00 26 2a 2b be b6 00 1e 3a 05 19 05 2c 0f b8 00 18 2d 19 05 b8 00 22 39 06 18 06 0e .6...&*+....:...,....-...."9....
25240 97 9e 00 05 03 ac 84 04 01 15 04 10 0a a1 ff d9 03 36 04 a7 00 27 2a 2c 15 04 b6 00 26 3a 05 19 .................6...'*,....&:..
25260 05 2c 0f b8 00 18 2d 19 05 b8 00 22 39 06 18 06 0e 97 9e 00 05 03 ac 84 04 01 15 04 2b be a1 ff .,....-...."9...............+...
25280 d8 04 ac 00 00 00 03 00 0a 00 00 00 3e 00 0f 00 00 00 1e 00 08 00 21 00 0e 00 23 00 14 00 24 00 ............>.........!...#...$.
252a0 1c 00 27 00 23 00 29 00 2b 00 2c 00 34 00 23 00 3e 00 30 00 44 00 31 00 4d 00 34 00 54 00 36 00 ..'.#.).+.,.4.#.>.0.D.1.M.4.T.6.
252c0 5c 00 39 00 65 00 30 00 6f 00 3e 00 0b 00 00 00 66 00 0a 00 00 00 71 00 0c 00 0d 00 00 00 00 00 \.9.e.0.o.>.....f.....q.........
252e0 71 00 2a 00 14 00 01 00 00 00 71 00 2b 00 14 00 02 00 08 00 69 00 2c 00 14 00 03 00 11 00 2d 00 q.*.......q.+.......i.,.......-.
25300 2d 00 2e 00 04 00 1c 00 18 00 2f 00 14 00 05 00 2b 00 09 00 30 00 31 00 06 00 41 00 2e 00 2d 00 -........./.....+...0.1...A...-.
25320 2e 00 04 00 4d 00 18 00 2f 00 14 00 05 00 5c 00 09 00 30 00 31 00 06 00 32 00 00 00 0e 00 06 fd ....M.../.....\...0.1...2.......
25340 00 14 07 00 13 01 1f 02 0c 20 02 04 01 00 20 00 21 00 00 04 01 00 28 00 29 00 00 00 01 00 33 00 ................!.....(.).....3.
25360 00 00 02 00 34 50 4b 03 04 0a 00 00 00 00 00 b1 69 d6 3c 8c cf 4b c2 bc 08 00 00 bc 08 00 00 28 ....4PK.........i.<..K.........(
25380 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 50 72 6f 6a ...optimization/projections/Proj
253a0 65 63 74 69 6f 6e 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e ection.javapackage.optimization.
253c0 70 72 6f 6a 65 63 74 69 6f 6e 73 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f projections;..import.optimizatio
253e0 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a n.util.MathUtils;.import.optimiz
25400 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 72 69 78 4f 75 74 70 75 74 3b 0a 69 6d 70 6f 72 74 20 ation.util.MatrixOutput;.import.
25420 75 74 69 6c 2e 41 72 72 61 79 4d 61 74 68 3b 0a 69 6d 70 6f 72 74 20 75 74 69 6c 2e 50 72 69 6e util.ArrayMath;.import.util.Prin
25440 74 69 6e 67 3b 0a 0a 0a 0a 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 50 ting;....public.abstract.class.P
25460 72 6f 6a 65 63 74 69 6f 6e 20 7b 0a 0a 09 0a 09 70 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 rojection.{.....public.abstract.
25480 76 6f 69 64 20 70 72 6f 6a 65 63 74 28 64 6f 75 62 6c 65 5b 5d 20 6f 72 69 67 69 6e 61 6c 29 3b void.project(double[].original);
254a0 0a 09 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 20 46 72 6f 6d 20 74 68 65 20 70 72 6f 6a 65 63 74 69 ....../**...*..From.the.projecti
254c0 6f 6e 20 74 68 65 6f 72 65 6d 20 22 4e 6f 6e 2d 4c 69 6e 65 61 72 20 50 72 6f 67 72 61 6d 6d 69 on.theorem."Non-Linear.Programmi
254e0 6e 67 22 20 70 61 67 65 0a 09 20 2a 20 20 32 30 31 20 66 61 63 74 20 32 2e 0a 09 20 2a 20 20 0a ng".page...*..201.fact.2....*...
25500 09 20 2a 20 20 47 69 76 65 6e 20 73 6f 6d 65 20 7a 20 69 6e 20 52 2c 20 61 6e 64 20 61 20 76 65 ..*..Given.some.z.in.R,.and.a.ve
25520 63 74 6f 72 20 78 2a 20 69 6e 20 58 3b 0a 09 20 2a 20 20 78 2a 20 3d 20 7a 2b 20 69 69 66 20 66 ctor.x*.in.X;...*..x*.=.z+.iif.f
25540 6f 72 20 61 6c 6c 20 78 20 69 6e 20 58 20 0a 09 20 2a 20 20 28 7a 2d 78 2a 29 27 28 78 2d 78 2a or.all.x.in.X....*..(z-x*)'(x-x*
25560 29 20 3c 3d 20 30 20 77 68 65 72 65 20 30 20 69 73 20 77 68 65 6e 20 78 2a 3d 78 0a 09 20 2a 20 ).<=.0.where.0.is.when.x*=x...*.
25580 20 53 65 65 20 66 69 67 75 72 65 20 32 2e 31 36 20 69 6e 20 62 6f 6f 6b 0a 09 20 2a 20 20 0a 09 .See.figure.2.16.in.book...*....
255a0 20 2a 20 40 70 61 72 61 6d 20 6f 72 69 67 69 6e 61 6c 0a 09 20 2a 20 40 70 61 72 61 6d 20 70 72 .*.@param.original...*.@param.pr
255c0 6f 6a 65 63 74 65 64 0a 09 20 2a 20 40 72 65 74 75 72 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 ojected...*.@return...*/..public
255e0 20 62 6f 6f 6c 65 61 6e 20 74 65 73 74 50 72 6f 6a 65 63 74 69 6f 6e 28 64 6f 75 62 6c 65 5b 5d .boolean.testProjection(double[]
25600 20 6f 72 69 67 69 6e 61 6c 2c 20 64 6f 75 62 6c 65 5b 5d 20 70 72 6f 6a 65 63 74 65 64 29 7b 0a .original,.double[].projected){.
25620 09 09 64 6f 75 62 6c 65 5b 5d 20 6f 72 69 67 69 6e 61 6c 31 20 3d 20 6f 72 69 67 69 6e 61 6c 2e ..double[].original1.=.original.
25640 63 6c 6f 6e 65 28 29 3b 0a 09 09 2f 2f 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 clone();...//System.out.println(
25660 50 72 69 6e 74 69 6e 67 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 6f 72 69 Printing.doubleArrayToString(ori
25680 67 69 6e 61 6c 31 2c 20 6e 75 6c 6c 2c 20 22 6f 72 69 67 69 6e 61 6c 22 29 29 3b 0a 09 09 2f 2f ginal1,.null,."original"));...//
256a0 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 50 72 69 6e 74 69 6e 67 2e 64 6f 75 62 System.out.println(Printing.doub
256c0 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 70 72 6f 6a 65 63 74 65 64 2c 20 6e 75 6c 6c 2c leArrayToString(projected,.null,
256e0 20 22 70 72 6f 6a 65 63 74 65 64 22 29 29 3b 0a 09 09 4d 61 74 68 55 74 69 6c 73 2e 6d 69 6e 75 ."projected"));...MathUtils.minu
25700 73 45 71 75 61 6c 73 28 6f 72 69 67 69 6e 61 6c 31 2c 20 70 72 6f 6a 65 63 74 65 64 2c 20 31 29 sEquals(original1,.projected,.1)
25720 3b 0a 09 09 2f 2f 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 50 72 69 6e 74 69 6e ;...//System.out.println(Printin
25740 67 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 6f 72 69 67 69 6e 61 6c 31 2c g.doubleArrayToString(original1,
25760 20 6e 75 6c 6c 2c 20 22 6d 69 6e 75 73 31 22 29 29 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d .null,."minus1"));...for(int.i.=
25780 20 30 3b 20 69 20 3c 20 31 30 3b 20 69 2b 2b 29 7b 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 78 20 .0;.i.<.10;.i++){....double[].x.
257a0 3d 20 73 61 6d 70 6c 65 50 6f 69 6e 74 28 6f 72 69 67 69 6e 61 6c 2e 6c 65 6e 67 74 68 29 3b 0a =.samplePoint(original.length);.
257c0 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 50 72 69 6e 74 69 6e 67 ..//.System.out.println(Printing
257e0 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 78 2c 20 6e 75 6c 6c 2c 20 22 73 .doubleArrayToString(x,.null,."s
25800 61 6d 70 6c 65 22 29 29 3b 0a 09 09 09 2f 2f 49 66 20 74 68 65 20 73 61 6d 65 20 74 68 69 73 20 ample"));....//If.the.same.this.
25820 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 73 6f 20 77 65 20 61 72 65 20 74 68 65 72 65 2e 09 0a 09 returns.zero.so.we.are.there....
25840 09 09 4d 61 74 68 55 74 69 6c 73 2e 6d 69 6e 75 73 45 71 75 61 6c 73 28 78 2c 20 70 72 6f 6a 65 ..MathUtils.minusEquals(x,.proje
25860 63 74 65 64 2c 20 31 29 3b 0a 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c cted,.1);...//.System.out.printl
25880 6e 28 50 72 69 6e 74 69 6e 67 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 78 n(Printing.doubleArrayToString(x
258a0 2c 20 6e 75 6c 6c 2c 20 22 6d 69 6e 75 73 32 22 29 29 3b 0a 09 09 09 64 6f 75 62 6c 65 20 64 6f ,.null,."minus2"));....double.do
258c0 74 50 72 6f 64 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 6f 72 69 tProd.=.MathUtils.dotProduct(ori
258e0 67 69 6e 61 6c 31 2c 20 78 29 3b 0a 09 09 09 0a 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 74 2e ginal1,.x);.......//.System.out.
25900 70 72 69 6e 74 6c 6e 28 22 64 6f 74 20 22 20 2b 20 64 6f 74 50 72 6f 64 29 3b 0a 09 09 09 69 66 println("dot.".+.dotProd);....if
25920 28 64 6f 74 50 72 6f 64 20 3e 20 30 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 09 7d 0a (dotProd.>.0).return.false;...}.
25940 09 09 0a 09 09 2f 2f 50 65 72 74 75 72 62 73 20 74 68 65 20 70 6f 69 6e 74 20 61 20 62 69 74 20 .....//Perturbs.the.point.a.bit.
25960 69 6e 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 64 69 72 65 63 74 69 6f 6e 73 0a 09 09 66 6f 72 in.all.possible.directions...for
25980 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6f 72 69 67 69 6e 61 6c 2e 6c 65 6e 67 74 68 3b (int.i.=.0;.i.<.original.length;
259a0 20 69 2b 2b 29 7b 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 78 20 3d 20 70 65 72 74 75 72 62 65 50 .i++){....double[].x.=.perturbeP
259c0 6f 69 6e 74 28 70 72 6f 6a 65 63 74 65 64 2c 69 29 3b 0a 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f oint(projected,i);...//.System.o
259e0 75 74 2e 70 72 69 6e 74 6c 6e 28 50 72 69 6e 74 69 6e 67 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 ut.println(Printing.doubleArrayT
25a00 6f 53 74 72 69 6e 67 28 78 2c 20 6e 75 6c 6c 2c 20 22 70 65 72 74 75 72 62 65 64 22 29 29 3b 0a oString(x,.null,."perturbed"));.
25a20 09 09 09 2f 2f 49 66 20 74 68 65 20 73 61 6d 65 20 74 68 69 73 20 72 65 74 75 72 6e 73 20 7a 65 ...//If.the.same.this.returns.ze
25a40 72 6f 20 73 6f 20 77 65 20 61 72 65 20 74 68 65 72 65 2e 09 0a 09 09 09 4d 61 74 68 55 74 69 6c ro.so.we.are.there......MathUtil
25a60 73 2e 6d 69 6e 75 73 45 71 75 61 6c 73 28 78 2c 20 70 72 6f 6a 65 63 74 65 64 2c 20 31 29 3b 0a s.minusEquals(x,.projected,.1);.
25a80 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 50 72 69 6e 74 69 6e 67 ..//.System.out.println(Printing
25aa0 2e 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 78 2c 20 6e 75 6c 6c 2c 20 22 6d .doubleArrayToString(x,.null,."m
25ac0 69 6e 75 73 32 22 29 29 3b 0a 09 09 09 64 6f 75 62 6c 65 20 64 6f 74 50 72 6f 64 20 3d 20 4d 61 inus2"));....double.dotProd.=.Ma
25ae0 74 68 55 74 69 6c 73 2e 64 6f 74 50 72 6f 64 75 63 74 28 6f 72 69 67 69 6e 61 6c 31 2c 20 78 29 thUtils.dotProduct(original1,.x)
25b00 3b 0a 09 09 09 0a 09 09 2f 2f 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 64 ;.......//.System.out.println("d
25b20 6f 74 20 22 20 2b 20 64 6f 74 50 72 6f 64 29 3b 0a 09 09 09 69 66 28 64 6f 74 50 72 6f 64 20 3e ot.".+.dotProd);....if(dotProd.>
25b40 20 30 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 09 7d 0a 09 09 0a 09 09 0a 09 09 0a 09 .0).return.false;...}...........
25b60 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 7d 0a 0a 09 2f 2f 53 61 6d 70 6c 65 73 20 61 20 70 .return.true;..}...//Samples.a.p
25b80 6f 69 6e 74 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 73 65 74 0a 09 70 oint.from.the.constrained.set..p
25ba0 75 62 6c 69 63 20 61 62 73 74 72 61 63 74 20 64 6f 75 62 6c 65 5b 5d 20 73 61 6d 70 6c 65 50 6f ublic.abstract.double[].samplePo
25bc0 69 6e 74 28 69 6e 74 20 64 69 6d 65 6e 73 69 6f 6e 73 29 3b 0a 09 0a 09 2f 2f 50 65 72 74 75 72 int(int.dimensions);....//Pertur
25be0 62 73 20 61 20 70 6f 69 6e 74 20 61 20 62 69 74 20 73 74 69 6c 6c 20 6c 65 61 76 69 6e 67 20 69 bs.a.point.a.bit.still.leaving.i
25c00 74 20 61 74 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 73 65 74 0a 09 70 75 62 6c 69 63 t.at.the.constraints.set..public
25c20 20 61 62 73 74 72 61 63 74 20 64 6f 75 62 6c 65 5b 5d 20 70 65 72 74 75 72 62 65 50 6f 69 6e 74 .abstract.double[].perturbePoint
25c40 28 64 6f 75 62 6c 65 5b 5d 20 70 6f 69 6e 74 2c 20 69 6e 74 20 70 61 72 61 6d 65 74 65 72 29 3b (double[].point,.int.parameter);
25c60 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 67 13 4d 92 ed 00 00 00 ed 00 00 .....}.PK.........Y.<g.M........
25c80 00 2f 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 ./...optimization/stopCriteria/S
25ca0 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 0b 07 00 topingCriteria.class.......2....
25cc0 02 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 ...)optimization/stopCriteria/St
25ce0 6f 70 69 6e 67 43 72 69 74 65 72 69 61 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a opingCriteria......java/lang/Obj
25d00 65 63 74 01 00 10 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 01 00 30 28 4c 6f 70 74 69 6d ect...stopOptimization..0(Loptim
25d20 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a ization/gradientBasedMethods/Obj
25d40 65 63 74 69 76 65 3b 29 5a 01 00 05 72 65 73 65 74 01 00 03 28 29 56 01 00 0a 53 6f 75 72 63 65 ective;)Z...reset...()V...Source
25d60 46 69 6c 65 01 00 14 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 2e 6a 61 76 61 06 01 00 01 00 File...StopingCriteria.java.....
25d80 03 00 00 00 00 00 02 04 01 00 05 00 06 00 00 04 01 00 07 00 08 00 00 00 01 00 09 00 00 00 02 00 ................................
25da0 0a 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 23 5b 43 b7 c5 00 00 00 c5 00 00 00 2e 00 00 00 6f .PK.........i.<#[C.............o
25dc0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 ptimization/stopCriteria/Stoping
25de0 43 72 69 74 65 72 69 61 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f Criteria.javapackage.optimizatio
25e00 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 n.stopCriteria;..import.optimiza
25e20 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 tion.gradientBasedMethods.Object
25e40 69 76 65 3b 0a 0a 70 75 62 6c 69 63 20 69 6e 74 65 72 66 61 63 65 20 53 74 6f 70 69 6e 67 43 72 ive;..public.interface.StopingCr
25e60 69 74 65 72 69 61 20 7b 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 73 74 6f 70 4f 70 74 iteria.{..public.boolean.stopOpt
25e80 69 6d 69 7a 61 74 69 6f 6e 28 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 29 3b 0a 09 70 75 62 6c 69 imization(Objective.obj);..publi
25ea0 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 3b 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c c.void.reset();.}.PK.........Y.<
25ec0 b0 84 da c5 c2 08 00 00 c2 08 00 00 41 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f ............A...optimization/sto
25ee0 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 50 72 6f 6a 65 63 74 65 64 47 72 61 pCriteria/NormalizedProjectedGra
25f00 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 72 07 00 02 01 00 dientL2Norm.class.......2.r.....
25f20 3b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 ;optimization/stopCriteria/Norma
25f40 6c 69 7a 65 64 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 07 00 04 01 lizedProjectedGradientL2Norm....
25f60 00 31 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 50 72 6f 6a .1optimization/stopCriteria/Proj
25f80 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 01 00 15 6f 72 69 67 69 6e 61 6c 50 72 ectedGradientL2Norm...originalPr
25fa0 6f 6a 65 63 74 65 64 4e 6f 72 6d 01 00 01 44 01 00 06 3c 69 6e 69 74 3e 01 00 04 28 44 29 56 01 ojectedNorm...D...<init>...(D)V.
25fc0 00 04 43 6f 64 65 0a 00 03 00 0b 0c 00 07 00 08 06 bf f0 00 00 00 00 00 00 09 00 01 00 0f 0c 00 ..Code..........................
25fe0 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 ......LineNumberTable...LocalVar
26000 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 3d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f iableTable...this..=Loptimizatio
26020 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 50 72 6f 6a 65 63 74 n/stopCriteria/NormalizedProject
26040 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 3b 01 00 18 67 72 61 64 69 65 6e 74 43 6f 6e 76 edGradientL2Norm;...gradientConv
26060 65 72 67 65 6e 63 65 56 61 6c 75 65 01 00 05 72 65 73 65 74 01 00 03 28 29 56 01 00 0f 70 72 6f ergenceValue...reset...()V...pro
26080 6a 65 63 74 47 72 61 64 69 65 6e 74 01 00 3a 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 jectGradient..:(Loptimization/gr
260a0 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 adientBasedMethods/ProjectedObje
260c0 63 74 69 76 65 3b 29 5b 44 09 00 1a 00 1c 07 00 1b 01 00 34 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ctive;)[D..........4optimization
260e0 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f /gradientBasedMethods/ProjectedO
26100 62 6a 65 63 74 69 76 65 0c 00 1d 00 1e 01 00 0d 61 75 78 50 61 72 61 6d 65 74 65 72 73 01 00 02 bjective........auxParameters...
26120 5b 44 0a 00 1a 00 20 0c 00 21 00 22 01 00 10 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 01 [D.......!."...getNumParameters.
26140 00 03 28 29 49 0a 00 1a 00 24 0c 00 25 00 26 01 00 0d 67 65 74 50 61 72 61 6d 65 74 65 72 73 01 ..()I....$..%.&...getParameters.
26160 00 04 28 29 5b 44 0a 00 28 00 2a 07 00 29 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 ..()[D..(.*..)...java/lang/Syste
26180 6d 0c 00 2b 00 2c 01 00 09 61 72 72 61 79 63 6f 70 79 01 00 2a 28 4c 6a 61 76 61 2f 6c 61 6e 67 m..+.,...arraycopy..*(Ljava/lang
261a0 2f 4f 62 6a 65 63 74 3b 49 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 49 29 56 09 /Object;ILjava/lang/Object;II)V.
261c0 00 1a 00 2e 0c 00 2f 00 1e 01 00 08 67 72 61 64 69 65 6e 74 0a 00 31 00 33 07 00 32 01 00 1b 6f ....../.....gradient..1.3..2...o
261e0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 34 00 35 01 ptimization/util/MathUtils..4.5.
26200 00 0b 6d 69 6e 75 73 45 71 75 61 6c 73 01 00 08 28 5b 44 5b 44 44 29 56 0a 00 1a 00 37 0c 00 38 ..minusEquals...([D[DD)V....7..8
26220 00 39 01 00 0c 70 72 6f 6a 65 63 74 50 6f 69 6e 74 01 00 06 28 5b 44 29 5b 44 01 00 03 6f 62 6a .9...projectPoint...([D)[D...obj
26240 01 00 36 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 ..6Loptimization/gradientBasedMe
26260 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 3b 01 00 0d 53 74 61 63 thods/ProjectedObjective;...Stac
26280 6b 4d 61 70 54 61 62 6c 65 01 00 10 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 01 00 30 28 kMapTable...stopOptimization..0(
262a0 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f Loptimization/gradientBasedMetho
262c0 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 29 5a 0a 00 01 00 40 0c 00 17 00 18 0a 00 31 00 42 0c 00 ds/Objective;)Z....@.......1.B..
262e0 43 00 44 01 00 06 4c 32 4e 6f 72 6d 01 00 05 28 5b 44 29 44 09 00 01 00 46 0c 00 14 00 06 09 00 C.D...L2Norm...([D)D....F.......
26300 28 00 48 0c 00 49 00 4a 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 (.H..I.J...out...Ljava/io/PrintS
26320 74 72 65 61 6d 3b 07 00 4c 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c tream;..L...java/lang/StringBuil
26340 64 65 72 08 00 4e 01 00 2d 47 72 61 64 69 65 6e 74 20 6e 6f 72 6d 20 62 65 6c 6f 77 20 6e 6f 72 der..N..-Gradient.norm.below.nor
26360 6d 61 6c 69 7a 65 64 20 6e 6f 72 6d 74 72 65 73 68 6f 6c 64 3a 20 0a 00 4b 00 50 0c 00 07 00 51 malized.normtreshold:...K.P....Q
26380 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 4b 00 53 0c 00 54 ...(Ljava/lang/String;)V..K.S..T
263a0 00 55 01 00 06 61 70 70 65 6e 64 01 00 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 .U...append...(D)Ljava/lang/Stri
263c0 6e 67 42 75 69 6c 64 65 72 3b 08 00 57 01 00 0b 20 6f 72 69 67 69 6e 61 6c 3a 20 0a 00 4b 00 59 ngBuilder;..W....original:...K.Y
263e0 0c 00 54 00 5a 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 ..T.Z..-(Ljava/lang/String;)Ljav
26400 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 5c 01 00 12 20 6e 6f 72 6d a/lang/StringBuilder;..\....norm
26420 61 6c 69 7a 65 64 20 6e 6f 72 6d 3a 20 0a 00 4b 00 5e 0c 00 5f 00 60 01 00 08 74 6f 53 74 72 69 alized.norm:...K.^.._.`...toStri
26440 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 62 00 64 07 00 ng...()Ljava/lang/String;..b.d..
26460 63 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 65 00 51 01 00 07 70 c...java/io/PrintStream..e.Q...p
26480 72 69 6e 74 6c 6e 08 00 67 01 00 19 4e 6f 74 20 61 20 70 72 6f 6a 65 63 74 65 64 20 6f 62 6a 65 rintln..g...Not.a.projected.obje
264a0 63 74 69 76 65 07 00 69 01 00 1a 6a 61 76 61 2f 6c 61 6e 67 2f 52 75 6e 74 69 6d 65 45 78 63 65 ctive..i...java/lang/RuntimeExce
264c0 70 74 69 6f 6e 0a 00 68 00 6b 0c 00 07 00 16 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f ption..h.k.......-Loptimization/
264e0 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 gradientBasedMethods/Objective;.
26500 00 01 6f 01 00 04 6e 6f 72 6d 01 00 0e 6e 6f 72 6d 61 6c 69 7a 65 64 4e 6f 72 6d 01 00 0a 53 6f ..o...norm...normalizedNorm...So
26520 75 72 63 65 46 69 6c 65 01 00 26 4e 6f 72 6d 61 6c 69 7a 65 64 50 72 6f 6a 65 63 74 65 64 47 72 urceFile..&NormalizedProjectedGr
26540 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 01 00 00 00 05 00 adientL2Norm.java.!.............
26560 06 00 00 00 04 00 01 00 07 00 08 00 01 00 09 00 00 00 49 00 03 00 03 00 00 00 0d 2a 27 b7 00 0a ..................I........*'...
26580 2a 14 00 0c b5 00 0e b1 00 00 00 02 00 10 00 00 00 0e 00 03 00 00 00 15 00 05 00 12 00 0c 00 16 *...............................
265a0 00 11 00 00 00 16 00 02 00 00 00 0d 00 12 00 13 00 00 00 00 00 0d 00 14 00 06 00 01 00 01 00 15 ................................
265c0 00 16 00 01 00 09 00 00 00 36 00 03 00 01 00 00 00 08 2a 14 00 0c b5 00 0e b1 00 00 00 02 00 10 .........6........*.............
265e0 00 00 00 0a 00 02 00 00 00 19 00 07 00 1a 00 11 00 00 00 0c 00 01 00 00 00 08 00 12 00 13 00 00 ................................
26600 00 00 00 17 00 18 00 01 00 09 00 00 00 a0 00 05 00 02 00 00 00 4b 2b b4 00 19 c7 00 0d 2b 2b b6 .....................K+......++.
26620 00 1f bc 07 b5 00 19 2b b6 00 23 03 2b b4 00 19 03 2b b6 00 1f b8 00 27 2b b4 00 19 2b b4 00 2d .......+..#.+....+.....'+...+..-
26640 0f b8 00 30 2b 2b 2b b4 00 19 b6 00 36 b5 00 19 2b b4 00 19 2b b6 00 23 0f b8 00 30 2b b4 00 19 ...0+++.....6...+...+..#...0+...
26660 b0 00 00 00 03 00 10 00 00 00 1e 00 07 00 00 00 1f 00 07 00 20 00 11 00 22 00 22 00 23 00 2e 00 ........................".".#...
26680 24 00 3a 00 25 00 46 00 26 00 11 00 00 00 16 00 02 00 00 00 4b 00 12 00 13 00 00 00 00 00 4b 00 $.:.%.F.&...........K.........K.
266a0 3a 00 3b 00 01 00 3c 00 00 00 03 00 01 11 00 01 00 3d 00 3e 00 01 00 09 00 00 01 0d 00 04 00 07 :.;...<..........=.>............
266c0 00 00 00 79 2b c1 00 1a 99 00 65 2b c0 00 1a 4d 2a 2c b6 00 3f b8 00 41 4a 2a b4 00 0e 14 00 0c ...y+.....e+...M*,..?..AJ*......
266e0 97 9a 00 08 2a 29 b5 00 0e 0f 29 6b 2a b4 00 0e 6f 39 05 18 05 2a b4 00 45 98 9c 00 31 b2 00 47 ....*)....)k*...o9...*..E...1..G
26700 bb 00 4b 59 12 4d b7 00 4f 29 b6 00 52 12 56 b6 00 58 2a b4 00 0e b6 00 52 12 5b b6 00 58 18 05 ..KY.M..O)..R.V..X*.....R.[..X..
26720 b6 00 52 b6 00 5d b6 00 61 04 ac 03 ac b2 00 47 12 66 b6 00 61 bb 00 68 59 b7 00 6a bf 00 00 00 ..R..]..a......G.f..a..hY..j....
26740 03 00 10 00 00 00 32 00 0c 00 00 00 2a 00 07 00 2b 00 0c 00 2c 00 15 00 2d 00 20 00 2e 00 25 00 ......2.....*...+...,...-.....%.
26760 30 00 2f 00 31 00 39 00 32 00 65 00 33 00 67 00 36 00 69 00 39 00 71 00 3a 00 11 00 00 00 34 00 0./.1.9.2.e.3.g.6.i.9.q.:.....4.
26780 05 00 00 00 79 00 12 00 13 00 00 00 00 00 79 00 3a 00 6c 00 01 00 0c 00 5d 00 6d 00 3b 00 02 00 ....y.........y.:.l.....].m.;...
267a0 15 00 54 00 6e 00 06 00 03 00 2f 00 3a 00 6f 00 06 00 05 00 3c 00 00 00 10 00 03 fd 00 25 07 00 ..T.n...../.:.o.....<........%..
267c0 1a 03 fc 00 41 03 f8 00 01 00 01 00 70 00 00 00 02 00 71 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 ....A.......p.....qPK.........i.
267e0 3c 4f 77 8b 7f 58 07 00 00 58 07 00 00 40 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 <Ow..X...X...@...optimization/st
26800 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 50 72 6f 6a 65 63 74 65 64 47 72 opCriteria/NormalizedProjectedGr
26820 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a adientL2Norm.javapackage.optimiz
26840 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 ation.stopCriteria;..import.opti
26860 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 mization.gradientBasedMethods.Ob
26880 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 jective;.import.optimization.gra
268a0 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 dientBasedMethods.ProjectedObjec
268c0 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d tive;.import.optimization.util.M
268e0 61 74 68 55 74 69 6c 73 3b 0a 0a 2f 2a 2a 0a 20 2a 20 44 69 76 69 64 65 73 20 74 68 65 20 6e 6f athUtils;../**..*.Divides.the.no
26900 72 6d 20 62 79 20 74 68 65 20 6e 6f 72 6d 20 61 74 20 74 68 65 20 62 65 67 69 6e 69 6e 67 20 6f rm.by.the.norm.at.the.begining.o
26920 66 20 74 68 65 20 69 74 65 72 61 74 69 6f 6e 0a 20 2a 20 40 61 75 74 68 6f 72 20 6a 61 76 67 0a f.the.iteration..*.@author.javg.
26940 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 4e 6f 72 6d 61 6c 69 7a 65 64 50 72 .*..*/.public.class.NormalizedPr
26960 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 20 65 78 74 65 6e 64 73 20 50 72 ojectedGradientL2Norm.extends.Pr
26980 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 7b 0a 09 0a 09 2f 2a 2a 0a 09 20 ojectedGradientL2Norm{..../**...
269a0 2a 20 53 74 6f 70 20 69 66 20 67 72 61 64 69 65 6e 74 4e 6f 72 6d 2f 28 6f 72 69 67 69 6e 61 6c *.Stop.if.gradientNorm/(original
269c0 47 72 61 64 69 65 6e 74 4e 6f 72 6d 29 20 73 6d 61 6c 6c 65 72 0a 09 20 2a 20 74 68 61 6e 20 67 GradientNorm).smaller...*.than.g
269e0 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 0a 09 20 2a 2f 0a 09 64 6f radientConvergenceValue...*/..do
26a00 75 62 6c 65 20 6f 72 69 67 69 6e 61 6c 50 72 6f 6a 65 63 74 65 64 4e 6f 72 6d 20 3d 20 2d 31 3b uble.originalProjectedNorm.=.-1;
26a20 0a 09 0a 09 70 75 62 6c 69 63 20 4e 6f 72 6d 61 6c 69 7a 65 64 50 72 6f 6a 65 63 74 65 64 47 72 ....public.NormalizedProjectedGr
26a40 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 28 64 6f 75 62 6c 65 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 adientL2Norm(double.gradientConv
26a60 65 72 67 65 6e 63 65 56 61 6c 75 65 29 7b 0a 09 09 73 75 70 65 72 28 67 72 61 64 69 65 6e 74 43 ergenceValue){...super(gradientC
26a80 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 onvergenceValue);..}....public.v
26aa0 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 6f 72 69 67 69 6e 61 6c 50 72 6f 6a 65 63 74 65 64 oid.reset(){...originalProjected
26ac0 4e 6f 72 6d 20 3d 20 2d 31 3b 0a 09 7d 0a 09 0a 09 0a 09 20 64 6f 75 62 6c 65 5b 5d 20 70 72 6f Norm.=.-1;..}.......double[].pro
26ae0 6a 65 63 74 47 72 61 64 69 65 6e 74 28 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 20 jectGradient(ProjectedObjective.
26b00 6f 62 6a 29 7b 0a 09 09 0a 09 09 69 66 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 20 obj){......if(obj.auxParameters.
26b20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 20 3d ==.null){....obj.auxParameters.=
26b40 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 62 6a 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 .new.double[obj.getNumParameters
26b60 28 29 5d 3b 0a 09 09 7d 0a 09 09 53 79 73 74 65 6d 2e 61 72 72 61 79 63 6f 70 79 28 6f 62 6a 2e ()];...}...System.arraycopy(obj.
26b80 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 2c 20 30 2c 20 6f 62 6a 2e 61 75 78 50 61 72 61 6d getParameters(),.0,.obj.auxParam
26ba0 65 74 65 72 73 2c 20 30 2c 20 6f 62 6a 2e 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 eters,.0,.obj.getNumParameters()
26bc0 29 3b 0a 09 09 4d 61 74 68 55 74 69 6c 73 2e 6d 69 6e 75 73 45 71 75 61 6c 73 28 6f 62 6a 2e 61 );...MathUtils.minusEquals(obj.a
26be0 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 6f 62 6a 2e 67 72 61 64 69 65 6e 74 2c 20 31 29 3b 0a uxParameters,.obj.gradient,.1);.
26c00 09 09 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6f 62 6a 2e 70 72 6f 6a 65 63 ..obj.auxParameters.=.obj.projec
26c20 74 50 6f 69 6e 74 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 29 3b 0a 09 09 4d 61 74 tPoint(obj.auxParameters);...Mat
26c40 68 55 74 69 6c 73 2e 6d 69 6e 75 73 45 71 75 61 6c 73 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 hUtils.minusEquals(obj.auxParame
26c60 74 65 72 73 2c 6f 62 6a 2e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 2c 31 29 3b 0a 09 09 72 ters,obj.getParameters(),1);...r
26c80 65 74 75 72 6e 20 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 3b 0a 09 7d 0a 09 0a 09 70 eturn.obj.auxParameters;..}....p
26ca0 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 4f ublic.boolean.stopOptimization(O
26cc0 62 6a 65 63 74 69 76 65 20 6f 62 6a 29 7b 0a 09 09 69 66 28 6f 62 6a 20 69 6e 73 74 61 6e 63 65 bjective.obj){...if(obj.instance
26ce0 6f 66 20 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 29 20 7b 0a 09 09 09 50 72 6f 6a of.ProjectedObjective).{....Proj
26d00 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 20 6f 20 3d 20 28 50 72 6f 6a 65 63 74 65 64 4f 62 6a ectedObjective.o.=.(ProjectedObj
26d20 65 63 74 69 76 65 29 20 6f 62 6a 3b 0a 09 09 09 64 6f 75 62 6c 65 20 6e 6f 72 6d 20 3d 20 4d 61 ective).obj;....double.norm.=.Ma
26d40 74 68 55 74 69 6c 73 2e 4c 32 4e 6f 72 6d 28 70 72 6f 6a 65 63 74 47 72 61 64 69 65 6e 74 28 6f thUtils.L2Norm(projectGradient(o
26d60 29 29 3b 0a 09 09 09 69 66 28 6f 72 69 67 69 6e 61 6c 50 72 6f 6a 65 63 74 65 64 4e 6f 72 6d 20 ));....if(originalProjectedNorm.
26d80 3d 3d 20 2d 31 29 7b 0a 09 09 09 09 6f 72 69 67 69 6e 61 6c 50 72 6f 6a 65 63 74 65 64 4e 6f 72 ==.-1){.....originalProjectedNor
26da0 6d 20 3d 20 6e 6f 72 6d 3b 0a 09 09 09 7d 0a 09 09 09 64 6f 75 62 6c 65 20 6e 6f 72 6d 61 6c 69 m.=.norm;....}....double.normali
26dc0 7a 65 64 4e 6f 72 6d 20 3d 20 31 2e 30 2a 6e 6f 72 6d 2f 6f 72 69 67 69 6e 61 6c 50 72 6f 6a 65 zedNorm.=.1.0*norm/originalProje
26de0 63 74 65 64 4e 6f 72 6d 3b 0a 09 09 09 69 66 28 20 6e 6f 72 6d 61 6c 69 7a 65 64 4e 6f 72 6d 20 ctedNorm;....if(.normalizedNorm.
26e00 3c 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 29 7b 0a 09 09 09 <.gradientConvergenceValue){....
26e20 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 47 72 61 64 69 65 6e 74 20 6e 6f .System.out.println("Gradient.no
26e40 72 6d 20 62 65 6c 6f 77 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 6e 6f 72 6d 74 72 65 73 68 6f 6c 64 rm.below.normalized.normtreshold
26e60 3a 20 22 20 2b 20 6e 6f 72 6d 20 2b 20 22 20 6f 72 69 67 69 6e 61 6c 3a 20 22 20 2b 20 6f 72 69 :.".+.norm.+.".original:.".+.ori
26e80 67 69 6e 61 6c 50 72 6f 6a 65 63 74 65 64 4e 6f 72 6d 20 2b 20 22 20 6e 6f 72 6d 61 6c 69 7a 65 ginalProjectedNorm.+.".normalize
26ea0 64 20 6e 6f 72 6d 3a 20 22 20 2b 20 6e 6f 72 6d 61 6c 69 7a 65 64 4e 6f 72 6d 29 3b 0a 09 09 09 d.norm:.".+.normalizedNorm);....
26ec0 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 09 09 7d 65 6c 73 65 7b 0a 2f 2f 09 09 09 09 53 79 .return.true;....}else{.//....Sy
26ee0 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 70 72 6f 6a 65 63 74 65 64 20 67 72 61 64 stem.out.println("projected.grad
26f00 69 65 6e 74 20 6e 6f 72 6d 3a 20 22 20 2b 20 6e 6f 72 6d 29 3b 0a 09 09 09 09 72 65 74 75 72 6e ient.norm:.".+.norm);.....return
26f20 20 66 61 6c 73 65 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 .false;....}...}...System.out.pr
26f40 69 6e 74 6c 6e 28 22 4e 6f 74 20 61 20 70 72 6f 6a 65 63 74 65 64 20 6f 62 6a 65 63 74 69 76 65 intln("Not.a.projected.objective
26f60 22 29 3b 0a 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e ");...throw.new.RuntimeException
26f80 28 29 3b 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c d7 e1 96 17 44 04 00 00 44 ();..}.}.PK.........Y.<....D...D
26fa0 04 00 00 2e 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 .......optimization/stopCriteria
26fc0 2f 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 38 07 /GradientL2Norm.class.......2.8.
26fe0 00 02 01 00 28 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 47 ....(optimization/stopCriteria/G
27000 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a radientL2Norm......java/lang/Obj
27020 65 63 74 07 00 06 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 ect.....)optimization/stopCriter
27040 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 01 00 18 67 72 61 64 69 65 6e 74 43 6f 6e ia/StopingCriteria...gradientCon
27060 76 65 72 67 65 6e 63 65 56 61 6c 75 65 01 00 01 44 01 00 06 3c 69 6e 69 74 3e 01 00 04 28 44 29 vergenceValue...D...<init>...(D)
27080 56 01 00 04 43 6f 64 65 0a 00 03 00 0d 0c 00 09 00 0e 01 00 03 28 29 56 09 00 01 00 10 0c 00 07 V...Code.............()V........
270a0 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 .....LineNumberTable...LocalVari
270c0 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 2a 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ableTable...this..*Loptimization
270e0 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 3b 01 00 05 /stopCriteria/GradientL2Norm;...
27100 72 65 73 65 74 01 00 10 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 01 00 30 28 4c 6f 70 74 reset...stopOptimization..0(Lopt
27120 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f imization/gradientBasedMethods/O
27140 62 6a 65 63 74 69 76 65 3b 29 5a 09 00 19 00 1b 07 00 1a 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 bjective;)Z..........+optimizati
27160 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 on/gradientBasedMethods/Objectiv
27180 65 0c 00 1c 00 1d 01 00 08 67 72 61 64 69 65 6e 74 01 00 02 5b 44 0a 00 1f 00 21 07 00 20 01 00 e........gradient...[D....!.....
271a0 1b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 22 00 .optimization/util/MathUtils..".
271c0 23 01 00 06 4c 32 4e 6f 72 6d 01 00 05 28 5b 44 29 44 09 00 25 00 27 07 00 26 01 00 10 6a 61 76 #...L2Norm...([D)D..%.'..&...jav
271e0 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 28 00 29 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 a/lang/System..(.)...out...Ljava
27200 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 08 00 2b 01 00 1c 47 72 61 64 69 65 6e 74 20 6e /io/PrintStream;..+...Gradient.n
27220 6f 72 6d 20 62 65 6c 6f 77 20 74 72 65 73 68 6f 6c 64 0a 00 2d 00 2f 07 00 2e 01 00 13 6a 61 76 orm.below.treshold..-./......jav
27240 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 30 00 31 01 00 07 70 72 69 6e 74 6c 6e 01 a/io/PrintStream..0.1...println.
27260 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 01 00 03 6f 62 6a 01 00 2d ..(Ljava/lang/String;)V...obj..-
27280 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f Loptimization/gradientBasedMetho
272a0 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 04 6e 6f 72 6d 01 00 0d 53 74 61 63 6b 4d 61 70 54 ds/Objective;...norm...StackMapT
272c0 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 13 47 72 61 64 69 65 6e 74 4c 32 4e 6f able...SourceFile...GradientL2No
272e0 72 6d 2e 6a 61 76 61 00 21 00 01 00 03 00 01 00 05 00 01 00 04 00 07 00 08 00 00 00 03 00 01 00 rm.java.!.......................
27300 09 00 0a 00 01 00 0b 00 00 00 46 00 03 00 03 00 00 00 0a 2a b7 00 0c 2a 27 b5 00 0f b1 00 00 00 ..........F........*...*'.......
27320 02 00 11 00 00 00 0e 00 03 00 00 00 0f 00 04 00 10 00 09 00 11 00 12 00 00 00 16 00 02 00 00 00 ................................
27340 0a 00 13 00 14 00 00 00 00 00 0a 00 07 00 08 00 01 00 01 00 15 00 0e 00 01 00 0b 00 00 00 2b 00 ..............................+.
27360 00 00 01 00 00 00 01 b1 00 00 00 02 00 11 00 00 00 06 00 01 00 00 00 13 00 12 00 00 00 0c 00 01 ................................
27380 00 00 00 01 00 13 00 14 00 00 00 01 00 16 00 17 00 01 00 0b 00 00 00 77 00 04 00 04 00 00 00 1d .......................w........
273a0 2b b4 00 18 b8 00 1e 49 28 2a b4 00 0f 98 9c 00 0d b2 00 24 12 2a b6 00 2c 04 ac 03 ac 00 00 00 +......I(*.........$.*..,.......
273c0 03 00 11 00 00 00 16 00 05 00 00 00 16 00 08 00 17 00 11 00 18 00 19 00 19 00 1b 00 1b 00 12 00 ................................
273e0 00 00 20 00 03 00 00 00 1d 00 13 00 14 00 00 00 00 00 1d 00 32 00 33 00 01 00 08 00 15 00 34 00 ....................2.3.......4.
27400 08 00 02 00 35 00 00 00 06 00 01 fc 00 1b 03 00 01 00 36 00 00 00 02 00 37 50 4b 03 04 0a 00 00 ....5.............6.....7PK.....
27420 00 00 00 b2 69 d6 3c 62 84 9b 47 c9 02 00 00 c9 02 00 00 2d 00 00 00 6f 70 74 69 6d 69 7a 61 74 ....i.<b..G........-...optimizat
27440 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e ion/stopCriteria/GradientL2Norm.
27460 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 javapackage.optimization.stopCri
27480 74 65 72 69 61 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 teria;..import.optimization.grad
274a0 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f ientBasedMethods.Objective;.impo
274c0 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a rt.optimization.util.MathUtils;.
274e0 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 20 69 6d 70 .public.class.GradientL2Norm.imp
27500 6c 65 6d 65 6e 74 73 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 7b 0a 09 0a 09 2f 2a 2a 0a lements.StopingCriteria{..../**.
27520 09 20 2a 20 53 74 6f 70 20 69 66 20 67 72 61 64 69 65 6e 74 4e 6f 72 6d 2f 28 6f 72 69 67 69 6e ..*.Stop.if.gradientNorm/(origin
27540 61 6c 47 72 61 64 69 65 6e 74 4e 6f 72 6d 29 20 73 6d 61 6c 6c 65 72 0a 09 20 2a 20 74 68 61 6e alGradientNorm).smaller...*.than
27560 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 0a 09 20 2a 2f 0a 09 .gradientConvergenceValue...*/..
27580 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 protected.double.gradientConverg
275a0 65 6e 63 65 56 61 6c 75 65 3b 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 47 72 61 64 69 65 6e 74 4c enceValue;......public.GradientL
275c0 32 4e 6f 72 6d 28 64 6f 75 62 6c 65 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 2Norm(double.gradientConvergence
275e0 56 61 6c 75 65 29 7b 0a 09 09 74 68 69 73 2e 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e Value){...this.gradientConvergen
27600 63 65 56 61 6c 75 65 20 3d 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c ceValue.=.gradientConvergenceVal
27620 75 65 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 7d 0a ue;..}....public.void.reset(){}.
27640 09 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 ...public.boolean.stopOptimizati
27660 6f 6e 28 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 29 7b 0a 09 09 64 6f 75 62 6c 65 20 6e 6f 72 6d on(Objective.obj){...double.norm
27680 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 4c 32 4e 6f 72 6d 28 6f 62 6a 2e 67 72 61 64 69 65 6e 74 .=.MathUtils.L2Norm(obj.gradient
276a0 29 3b 0a 09 09 69 66 28 6e 6f 72 6d 20 3c 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e );...if(norm.<.gradientConvergen
276c0 63 65 56 61 6c 75 65 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 ceValue){....System.out.println(
276e0 22 47 72 61 64 69 65 6e 74 20 6e 6f 72 6d 20 62 65 6c 6f 77 20 74 72 65 73 68 6f 6c 64 22 29 3b "Gradient.norm.below.treshold");
27700 0a 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 66 61 ....return.true;...}...return.fa
27720 6c 73 65 3b 0a 09 09 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 57 7d 23 2f 15 lse;.....}.}.PK.........Y.<W}#/.
27740 07 00 00 15 07 00 00 39 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 .......9...optimization/stopCrit
27760 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 44 69 66 66 65 72 65 6e 63 65 2e 63 eria/NormalizedValueDifference.c
27780 6c 61 73 73 ca fe ba be 00 00 00 32 00 61 07 00 02 01 00 33 6f 70 74 69 6d 69 7a 61 74 69 6f 6e lass.......2.a.....3optimization
277a0 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 44 69 66 /stopCriteria/NormalizedValueDif
277c0 66 65 72 65 6e 63 65 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 06 ference......java/lang/Object...
277e0 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f ..)optimization/stopCriteria/Sto
27800 70 69 6e 67 43 72 69 74 65 72 69 61 01 00 15 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e 63 65 56 pingCriteria...valueConvergenceV
27820 61 6c 75 65 01 00 01 44 01 00 0d 70 72 65 76 69 6f 75 73 56 61 6c 75 65 01 00 0c 63 75 72 72 65 alue...D...previousValue...curre
27840 6e 74 56 61 6c 75 65 01 00 06 3c 69 6e 69 74 3e 01 00 04 28 44 29 56 01 00 04 43 6f 64 65 0a 00 ntValue...<init>...(D)V...Code..
27860 03 00 0f 0c 00 0b 00 10 01 00 03 28 29 56 06 3f 84 7a e1 47 ae 14 7b 09 00 01 00 14 0c 00 07 00 ...........()V.?.z.G..{.........
27880 08 06 7f f8 00 00 00 00 00 00 09 00 01 00 18 0c 00 09 00 08 06 7f f8 00 00 00 00 00 00 09 00 01 ................................
278a0 00 1c 0c 00 0a 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 ..........LineNumberTable...Loca
278c0 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 35 4c 6f 70 74 69 6d 69 7a lVariableTable...this..5Loptimiz
278e0 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c ation/stopCriteria/NormalizedVal
27900 75 65 44 69 66 66 65 72 65 6e 63 65 3b 01 00 05 72 65 73 65 74 06 7f f8 00 00 00 00 00 00 06 7f ueDifference;...reset...........
27920 f8 00 00 00 00 00 00 01 00 10 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 01 00 30 28 4c 6f ..........stopOptimization..0(Lo
27940 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
27960 2f 4f 62 6a 65 63 74 69 76 65 3b 29 5a 0a 00 29 00 2b 07 00 2a 01 00 10 6a 61 76 61 2f 6c 61 6e /Objective;)Z..).+..*...java/lan
27980 67 2f 44 6f 75 62 6c 65 0c 00 2c 00 2d 01 00 05 69 73 4e 61 4e 01 00 04 28 44 29 5a 0a 00 2f 00 g/Double..,.-...isNaN...(D)Z../.
279a0 31 07 00 30 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 1..0..+optimization/gradientBase
279c0 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 0c 00 32 00 33 01 00 08 67 65 74 56 61 6c dMethods/Objective..2.3...getVal
279e0 75 65 01 00 03 28 29 44 0a 00 35 00 37 07 00 36 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 ue...()D..5.7..6...java/lang/Mat
27a00 68 0c 00 38 00 39 01 00 03 61 62 73 01 00 04 28 44 29 44 09 00 3b 00 3d 07 00 3c 01 00 10 6a 61 h..8.9...abs...(D)D..;.=..<...ja
27a20 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 3e 00 3f 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 va/lang/System..>.?...out...Ljav
27a40 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 00 41 01 00 17 6a 61 76 61 2f 6c 61 6e 67 a/io/PrintStream;..A...java/lang
27a60 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 43 01 00 2e 4c 65 61 76 69 6e 67 20 64 69 66 66 /StringBuilder..C...Leaving.diff
27a80 65 72 65 6e 74 20 69 6e 20 76 61 6c 75 65 73 20 69 73 20 74 6f 20 73 6d 61 6c 6c 3a 20 50 72 65 erent.in.values.is.to.small:.Pre
27aa0 76 20 0a 00 40 00 45 0c 00 0b 00 46 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e v...@.E....F...(Ljava/lang/Strin
27ac0 67 3b 29 56 0a 00 40 00 48 0c 00 49 00 4a 01 00 06 61 70 70 65 6e 64 01 00 1c 28 44 29 4c 6a 61 g;)V..@.H..I.J...append...(D)Lja
27ae0 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 4c 01 00 07 20 43 75 72 va/lang/StringBuilder;..L....Cur
27b00 72 3a 20 0a 00 40 00 4e 0c 00 49 00 4f 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 r:...@.N..I.O..-(Ljava/lang/Stri
27b20 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 51 ng;)Ljava/lang/StringBuilder;..Q
27b40 01 00 07 20 64 69 66 66 3a 20 0a 00 40 00 53 0c 00 54 00 55 01 00 08 74 6f 53 74 72 69 6e 67 01 ....diff:...@.S..T.U...toString.
27b60 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 57 00 59 07 00 58 01 00 ..()Ljava/lang/String;..W.Y..X..
27b80 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 5a 00 46 01 00 07 70 72 69 6e .java/io/PrintStream..Z.F...prin
27ba0 74 6c 6e 01 00 03 6f 62 6a 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 tln...obj..-Loptimization/gradie
27bc0 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 09 76 61 6c 75 ntBasedMethods/Objective;...valu
27be0 65 44 69 66 66 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 eDiff...StackMapTable...SourceFi
27c00 6c 65 01 00 1e 4e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 44 69 66 66 65 72 65 6e 63 65 2e 6a le...NormalizedValueDifference.j
27c20 61 76 61 00 21 00 01 00 03 00 01 00 05 00 03 00 04 00 07 00 08 00 00 00 04 00 09 00 08 00 00 00 ava.!...........................
27c40 04 00 0a 00 08 00 00 00 03 00 01 00 0b 00 0c 00 01 00 0d 00 00 00 67 00 03 00 03 00 00 00 1f 2a ......................g........*
27c60 b7 00 0e 2a 14 00 11 b5 00 13 2a 14 00 15 b5 00 17 2a 14 00 19 b5 00 1b 2a 27 b5 00 13 b1 00 00 ...*......*......*......*'......
27c80 00 02 00 1d 00 00 00 1a 00 06 00 00 00 0f 00 04 00 0b 00 0b 00 0c 00 12 00 0d 00 19 00 10 00 1e ................................
27ca0 00 11 00 1e 00 00 00 16 00 02 00 00 00 1f 00 1f 00 20 00 00 00 00 00 1f 00 07 00 08 00 01 00 01 ................................
27cc0 00 21 00 10 00 01 00 0d 00 00 00 41 00 03 00 01 00 00 00 0f 2a 14 00 22 b5 00 17 2a 14 00 24 b5 .!.........A........*.."...*..$.
27ce0 00 1b b1 00 00 00 02 00 1d 00 00 00 0e 00 03 00 00 00 14 00 07 00 15 00 0e 00 16 00 1e 00 00 00 ................................
27d00 0c 00 01 00 00 00 0f 00 1f 00 20 00 00 00 01 00 26 00 27 00 01 00 0d 00 00 01 74 00 06 00 04 00 ................&.'.......t.....
27d20 00 00 cd 2a b4 00 1b b8 00 28 99 00 0d 2a 2b b6 00 2e b5 00 1b 03 ac 2a 2a b4 00 1b b5 00 17 2a ...*.....(...*+........**......*
27d40 2b b6 00 2e b5 00 1b 2a b4 00 17 0e 97 99 00 5b 2a b4 00 17 2a b4 00 1b 67 b8 00 34 2a b4 00 17 +......*.......[*...*...g..4*...
27d60 b8 00 34 6f 49 28 2a b4 00 13 98 9c 00 83 b2 00 3a bb 00 40 59 12 42 b7 00 44 2a b4 00 17 2a b4 ..4oI(*.........:..@Y.B..D*...*.
27d80 00 17 6f b6 00 47 12 4b b6 00 4d 2a b4 00 1b 2a b4 00 17 6f b6 00 47 12 50 b6 00 4d 28 b6 00 47 ..o..G.K..M*...*...o..G.P..M(..G
27da0 b6 00 52 b6 00 56 04 ac 2a b4 00 17 2a b4 00 1b 67 b8 00 34 49 28 2a b4 00 13 98 9c 00 33 b2 00 ..R..V..*...*...g..4I(*......3..
27dc0 3a bb 00 40 59 12 42 b7 00 44 2a b4 00 17 b6 00 47 12 4b b6 00 4d 2a b4 00 1b b6 00 47 12 50 b6 :..@Y.B..D*.....G.K..M*.....G.P.
27de0 00 4d 28 b6 00 47 b6 00 52 b6 00 56 04 ac 03 ac 00 00 00 03 00 1d 00 00 00 56 00 15 00 00 00 1a .M(..G..R..V.............V......
27e00 00 0a 00 1b 00 12 00 1c 00 14 00 1e 00 1c 00 1f 00 24 00 20 00 2d 00 21 00 42 00 22 00 4b 00 23 .................$...-.!.B.".K.#
27e20 00 57 00 24 00 74 00 25 00 80 00 23 00 83 00 26 00 85 00 29 00 92 00 2a 00 9b 00 2b 00 a7 00 2c .W.$.t.%...#...&...)...*...+...,
27e40 00 ba 00 2d 00 c6 00 2b 00 c9 00 2e 00 cb 00 32 00 1e 00 00 00 2a 00 04 00 00 00 cd 00 1f 00 20 ...-...+.......2.....*..........
27e60 00 00 00 00 00 cd 00 5b 00 5c 00 01 00 42 00 43 00 5d 00 08 00 02 00 92 00 39 00 5d 00 08 00 02 .......[.\...B.C.].......9.]....
27e80 00 5e 00 00 00 09 00 03 14 fb 00 70 fb 00 45 00 01 00 5f 00 00 00 02 00 60 50 4b 03 04 0a 00 00 .^.........p..E..._.....`PK.....
27ea0 00 00 00 b2 69 d6 3c d3 d5 2c 16 09 06 00 00 09 06 00 00 38 00 00 00 6f 70 74 69 6d 69 7a 61 74 ....i.<..,.........8...optimizat
27ec0 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 ion/stopCriteria/NormalizedValue
27ee0 44 69 66 66 65 72 65 6e 63 65 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 Difference.javapackage.optimizat
27f00 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 ion.stopCriteria;..import.optimi
27f20 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 zation.gradientBasedMethods.Obje
27f40 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e ctive;.import.optimization.util.
27f60 4d 61 74 68 55 74 69 6c 73 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 4e 6f 72 6d 61 6c 69 MathUtils;..public.class.Normali
27f80 7a 65 64 56 61 6c 75 65 44 69 66 66 65 72 65 6e 63 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 53 74 zedValueDifference.implements.St
27fa0 6f 70 69 6e 67 43 72 69 74 65 72 69 61 7b 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 53 74 6f 70 20 69 opingCriteria{..../**...*.Stop.i
27fc0 66 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 62 65 74 77 65 65 6e 20 76 61 6c 75 65 73 20 69 f.the.different.between.values.i
27fe0 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 61 20 74 72 65 73 68 6f 6c 64 0a 09 20 2a 2f 0a 09 s.smaller.than.a.treshold...*/..
28000 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e 63 protected.double.valueConvergenc
28020 65 56 61 6c 75 65 3d 30 2e 30 31 3b 0a 09 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 70 eValue=0.01;..protected.double.p
28040 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e 4e 61 4e 3b 0a 09 70 72 6f 74 reviousValue.=.Double.NaN;..prot
28060 65 63 74 65 64 20 64 6f 75 62 6c 65 20 63 75 72 72 65 6e 74 56 61 6c 75 65 20 3d 20 44 6f 75 62 ected.double.currentValue.=.Doub
28080 6c 65 2e 4e 61 4e 3b 0a 09 0a 09 70 75 62 6c 69 63 20 4e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 le.NaN;....public.NormalizedValu
280a0 65 44 69 66 66 65 72 65 6e 63 65 28 64 6f 75 62 6c 65 20 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 eDifference(double.valueConverge
280c0 6e 63 65 56 61 6c 75 65 29 7b 0a 09 09 74 68 69 73 2e 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e nceValue){...this.valueConvergen
280e0 63 65 56 61 6c 75 65 20 3d 20 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 3b ceValue.=.valueConvergenceValue;
28100 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 70 72 ..}....public.void.reset(){...pr
28120 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e 4e 61 4e 3b 0a 09 09 63 75 72 72 eviousValue.=.Double.NaN;...curr
28140 65 6e 74 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e 4e 61 4e 3b 0a 09 7d 0a 0a 09 0a 09 70 75 entValue.=.Double.NaN;..}.....pu
28160 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 4f 62 blic.boolean.stopOptimization(Ob
28180 6a 65 63 74 69 76 65 20 6f 62 6a 29 7b 0a 09 09 69 66 28 44 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 jective.obj){...if(Double.isNaN(
281a0 63 75 72 72 65 6e 74 56 61 6c 75 65 29 29 7b 0a 09 09 09 63 75 72 72 65 6e 74 56 61 6c 75 65 20 currentValue)){....currentValue.
281c0 3d 20 6f 62 6a 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 =.obj.getValue();....return.fals
281e0 65 3b 0a 09 09 7d 65 6c 73 65 20 7b 0a 09 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 e;...}else.{....previousValue.=.
28200 63 75 72 72 65 6e 74 56 61 6c 75 65 3b 0a 09 09 09 63 75 72 72 65 6e 74 56 61 6c 75 65 20 3d 20 currentValue;....currentValue.=.
28220 6f 62 6a 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 09 09 09 69 66 28 70 72 65 76 69 6f 75 73 56 61 obj.getValue();....if(previousVa
28240 6c 75 65 20 21 3d 20 30 29 7b 0a 09 09 09 09 64 6f 75 62 6c 65 20 76 61 6c 75 65 44 69 66 66 20 lue.!=.0){.....double.valueDiff.
28260 3d 20 4d 61 74 68 2e 61 62 73 28 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 2d 20 63 75 72 72 65 =.Math.abs(previousValue.-.curre
28280 6e 74 56 61 6c 75 65 29 2f 4d 61 74 68 2e 61 62 73 28 70 72 65 76 69 6f 75 73 56 61 6c 75 65 29 ntValue)/Math.abs(previousValue)
282a0 3b 0a 09 09 09 09 69 66 28 20 76 61 6c 75 65 44 69 66 66 20 20 3c 20 76 61 6c 75 65 43 6f 6e 76 ;.....if(.valueDiff..<.valueConv
282c0 65 72 67 65 6e 63 65 56 61 6c 75 65 29 7b 0a 09 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 ergenceValue){......System.out.p
282e0 72 69 6e 74 6c 6e 28 22 4c 65 61 76 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 69 6e 20 76 61 6c rintln("Leaving.different.in.val
28300 75 65 73 20 69 73 20 74 6f 20 73 6d 61 6c 6c 3a 20 50 72 65 76 20 22 20 0a 09 09 09 09 09 09 09 ues.is.to.small:.Prev.".........
28320 2b 20 28 70 72 65 76 69 6f 75 73 56 61 6c 75 65 2f 70 72 65 76 69 6f 75 73 56 61 6c 75 65 29 20 +.(previousValue/previousValue).
28340 2b 20 22 20 43 75 72 72 3a 20 22 20 2b 20 28 63 75 72 72 65 6e 74 56 61 6c 75 65 2f 70 72 65 76 +.".Curr:.".+.(currentValue/prev
28360 69 6f 75 73 56 61 6c 75 65 29 20 0a 09 09 09 09 09 09 09 2b 20 22 20 64 69 66 66 3a 20 22 20 2b iousValue).........+.".diff:.".+
28380 20 76 61 6c 75 65 44 69 66 66 29 3b 0a 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 .valueDiff);......return.true;..
283a0 09 09 09 7d 0a 09 09 09 7d 65 6c 73 65 7b 0a 09 09 09 09 64 6f 75 62 6c 65 20 76 61 6c 75 65 44 ...}....}else{.....double.valueD
283c0 69 66 66 20 3d 20 4d 61 74 68 2e 61 62 73 28 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 2d 20 63 iff.=.Math.abs(previousValue.-.c
283e0 75 72 72 65 6e 74 56 61 6c 75 65 29 3b 0a 09 09 09 09 69 66 28 20 76 61 6c 75 65 44 69 66 66 20 urrentValue);.....if(.valueDiff.
28400 20 3c 20 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 29 7b 0a 09 09 09 09 09 .<.valueConvergenceValue){......
28420 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4c 65 61 76 69 6e 67 20 64 69 66 66 System.out.println("Leaving.diff
28440 65 72 65 6e 74 20 69 6e 20 76 61 6c 75 65 73 20 69 73 20 74 6f 20 73 6d 61 6c 6c 3a 20 50 72 65 erent.in.values.is.to.small:.Pre
28460 76 20 22 20 0a 09 09 09 09 09 09 09 2b 20 28 70 72 65 76 69 6f 75 73 56 61 6c 75 65 29 20 2b 20 v.".........+.(previousValue).+.
28480 22 20 43 75 72 72 3a 20 22 20 2b 20 28 63 75 72 72 65 6e 74 56 61 6c 75 65 29 20 0a 09 09 09 09 ".Curr:.".+.(currentValue)......
284a0 09 09 09 2b 20 22 20 64 69 66 66 3a 20 22 20 2b 20 76 61 6c 75 65 44 69 66 66 29 3b 0a 09 09 09 ...+.".diff:.".+.valueDiff);....
284c0 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 0a 09 09 09 72 65 ..return.true;.....}....}.....re
284e0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 09 7d 0a 09 09 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 turn.false;...}.....}.}.PK......
28500 00 00 96 59 e5 3c e4 bd f6 16 3c 06 00 00 3c 06 00 00 38 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 ...Y.<....<...<...8...optimizati
28520 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 47 72 61 64 69 65 on/stopCriteria/NormalizedGradie
28540 6e 74 4c 32 4e 6f 72 6d 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 53 07 00 02 01 00 32 6f 70 ntL2Norm.class.......2.S.....2op
28560 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a timization/stopCriteria/Normaliz
28580 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 07 00 04 01 00 28 6f 70 74 69 6d 69 7a 61 74 69 edGradientL2Norm.....(optimizati
285a0 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 01 00 on/stopCriteria/GradientL2Norm..
285c0 14 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4e 6f 72 6d 01 00 01 44 01 00 05 72 65 73 65 .originalGradientNorm...D...rese
285e0 74 01 00 03 28 29 56 01 00 04 43 6f 64 65 06 bf f0 00 00 00 00 00 00 09 00 01 00 0d 0c 00 05 00 t...()V...Code..................
28600 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 ....LineNumberTable...LocalVaria
28620 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 34 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f bleTable...this..4Loptimization/
28640 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 47 72 61 64 69 65 6e 74 4c stopCriteria/NormalizedGradientL
28660 32 4e 6f 72 6d 3b 01 00 06 3c 69 6e 69 74 3e 01 00 04 28 44 29 56 0a 00 03 00 15 0c 00 12 00 13 2Norm;...<init>...(D)V..........
28680 01 00 18 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 01 00 10 73 74 ...gradientConvergenceValue...st
286a0 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 01 00 30 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f opOptimization..0(Loptimization/
286c0 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 29 gradientBasedMethods/Objective;)
286e0 5a 09 00 1a 00 1c 07 00 1b 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e Z..........+optimization/gradien
28700 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 0c 00 1d 00 1e 01 00 08 67 tBasedMethods/Objective........g
28720 72 61 64 69 65 6e 74 01 00 02 5b 44 0a 00 20 00 22 07 00 21 01 00 1b 6f 70 74 69 6d 69 7a 61 74 radient...[D...."..!...optimizat
28740 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 23 00 24 01 00 06 4c 32 4e 6f 72 6d ion/util/MathUtils..#.$...L2Norm
28760 01 00 05 28 5b 44 29 44 06 3d db 7c df d9 d7 bd bb 09 00 28 00 2a 07 00 29 01 00 10 6a 61 76 61 ...([D)D.=.|.......(.*..)...java
28780 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 2b 00 2c 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f /lang/System..+.,...out...Ljava/
287a0 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 00 2e 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 io/PrintStream;......java/lang/S
287c0 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 30 01 00 16 47 72 61 64 69 65 6e 74 20 6e 6f 72 6d 20 tringBuilder..0...Gradient.norm.
287e0 69 73 20 7a 65 72 6f 20 0a 00 2d 00 32 0c 00 12 00 33 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 is.zero...-.2....3...(Ljava/lang
28800 2f 53 74 72 69 6e 67 3b 29 56 0a 00 2d 00 35 0c 00 36 00 37 01 00 06 61 70 70 65 6e 64 01 00 1c /String;)V..-.5..6.7...append...
28820 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 2d 00 (D)Ljava/lang/StringBuilder;..-.
28840 39 0c 00 3a 00 3b 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 9..:.;...toString...()Ljava/lang
28860 2f 53 74 72 69 6e 67 3b 0a 00 3d 00 3f 07 00 3e 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 /String;..=.?..>...java/io/Print
28880 53 74 72 65 61 6d 0c 00 40 00 33 01 00 07 70 72 69 6e 74 6c 6e 09 00 01 00 42 0c 00 16 00 06 08 Stream..@.3...println....B......
288a0 00 44 01 00 2d 47 72 61 64 69 65 6e 74 20 6e 6f 72 6d 20 62 65 6c 6f 77 20 6e 6f 72 6d 61 6c 69 .D..-Gradient.norm.below.normali
288c0 7a 65 64 20 6e 6f 72 6d 74 72 65 73 68 6f 6c 64 3a 20 08 00 46 01 00 0b 20 6f 72 69 67 69 6e 61 zed.normtreshold:...F....origina
288e0 6c 3a 20 0a 00 2d 00 48 0c 00 36 00 49 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 l:...-.H..6.I..-(Ljava/lang/Stri
28900 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 4b ng;)Ljava/lang/StringBuilder;..K
28920 01 00 12 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 6e 6f 72 6d 3a 20 01 00 03 6f 62 6a 01 00 2d 4c 6f ....normalized.norm:....obj..-Lo
28940 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
28960 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 04 6e 6f 72 6d 01 00 0e 6e 6f 72 6d 61 6c 69 7a 65 64 4e /Objective;...norm...normalizedN
28980 6f 72 6d 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 orm...StackMapTable...SourceFile
289a0 01 00 1d 4e 6f 72 6d 61 6c 69 7a 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 6a 61 76 61 ...NormalizedGradientL2Norm.java
289c0 00 21 00 01 00 03 00 00 00 01 00 04 00 05 00 06 00 00 00 03 00 01 00 07 00 08 00 01 00 09 00 00 .!..............................
289e0 00 36 00 03 00 01 00 00 00 08 2a 14 00 0a b5 00 0c b1 00 00 00 02 00 0e 00 00 00 0a 00 02 00 00 .6........*.....................
28a00 00 15 00 07 00 16 00 0f 00 00 00 0c 00 01 00 00 00 08 00 10 00 11 00 00 00 01 00 12 00 13 00 01 ................................
28a20 00 09 00 00 00 49 00 03 00 03 00 00 00 0d 2a 27 b7 00 14 2a 14 00 0a b5 00 0c b1 00 00 00 02 00 .....I........*'...*............
28a40 0e 00 00 00 0e 00 03 00 00 00 18 00 05 00 12 00 0c 00 19 00 0f 00 00 00 16 00 02 00 00 00 0d 00 ................................
28a60 10 00 11 00 00 00 00 00 0d 00 16 00 06 00 01 00 01 00 17 00 18 00 01 00 09 00 00 01 03 00 04 00 ................................
28a80 06 00 00 00 82 2b b4 00 19 b8 00 1f 49 2a b4 00 0c 14 00 0a 97 9a 00 08 2a 28 b5 00 0c 2a b4 00 .....+......I*..........*(...*..
28aa0 0c 14 00 25 98 9c 00 1e b2 00 27 bb 00 2d 59 12 2f b7 00 31 2a b4 00 0c b6 00 34 b6 00 38 b6 00 ...%......'..-Y./..1*.....4..8..
28ac0 3c 04 ac 0f 28 6b 2a b4 00 0c 6f 39 04 18 04 2a b4 00 41 98 9c 00 31 b2 00 27 bb 00 2d 59 12 43 <...(k*...o9...*..A...1..'..-Y.C
28ae0 b7 00 31 28 b6 00 34 12 45 b6 00 47 2a b4 00 0c b6 00 34 12 4a b6 00 47 18 04 b6 00 34 b6 00 38 ..1(..4.E..G*.....4.J..G....4..8
28b00 b6 00 3c 04 ac 03 ac 00 00 00 03 00 0e 00 00 00 2e 00 0b 00 00 00 1f 00 08 00 20 00 13 00 21 00 ..<...........................!.
28b20 18 00 23 00 23 00 24 00 3c 00 25 00 3e 00 27 00 48 00 28 00 52 00 29 00 7e 00 2a 00 80 00 2d 00 ..#.#.$.<.%.>.'.H.(.R.).~.*...-.
28b40 0f 00 00 00 2a 00 04 00 00 00 82 00 10 00 11 00 00 00 00 00 82 00 4c 00 4d 00 01 00 08 00 7a 00 ....*.................L.M.....z.
28b60 4e 00 06 00 02 00 48 00 3a 00 4f 00 06 00 04 00 50 00 00 00 0b 00 03 fc 00 18 03 25 fc 00 41 03 N.....H.:.O.....P..........%..A.
28b80 00 01 00 51 00 00 00 02 00 52 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 98 1f 92 c7 42 05 00 00 ...Q.....RPK.........i.<....B...
28ba0 42 05 00 00 37 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 B...7...optimization/stopCriteri
28bc0 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 6a 61 76 61 70 a/NormalizedGradientL2Norm.javap
28be0 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 ackage.optimization.stopCriteria
28c00 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 ;..import.optimization.gradientB
28c20 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 asedMethods.Objective;.import.op
28c40 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e timization.gradientBasedMethods.
28c60 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d ProjectedObjective;.import.optim
28c80 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 69 6c 73 3b 0a 0a 2f 2a 2a 0a 20 2a 20 ization.util.MathUtils;../**..*.
28ca0 44 69 76 69 64 65 73 20 74 68 65 20 6e 6f 72 6d 20 62 79 20 74 68 65 20 6e 6f 72 6d 20 61 74 20 Divides.the.norm.by.the.norm.at.
28cc0 74 68 65 20 62 65 67 69 6e 69 6e 67 20 6f 66 20 74 68 65 20 69 74 65 72 61 74 69 6f 6e 0a 20 2a the.begining.of.the.iteration..*
28ce0 20 40 61 75 74 68 6f 72 20 6a 61 76 67 0a 20 2a 0a 20 2a 2f 0a 70 75 62 6c 69 63 20 63 6c 61 73 .@author.javg..*..*/.public.clas
28d00 73 20 4e 6f 72 6d 61 6c 69 7a 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 20 65 78 74 65 6e s.NormalizedGradientL2Norm.exten
28d20 64 73 20 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 7b 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 53 74 ds.GradientL2Norm{..../**...*.St
28d40 6f 70 20 69 66 20 67 72 61 64 69 65 6e 74 4e 6f 72 6d 2f 28 6f 72 69 67 69 6e 61 6c 47 72 61 64 op.if.gradientNorm/(originalGrad
28d60 69 65 6e 74 4e 6f 72 6d 29 20 73 6d 61 6c 6c 65 72 0a 09 20 2a 20 74 68 61 6e 20 67 72 61 64 69 ientNorm).smaller...*.than.gradi
28d80 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 0a 09 20 2a 2f 0a 09 70 72 6f 74 65 63 entConvergenceValue...*/..protec
28da0 74 65 64 20 64 6f 75 62 6c 65 20 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4e 6f 72 6d 20 ted.double.originalGradientNorm.
28dc0 3d 20 2d 31 3b 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 =.-1;....public.void.reset(){...
28de0 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4e 6f 72 6d 20 3d 20 2d 31 3b 0a 09 7d 0a 09 70 originalGradientNorm.=.-1;..}..p
28e00 75 62 6c 69 63 20 4e 6f 72 6d 61 6c 69 7a 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 28 64 ublic.NormalizedGradientL2Norm(d
28e20 6f 75 62 6c 65 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 29 7b ouble.gradientConvergenceValue){
28e40 0a 09 09 73 75 70 65 72 28 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 ...super(gradientConvergenceValu
28e60 65 29 3b 0a 09 7d 0a 09 0a 09 0a 09 20 0a 09 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 e);..}...........public.boolean.
28e80 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 29 7b stopOptimization(Objective.obj){
28ea0 0a 09 09 09 64 6f 75 62 6c 65 20 6e 6f 72 6d 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 4c 32 4e 6f ....double.norm.=.MathUtils.L2No
28ec0 72 6d 28 6f 62 6a 2e 67 72 61 64 69 65 6e 74 29 3b 0a 09 09 09 69 66 28 6f 72 69 67 69 6e 61 6c rm(obj.gradient);....if(original
28ee0 47 72 61 64 69 65 6e 74 4e 6f 72 6d 20 3d 3d 20 2d 31 29 7b 0a 09 09 09 09 6f 72 69 67 69 6e 61 GradientNorm.==.-1){.....origina
28f00 6c 47 72 61 64 69 65 6e 74 4e 6f 72 6d 20 3d 20 6e 6f 72 6d 3b 0a 09 09 09 7d 0a 09 09 09 69 66 lGradientNorm.=.norm;....}....if
28f20 28 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4e 6f 72 6d 20 3c 20 31 45 2d 31 30 29 7b 0a (originalGradientNorm.<.1E-10){.
28f40 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 47 72 61 64 69 65 6e 74 ....System.out.println("Gradient
28f60 20 6e 6f 72 6d 20 69 73 20 7a 65 72 6f 20 22 20 2b 20 20 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 .norm.is.zero.".+..originalGradi
28f80 65 6e 74 4e 6f 72 6d 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 09 09 7d 0a entNorm);.....return.true;....}.
28fa0 09 09 09 64 6f 75 62 6c 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 4e 6f 72 6d 20 3d 20 31 2e 30 2a 6e ...double.normalizedNorm.=.1.0*n
28fc0 6f 72 6d 2f 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4e 6f 72 6d 3b 0a 09 09 09 69 66 28 orm/originalGradientNorm;....if(
28fe0 20 6e 6f 72 6d 61 6c 69 7a 65 64 4e 6f 72 6d 20 3c 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 .normalizedNorm.<.gradientConver
29000 67 65 6e 63 65 56 61 6c 75 65 29 7b 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e genceValue){.....System.out.prin
29020 74 6c 6e 28 22 47 72 61 64 69 65 6e 74 20 6e 6f 72 6d 20 62 65 6c 6f 77 20 6e 6f 72 6d 61 6c 69 tln("Gradient.norm.below.normali
29040 7a 65 64 20 6e 6f 72 6d 74 72 65 73 68 6f 6c 64 3a 20 22 20 2b 20 6e 6f 72 6d 20 2b 20 22 20 6f zed.normtreshold:.".+.norm.+.".o
29060 72 69 67 69 6e 61 6c 3a 20 22 20 2b 20 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4e 6f 72 riginal:.".+.originalGradientNor
29080 6d 20 2b 20 22 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 6e 6f 72 6d 3a 20 22 20 2b 20 6e 6f 72 6d 61 m.+.".normalized.norm:.".+.norma
290a0 6c 69 7a 65 64 4e 6f 72 6d 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 09 09 lizedNorm);.....return.true;....
290c0 7d 65 6c 73 65 7b 0a 2f 2f 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 }else{.//....System.out.println(
290e0 22 70 72 6f 6a 65 63 74 65 64 20 67 72 61 64 69 65 6e 74 20 6e 6f 72 6d 3a 20 22 20 2b 20 6e 6f "projected.gradient.norm:.".+.no
29100 72 6d 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 09 09 7d 0a 09 7d 0a 7d rm);.....return.false;....}..}.}
29120 0a 50 4b 03 04 0a 00 00 00 00 00 cc 7c e6 3c 68 2b 76 59 4f 04 00 00 4f 04 00 00 2f 00 00 00 6f .PK.........|.<h+vYO...O.../...o
29140 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 56 61 6c 75 65 44 69 ptimization/stopCriteria/ValueDi
29160 66 66 65 72 65 6e 63 65 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 39 07 00 02 01 00 29 6f 70 fference.class.......2.9.....)op
29180 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 56 61 6c 75 65 44 69 66 timization/stopCriteria/ValueDif
291a0 66 65 72 65 6e 63 65 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 06 ference......java/lang/Object...
291c0 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f ..)optimization/stopCriteria/Sto
291e0 70 69 6e 67 43 72 69 74 65 72 69 61 01 00 15 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e 63 65 56 pingCriteria...valueConvergenceV
29200 61 6c 75 65 01 00 01 44 01 00 0d 70 72 65 76 69 6f 75 73 56 61 6c 75 65 01 00 0c 63 75 72 72 65 alue...D...previousValue...curre
29220 6e 74 56 61 6c 75 65 01 00 06 3c 69 6e 69 74 3e 01 00 04 28 44 29 56 01 00 04 43 6f 64 65 0a 00 ntValue...<init>...(D)V...Code..
29240 03 00 0f 0c 00 0b 00 10 01 00 03 28 29 56 06 3f 84 7a e1 47 ae 14 7b 09 00 01 00 14 0c 00 07 00 ...........()V.?.z.G..{.........
29260 08 06 7f f8 00 00 00 00 00 00 09 00 01 00 18 0c 00 09 00 08 06 7f f8 00 00 00 00 00 00 09 00 01 ................................
29280 00 1c 0c 00 0a 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 ..........LineNumberTable...Loca
292a0 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 2b 4c 6f 70 74 69 6d 69 7a lVariableTable...this..+Loptimiz
292c0 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 56 61 6c 75 65 44 69 66 66 65 72 65 6e ation/stopCriteria/ValueDifferen
292e0 63 65 3b 01 00 05 72 65 73 65 74 06 7f f8 00 00 00 00 00 00 06 7f f8 00 00 00 00 00 00 01 00 10 ce;...reset.....................
29300 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 01 00 30 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f stopOptimization..0(Loptimizatio
29320 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 n/gradientBasedMethods/Objective
29340 3b 29 5a 0a 00 29 00 2b 07 00 2a 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 0c 00 ;)Z..).+..*...java/lang/Double..
29360 2c 00 2d 01 00 05 69 73 4e 61 4e 01 00 04 28 44 29 5a 0a 00 2f 00 31 07 00 30 01 00 2b 6f 70 74 ,.-...isNaN...(D)Z../.1..0..+opt
29380 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f imization/gradientBasedMethods/O
293a0 62 6a 65 63 74 69 76 65 0c 00 32 00 33 01 00 08 67 65 74 56 61 6c 75 65 01 00 03 28 29 44 01 00 bjective..2.3...getValue...()D..
293c0 03 6f 62 6a 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 .obj..-Loptimization/gradientBas
293e0 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 0d 53 74 61 63 6b 4d 61 70 54 edMethods/Objective;...StackMapT
29400 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 14 56 61 6c 75 65 44 69 66 66 65 72 65 able...SourceFile...ValueDiffere
29420 6e 63 65 2e 6a 61 76 61 00 21 00 01 00 03 00 01 00 05 00 03 00 04 00 07 00 08 00 00 00 04 00 09 nce.java.!......................
29440 00 08 00 00 00 04 00 0a 00 08 00 00 00 03 00 01 00 0b 00 0c 00 01 00 0d 00 00 00 67 00 03 00 03 ...........................g....
29460 00 00 00 1f 2a b7 00 0e 2a 14 00 11 b5 00 13 2a 14 00 15 b5 00 17 2a 14 00 19 b5 00 1b 2a 27 b5 ....*...*......*......*......*'.
29480 00 13 b1 00 00 00 02 00 1d 00 00 00 1a 00 06 00 00 00 0f 00 04 00 0b 00 0b 00 0c 00 12 00 0d 00 ................................
294a0 19 00 10 00 1e 00 11 00 1e 00 00 00 16 00 02 00 00 00 1f 00 1f 00 20 00 00 00 00 00 1f 00 07 00 ................................
294c0 08 00 01 00 01 00 21 00 10 00 01 00 0d 00 00 00 41 00 03 00 01 00 00 00 0f 2a 14 00 22 b5 00 17 ......!.........A........*.."...
294e0 2a 14 00 24 b5 00 1b b1 00 00 00 02 00 1d 00 00 00 0e 00 03 00 00 00 14 00 07 00 15 00 0e 00 16 *..$............................
29500 00 1e 00 00 00 0c 00 01 00 00 00 0f 00 1f 00 20 00 00 00 01 00 26 00 27 00 01 00 0d 00 00 00 93 .....................&.'........
29520 00 04 00 02 00 00 00 39 2a b4 00 1b b8 00 28 99 00 0d 2a 2b b6 00 2e b5 00 1b 03 ac 2a 2a b4 00 .......9*.....(...*+........**..
29540 1b b5 00 17 2a 2b b6 00 2e b5 00 1b 2a b4 00 17 2a b4 00 1b 67 2a b4 00 13 98 9c 00 05 04 ac 03 ....*+......*...*...g*..........
29560 ac 00 00 00 03 00 1d 00 00 00 22 00 08 00 00 00 19 00 0a 00 1a 00 12 00 1b 00 14 00 1d 00 1c 00 ..........".....................
29580 1e 00 24 00 1f 00 35 00 23 00 37 00 25 00 1e 00 00 00 16 00 02 00 00 00 39 00 1f 00 20 00 00 00 ..$...5.#.7.%...........9.......
295a0 00 00 39 00 34 00 35 00 01 00 36 00 00 00 04 00 02 14 22 00 01 00 37 00 00 00 02 00 38 50 4b 03 ..9.4.5...6......."...7.....8PK.
295c0 04 0a 00 00 00 00 00 cc 7c e6 3c ba b3 9f ec 54 04 00 00 54 04 00 00 2e 00 00 00 6f 70 74 69 6d ........|.<....T...T.......optim
295e0 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 56 61 6c 75 65 44 69 66 66 65 72 ization/stopCriteria/ValueDiffer
29600 65 6e 63 65 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 ence.javapackage.optimization.st
29620 6f 70 43 72 69 74 65 72 69 61 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e opCriteria;..import.optimization
29640 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 3b .gradientBasedMethods.Objective;
29660 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 74 68 55 74 .import.optimization.util.MathUt
29680 69 6c 73 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 56 61 6c 75 65 44 69 66 66 65 72 65 6e ils;..public.class.ValueDifferen
296a0 63 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 7b 0a 09 ce.implements.StopingCriteria{..
296c0 0a 09 2f 2a 2a 0a 09 20 2a 20 53 74 6f 70 20 69 66 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 ../**...*.Stop.if.the.different.
296e0 62 65 74 77 65 65 6e 20 76 61 6c 75 65 73 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 61 between.values.is.smaller.than.a
29700 20 74 72 65 73 68 6f 6c 64 0a 09 20 2a 2f 0a 09 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 .treshold...*/..protected.double
29720 20 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 3d 30 2e 30 31 3b 0a 09 70 72 .valueConvergenceValue=0.01;..pr
29740 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 44 otected.double.previousValue.=.D
29760 6f 75 62 6c 65 2e 4e 61 4e 3b 0a 09 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 6c 65 20 63 75 72 ouble.NaN;..protected.double.cur
29780 72 65 6e 74 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e 4e 61 4e 3b 0a 09 0a 09 70 75 62 6c 69 rentValue.=.Double.NaN;....publi
297a0 63 20 56 61 6c 75 65 44 69 66 66 65 72 65 6e 63 65 28 64 6f 75 62 6c 65 20 76 61 6c 75 65 43 6f c.ValueDifference(double.valueCo
297c0 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 29 7b 0a 09 09 74 68 69 73 2e 76 61 6c 75 65 43 6f 6e nvergenceValue){...this.valueCon
297e0 76 65 72 67 65 6e 63 65 56 61 6c 75 65 20 3d 20 76 61 6c 75 65 43 6f 6e 76 65 72 67 65 6e 63 65 vergenceValue.=.valueConvergence
29800 56 61 6c 75 65 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 Value;..}....public.void.reset()
29820 7b 0a 09 09 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e 4e 61 4e 3b 0a {...previousValue.=.Double.NaN;.
29840 09 09 63 75 72 72 65 6e 74 56 61 6c 75 65 20 3d 20 44 6f 75 62 6c 65 2e 4e 61 4e 3b 0a 09 7d 0a ..currentValue.=.Double.NaN;..}.
29860 09 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 ...public.boolean.stopOptimizati
29880 6f 6e 28 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 29 7b 0a 09 09 69 66 28 44 6f 75 62 6c 65 2e 69 on(Objective.obj){...if(Double.i
298a0 73 4e 61 4e 28 63 75 72 72 65 6e 74 56 61 6c 75 65 29 29 7b 0a 09 09 09 63 75 72 72 65 6e 74 56 sNaN(currentValue)){....currentV
298c0 61 6c 75 65 20 3d 20 6f 62 6a 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 09 09 09 72 65 74 75 72 6e alue.=.obj.getValue();....return
298e0 20 66 61 6c 73 65 3b 0a 09 09 7d 65 6c 73 65 20 7b 0a 09 09 09 70 72 65 76 69 6f 75 73 56 61 6c .false;...}else.{....previousVal
29900 75 65 20 3d 20 63 75 72 72 65 6e 74 56 61 6c 75 65 3b 0a 09 09 09 63 75 72 72 65 6e 74 56 61 6c ue.=.currentValue;....currentVal
29920 75 65 20 3d 20 6f 62 6a 2e 67 65 74 56 61 6c 75 65 28 29 3b 0a 09 09 09 69 66 28 70 72 65 76 69 ue.=.obj.getValue();....if(previ
29940 6f 75 73 56 61 6c 75 65 20 2d 20 63 75 72 72 65 6e 74 56 61 6c 75 65 20 20 20 3c 20 76 61 6c 75 ousValue.-.currentValue...<.valu
29960 65 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 29 7b 0a 2f 2f 09 09 09 09 53 79 73 74 65 6d eConvergenceValue){.//....System
29980 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4c 65 61 76 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 .out.println("Leaving.different.
299a0 69 6e 20 76 61 6c 75 65 73 20 69 73 20 74 6f 20 73 6d 61 6c 6c 3a 20 50 72 65 76 20 22 20 0a 2f in.values.is.to.small:.Prev."../
299c0 2f 09 09 09 09 09 09 2b 20 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 2b 20 22 20 43 75 72 72 3a /......+.previousValue.+.".Curr:
299e0 20 22 20 2b 20 63 75 72 72 65 6e 74 56 61 6c 75 65 20 0a 2f 2f 09 09 09 09 09 09 2b 20 22 20 64 .".+.currentValue..//......+.".d
29a00 69 66 66 3a 20 22 20 2b 20 28 70 72 65 76 69 6f 75 73 56 61 6c 75 65 20 2d 20 63 75 72 72 65 6e iff:.".+.(previousValue.-.curren
29a20 74 56 61 6c 75 65 29 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 09 09 7d 0a tValue));.....return.true;....}.
29a40 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 09 7d 0a 09 09 0a 09 7d 0a 7d 0a 50 4b 03 ...return.false;...}.....}.}.PK.
29a60 04 0a 00 00 00 00 00 96 59 e5 3c fa 9e 90 50 bd 05 00 00 bd 05 00 00 38 00 00 00 6f 70 74 69 6d ........Y.<...P........8...optim
29a80 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 43 6f 6d 70 6f 73 69 74 65 53 74 ization/stopCriteria/CompositeSt
29aa0 6f 70 69 6e 67 43 72 69 74 65 72 69 61 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 3c 07 00 02 opingCriteria.class.......2.<...
29ac0 01 00 32 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 43 6f 6d ..2optimization/stopCriteria/Com
29ae0 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 07 00 04 01 00 10 6a 61 76 61 2f positeStopingCriteria......java/
29b00 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 06 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 lang/Object.....)optimization/st
29b20 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 01 00 09 63 72 69 opCriteria/StopingCriteria...cri
29b40 74 65 72 69 61 73 01 00 15 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 73 74 3b 01 00 terias...Ljava/util/ArrayList;..
29b60 09 53 69 67 6e 61 74 75 72 65 01 00 42 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 73 .Signature..BLjava/util/ArrayLis
29b80 74 3c 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f t<Loptimization/stopCriteria/Sto
29ba0 70 69 6e 67 43 72 69 74 65 72 69 61 3b 3e 3b 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 pingCriteria;>;...<init>...()V..
29bc0 04 43 6f 64 65 0a 00 03 00 0f 0c 00 0b 00 0c 07 00 11 01 00 13 6a 61 76 61 2f 75 74 69 6c 2f 41 .Code................java/util/A
29be0 72 72 61 79 4c 69 73 74 0a 00 10 00 0f 09 00 01 00 14 0c 00 07 00 08 01 00 0f 4c 69 6e 65 4e 75 rrayList..................LineNu
29c00 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 mberTable...LocalVariableTable..
29c20 04 74 68 69 73 01 00 34 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 .this..4Loptimization/stopCriter
29c40 69 61 2f 43 6f 6d 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 01 00 03 61 ia/CompositeStopingCriteria;...a
29c60 64 64 01 00 2e 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 dd...(Loptimization/stopCriteria
29c80 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 29 56 0a 00 10 00 1c 0c 00 19 00 1d 01 00 15 /StopingCriteria;)V.............
29ca0 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 5a 01 00 08 63 72 69 74 65 72 69 61 (Ljava/lang/Object;)Z...criteria
29cc0 01 00 2b 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 ..+Loptimization/stopCriteria/St
29ce0 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3b 01 00 10 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f opingCriteria;...stopOptimizatio
29d00 6e 01 00 30 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 n..0(Loptimization/gradientBased
29d20 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 29 5a 0a 00 10 00 23 0c 00 24 00 25 01 00 Methods/Objective;)Z....#..$.%..
29d40 08 69 74 65 72 61 74 6f 72 01 00 16 28 29 4c 6a 61 76 61 2f 75 74 69 6c 2f 49 74 65 72 61 74 6f .iterator...()Ljava/util/Iterato
29d60 72 3b 0b 00 27 00 29 07 00 28 01 00 12 6a 61 76 61 2f 75 74 69 6c 2f 49 74 65 72 61 74 6f 72 0c r;..'.)..(...java/util/Iterator.
29d80 00 2a 00 2b 01 00 04 6e 65 78 74 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 .*.+...next...()Ljava/lang/Objec
29da0 74 3b 0b 00 05 00 2d 0c 00 20 00 21 0b 00 27 00 2f 0c 00 30 00 31 01 00 07 68 61 73 4e 65 78 74 t;....-....!..'./..0.1...hasNext
29dc0 01 00 03 28 29 5a 01 00 03 6f 62 6a 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 ...()Z...obj..-Loptimization/gra
29de0 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 0d 53 dientBasedMethods/Objective;...S
29e00 74 61 63 6b 4d 61 70 54 61 62 6c 65 07 00 36 01 00 2b 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 tackMapTable..6..+optimization/g
29e20 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 01 00 05 radientBasedMethods/Objective...
29e40 72 65 73 65 74 0b 00 05 00 39 0c 00 37 00 0c 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 1d 43 reset....9..7.....SourceFile...C
29e60 6f 6d 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 2e 6a 61 76 61 00 21 00 01 ompositeStopingCriteria.java.!..
29e80 00 03 00 01 00 05 00 01 00 00 00 07 00 08 00 01 00 09 00 00 00 02 00 0a 00 04 00 01 00 0b 00 0c ................................
29ea0 00 01 00 0d 00 00 00 42 00 03 00 01 00 00 00 10 2a b7 00 0e 2a bb 00 10 59 b7 00 12 b5 00 13 b1 .......B........*...*...Y.......
29ec0 00 00 00 02 00 15 00 00 00 0e 00 03 00 00 00 0b 00 04 00 0c 00 0f 00 0d 00 16 00 00 00 0c 00 01 ................................
29ee0 00 00 00 10 00 17 00 18 00 00 00 01 00 19 00 1a 00 01 00 0d 00 00 00 42 00 02 00 02 00 00 00 0a .......................B........
29f00 2a b4 00 13 2b b6 00 1b 57 b1 00 00 00 02 00 15 00 00 00 0a 00 02 00 00 00 10 00 09 00 11 00 16 *...+...W.......................
29f20 00 00 00 16 00 02 00 00 00 0a 00 17 00 18 00 00 00 00 00 0a 00 1e 00 1f 00 01 00 01 00 20 00 21 ...............................!
29f40 00 01 00 0d 00 00 00 94 00 02 00 04 00 00 00 2c 2a b4 00 13 b6 00 22 4e a7 00 19 2d b9 00 26 01 ...............,*....."N...-..&.
29f60 00 c0 00 05 4d 2c 2b b9 00 2c 02 00 99 00 05 04 ac 2d b9 00 2e 01 00 9a ff e4 03 ac 00 00 00 03 ....M,+..,.......-..............
29f80 00 15 00 00 00 16 00 05 00 00 00 14 00 15 00 15 00 1f 00 16 00 21 00 14 00 2a 00 19 00 16 00 00 .....................!...*......
29fa0 00 20 00 03 00 00 00 2c 00 17 00 18 00 00 00 00 00 2c 00 32 00 33 00 01 00 15 00 0c 00 1e 00 1f .......,.........,.2.3..........
29fc0 00 02 00 34 00 00 00 14 00 02 ff 00 0b 00 04 07 00 01 07 00 35 00 07 00 27 00 00 15 00 01 00 37 ...4................5...'......7
29fe0 00 0c 00 01 00 0d 00 00 00 7c 00 01 00 03 00 00 00 25 2a b4 00 13 b6 00 22 4d a7 00 13 2c b9 00 .........|.......%*....."M...,..
2a000 26 01 00 c0 00 05 4c 2b b9 00 38 01 00 2c b9 00 2e 01 00 9a ff ea b1 00 00 00 03 00 15 00 00 00 &.....L+..8..,..................
2a020 12 00 04 00 00 00 1d 00 15 00 1e 00 1b 00 1d 00 24 00 20 00 16 00 00 00 16 00 02 00 00 00 25 00 ................$.............%.
2a040 17 00 18 00 00 00 15 00 06 00 1e 00 1f 00 01 00 34 00 00 00 11 00 02 ff 00 0b 00 03 07 00 01 00 ................4...............
2a060 07 00 27 00 00 0f 00 01 00 3a 00 00 00 02 00 3b 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 37 29 ..'......:.....;PK.........i.<7)
2a080 fc d3 9d 02 00 00 9d 02 00 00 37 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 ..........7...optimization/stopC
2a0a0 72 69 74 65 72 69 61 2f 43 6f 6d 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 riteria/CompositeStopingCriteria
2a0c0 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 73 74 6f 70 43 72 .javapackage.optimization.stopCr
2a0e0 69 74 65 72 69 61 3b 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 4c iteria;..import.java.util.ArrayL
2a100 69 73 74 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 ist;..import.optimization.gradie
2a120 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a 65 63 74 69 76 65 3b 0a 0a 70 75 62 6c 69 ntBasedMethods.Objective;..publi
2a140 63 20 63 6c 61 73 73 20 43 6f 6d 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 c.class.CompositeStopingCriteria
2a160 20 69 6d 70 6c 65 6d 65 6e 74 73 20 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 7b 0a 09 0a .implements.StopingCriteria.{...
2a180 09 41 72 72 61 79 4c 69 73 74 3c 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3e 20 63 72 69 74 .ArrayList<StopingCriteria>.crit
2a1a0 65 72 69 61 73 3b 0a 09 0a 09 70 75 62 6c 69 63 20 43 6f 6d 70 6f 73 69 74 65 53 74 6f 70 69 6e erias;....public.CompositeStopin
2a1c0 67 43 72 69 74 65 72 69 61 28 29 20 7b 0a 09 09 63 72 69 74 65 72 69 61 73 20 3d 20 6e 65 77 20 gCriteria().{...criterias.=.new.
2a1e0 41 72 72 61 79 4c 69 73 74 3c 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 3e 28 29 3b 0a 09 7d ArrayList<StopingCriteria>();..}
2a200 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 61 64 64 28 53 74 6f 70 69 6e 67 43 72 69 74 65 ....public.void.add(StopingCrite
2a220 72 69 61 20 63 72 69 74 65 72 69 61 29 7b 0a 09 09 63 72 69 74 65 72 69 61 73 2e 61 64 64 28 63 ria.criteria){...criterias.add(c
2a240 72 69 74 65 72 69 61 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 73 riteria);..}....public.boolean.s
2a260 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 29 7b 0a topOptimization(Objective.obj){.
2a280 09 09 66 6f 72 28 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 63 72 69 74 65 72 69 61 3a 20 ..for(StopingCriteria.criteria:.
2a2a0 63 72 69 74 65 72 69 61 73 29 7b 0a 09 09 09 69 66 28 63 72 69 74 65 72 69 61 2e 73 74 6f 70 4f criterias){....if(criteria.stopO
2a2c0 70 74 69 6d 69 7a 61 74 69 6f 6e 28 6f 62 6a 29 29 7b 0a 09 09 09 09 72 65 74 75 72 6e 20 74 72 ptimization(obj)){.....return.tr
2a2e0 75 65 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 7d 0a ue;....}...}...return.false;..}.
2a300 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 66 6f 72 28 53 74 ...public.void.reset(){...for(St
2a320 6f 70 69 6e 67 43 72 69 74 65 72 69 61 20 63 72 69 74 65 72 69 61 3a 20 63 72 69 74 65 72 69 61 opingCriteria.criteria:.criteria
2a340 73 29 7b 0a 09 09 09 63 72 69 74 65 72 69 61 2e 72 65 73 65 74 28 29 3b 0a 09 09 7d 0a 09 7d 0a s){....criteria.reset();...}..}.
2a360 7d 0a 50 4b 03 04 0a 00 00 00 00 00 c6 7c e6 3c 86 2e 32 7a e5 06 00 00 e5 06 00 00 37 00 00 00 }.PK.........|.<..2z........7...
2a380 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 50 72 6f 6a 65 63 optimization/stopCriteria/Projec
2a3a0 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 tedGradientL2Norm.class.......2.
2a3c0 58 07 00 02 01 00 31 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 X.....1optimization/stopCriteria
2a3e0 2f 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 07 00 04 01 00 10 6a 61 /ProjectedGradientL2Norm......ja
2a400 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 06 01 00 29 6f 70 74 69 6d 69 7a 61 74 69 6f 6e va/lang/Object.....)optimization
2a420 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 01 00 18 /stopCriteria/StopingCriteria...
2a440 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 01 00 01 44 01 00 06 3c gradientConvergenceValue...D...<
2a460 69 6e 69 74 3e 01 00 04 28 44 29 56 01 00 04 43 6f 64 65 0a 00 03 00 0d 0c 00 09 00 0e 01 00 03 init>...(D)V...Code.............
2a480 28 29 56 09 00 01 00 10 0c 00 07 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 ()V.............LineNumberTable.
2a4a0 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 33 4c 6f ..LocalVariableTable...this..3Lo
2a4c0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 50 72 6f 6a 65 63 74 ptimization/stopCriteria/Project
2a4e0 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 3b 01 00 05 72 65 73 65 74 01 00 0f 70 72 6f 6a edGradientL2Norm;...reset...proj
2a500 65 63 74 47 72 61 64 69 65 6e 74 01 00 3a 28 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 ectGradient..:(Loptimization/gra
2a520 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 dientBasedMethods/ProjectedObjec
2a540 74 69 76 65 3b 29 5b 44 09 00 19 00 1b 07 00 1a 01 00 34 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f tive;)[D..........4optimization/
2a560 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 gradientBasedMethods/ProjectedOb
2a580 6a 65 63 74 69 76 65 0c 00 1c 00 1d 01 00 0d 61 75 78 50 61 72 61 6d 65 74 65 72 73 01 00 02 5b jective........auxParameters...[
2a5a0 44 0a 00 19 00 1f 0c 00 20 00 21 01 00 10 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 01 00 D.........!...getNumParameters..
2a5c0 03 28 29 49 0a 00 19 00 23 0c 00 24 00 25 01 00 0d 67 65 74 50 61 72 61 6d 65 74 65 72 73 01 00 .()I....#..$.%...getParameters..
2a5e0 04 28 29 5b 44 0a 00 27 00 29 07 00 28 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d .()[D..'.)..(...java/lang/System
2a600 0c 00 2a 00 2b 01 00 09 61 72 72 61 79 63 6f 70 79 01 00 2a 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f ..*.+...arraycopy..*(Ljava/lang/
2a620 4f 62 6a 65 63 74 3b 49 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 49 29 56 09 00 Object;ILjava/lang/Object;II)V..
2a640 19 00 2d 0c 00 2e 00 1d 01 00 08 67 72 61 64 69 65 6e 74 0a 00 30 00 32 07 00 31 01 00 1b 6f 70 ..-........gradient..0.2..1...op
2a660 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 0c 00 33 00 34 01 00 timization/util/MathUtils..3.4..
2a680 0b 6d 69 6e 75 73 45 71 75 61 6c 73 01 00 08 28 5b 44 5b 44 44 29 56 0a 00 19 00 36 0c 00 37 00 .minusEquals...([D[DD)V....6..7.
2a6a0 38 01 00 0c 70 72 6f 6a 65 63 74 50 6f 69 6e 74 01 00 06 28 5b 44 29 5b 44 01 00 03 6f 62 6a 01 8...projectPoint...([D)[D...obj.
2a6c0 00 36 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 .6Loptimization/gradientBasedMet
2a6e0 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 3b 01 00 0d 53 74 61 63 6b hods/ProjectedObjective;...Stack
2a700 4d 61 70 54 61 62 6c 65 01 00 10 73 74 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 01 00 30 28 4c MapTable...stopOptimization..0(L
2a720 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 optimization/gradientBasedMethod
2a740 73 2f 4f 62 6a 65 63 74 69 76 65 3b 29 5a 0a 00 01 00 3f 0c 00 16 00 17 0a 00 30 00 41 0c 00 42 s/Objective;)Z....?.......0.A..B
2a760 00 43 01 00 06 4c 32 4e 6f 72 6d 01 00 05 28 5b 44 29 44 09 00 27 00 45 0c 00 46 00 47 01 00 03 .C...L2Norm...([D)D..'.E..F.G...
2a780 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 08 00 49 01 00 out...Ljava/io/PrintStream;..I..
2a7a0 19 4e 6f 74 20 61 20 70 72 6f 6a 65 63 74 65 64 20 6f 62 6a 65 63 74 69 76 65 0a 00 4b 00 4d 07 .Not.a.projected.objective..K.M.
2a7c0 00 4c 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 4e 00 4f 01 00 07 .L...java/io/PrintStream..N.O...
2a7e0 70 72 69 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 07 println...(Ljava/lang/String;)V.
2a800 00 51 01 00 1a 6a 61 76 61 2f 6c 61 6e 67 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a .Q...java/lang/RuntimeException.
2a820 00 50 00 0d 01 00 2d 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 .P....-Loptimization/gradientBas
2a840 65 64 4d 65 74 68 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 3b 01 00 01 6f 01 00 04 6e 6f 72 6d 01 edMethods/Objective;...o...norm.
2a860 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 1c 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 ..SourceFile...ProjectedGradient
2a880 4c 32 4e 6f 72 6d 2e 6a 61 76 61 00 21 00 01 00 03 00 01 00 05 00 01 00 04 00 07 00 08 00 00 00 L2Norm.java.!...................
2a8a0 04 00 01 00 09 00 0a 00 01 00 0b 00 00 00 46 00 03 00 03 00 00 00 0a 2a b7 00 0c 2a 27 b5 00 0f ..............F........*...*'...
2a8c0 b1 00 00 00 02 00 11 00 00 00 0e 00 03 00 00 00 10 00 04 00 11 00 09 00 12 00 12 00 00 00 16 00 ................................
2a8e0 02 00 00 00 0a 00 13 00 14 00 00 00 00 00 0a 00 07 00 08 00 01 00 01 00 15 00 0e 00 01 00 0b 00 ................................
2a900 00 00 2b 00 00 00 01 00 00 00 01 b1 00 00 00 02 00 11 00 00 00 06 00 01 00 00 00 16 00 12 00 00 ..+.............................
2a920 00 0c 00 01 00 00 00 01 00 13 00 14 00 00 00 00 00 16 00 17 00 01 00 0b 00 00 00 a0 00 05 00 02 ................................
2a940 00 00 00 4b 2b b4 00 18 c7 00 0d 2b 2b b6 00 1e bc 07 b5 00 18 2b b6 00 22 03 2b b4 00 18 03 2b ...K+......++........+..".+....+
2a960 b6 00 1e b8 00 26 2b b4 00 18 2b b4 00 2c 0f b8 00 2f 2b 2b 2b b4 00 18 b6 00 35 b5 00 18 2b b4 .....&+...+..,.../+++.....5...+.
2a980 00 18 2b b6 00 22 0f b8 00 2f 2b b4 00 18 b0 00 00 00 03 00 11 00 00 00 1e 00 07 00 00 00 1a 00 ..+..".../+.....................
2a9a0 07 00 1b 00 11 00 1d 00 22 00 1e 00 2e 00 1f 00 3a 00 20 00 46 00 21 00 12 00 00 00 16 00 02 00 ........".......:...F.!.........
2a9c0 00 00 4b 00 13 00 14 00 00 00 00 00 4b 00 39 00 3a 00 01 00 3b 00 00 00 03 00 01 11 00 01 00 3c ..K.........K.9.:...;..........<
2a9e0 00 3d 00 01 00 0b 00 00 00 a8 00 04 00 05 00 00 00 32 2b c1 00 19 99 00 1e 2b c0 00 19 4d 2a 2c .=...............2+......+...M*,
2aa00 b6 00 3e b8 00 40 4a 29 2a b4 00 0f 98 9c 00 05 04 ac 03 ac b2 00 44 12 48 b6 00 4a bb 00 50 59 ..>..@J)*.............D.H..J..PY
2aa20 b7 00 52 bf 00 00 00 03 00 11 00 00 00 22 00 08 00 00 00 25 00 07 00 26 00 0c 00 27 00 15 00 28 ..R..........".....%...&...'...(
2aa40 00 1e 00 2a 00 20 00 2d 00 22 00 30 00 2a 00 31 00 12 00 00 00 2a 00 04 00 00 00 32 00 13 00 14 ...*...-.".0.*.1.....*.....2....
2aa60 00 00 00 00 00 32 00 39 00 53 00 01 00 0c 00 16 00 54 00 3a 00 02 00 15 00 0d 00 55 00 08 00 03 .....2.9.S.......T.:.......U....
2aa80 00 3b 00 00 00 0c 00 02 fd 00 20 07 00 19 03 f9 00 01 00 01 00 56 00 00 00 02 00 57 50 4b 03 04 .;...................V.....WPK..
2aaa0 0a 00 00 00 00 00 c6 7c e6 3c 41 19 fe d3 fb 05 00 00 fb 05 00 00 36 00 00 00 6f 70 74 69 6d 69 .......|.<A...........6...optimi
2aac0 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 50 72 6f 6a 65 63 74 65 64 47 72 61 zation/stopCriteria/ProjectedGra
2aae0 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 dientL2Norm.javapackage.optimiza
2ab00 74 69 6f 6e 2e 73 74 6f 70 43 72 69 74 65 72 69 61 3b 0a 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d tion.stopCriteria;..import.optim
2ab20 69 7a 61 74 69 6f 6e 2e 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 4f 62 6a ization.gradientBasedMethods.Obj
2ab40 65 63 74 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 67 72 61 64 ective;.import.optimization.grad
2ab60 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2e 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 ientBasedMethods.ProjectedObject
2ab80 69 76 65 3b 0a 69 6d 70 6f 72 74 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 2e 4d 61 ive;.import.optimization.util.Ma
2aba0 74 68 55 74 69 6c 73 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 50 72 6f 6a 65 63 74 65 64 thUtils;..public.class.Projected
2abc0 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 20 69 6d 70 6c 65 6d 65 6e 74 73 20 53 74 6f 70 69 6e GradientL2Norm.implements.Stopin
2abe0 67 43 72 69 74 65 72 69 61 7b 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 53 74 6f 70 20 69 66 20 67 72 gCriteria{..../**...*.Stop.if.gr
2ac00 61 64 69 65 6e 74 4e 6f 72 6d 2f 28 6f 72 69 67 69 6e 61 6c 47 72 61 64 69 65 6e 74 4e 6f 72 6d adientNorm/(originalGradientNorm
2ac20 29 20 73 6d 61 6c 6c 65 72 0a 09 20 2a 20 74 68 61 6e 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 ).smaller...*.than.gradientConve
2ac40 72 67 65 6e 63 65 56 61 6c 75 65 0a 09 20 2a 2f 0a 09 70 72 6f 74 65 63 74 65 64 20 64 6f 75 62 rgenceValue...*/..protected.doub
2ac60 6c 65 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 3b 0a 09 0a 09 le.gradientConvergenceValue;....
2ac80 0a 09 70 75 62 6c 69 63 20 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d ..public.ProjectedGradientL2Norm
2aca0 28 64 6f 75 62 6c 65 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 (double.gradientConvergenceValue
2acc0 29 7b 0a 09 09 74 68 69 73 2e 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c ){...this.gradientConvergenceVal
2ace0 75 65 20 3d 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 3b 0a 09 ue.=.gradientConvergenceValue;..
2ad00 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 72 65 73 65 74 28 29 7b 0a 09 09 0a 09 7d 0a }....public.void.reset(){.....}.
2ad20 09 0a 09 20 64 6f 75 62 6c 65 5b 5d 20 70 72 6f 6a 65 63 74 47 72 61 64 69 65 6e 74 28 50 72 6f ....double[].projectGradient(Pro
2ad40 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 29 7b 0a 09 09 0a 09 09 69 66 28 6f 62 jectedObjective.obj){......if(ob
2ad60 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 6f 62 6a j.auxParameters.==.null){....obj
2ad80 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 6f 62 6a 2e .auxParameters.=.new.double[obj.
2ada0 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 5d 3b 0a 09 09 7d 0a 09 09 53 79 73 74 65 getNumParameters()];...}...Syste
2adc0 6d 2e 61 72 72 61 79 63 6f 70 79 28 6f 62 6a 2e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 2c m.arraycopy(obj.getParameters(),
2ade0 20 30 2c 20 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 30 2c 20 6f 62 6a 2e 67 65 .0,.obj.auxParameters,.0,.obj.ge
2ae00 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 28 29 29 3b 0a 09 09 4d 61 74 68 55 74 69 6c 73 2e 6d tNumParameters());...MathUtils.m
2ae20 69 6e 75 73 45 71 75 61 6c 73 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 20 6f 62 inusEquals(obj.auxParameters,.ob
2ae40 6a 2e 67 72 61 64 69 65 6e 74 2c 20 31 29 3b 0a 09 09 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 j.gradient,.1);...obj.auxParamet
2ae60 65 72 73 20 3d 20 6f 62 6a 2e 70 72 6f 6a 65 63 74 50 6f 69 6e 74 28 6f 62 6a 2e 61 75 78 50 61 ers.=.obj.projectPoint(obj.auxPa
2ae80 72 61 6d 65 74 65 72 73 29 3b 0a 09 09 4d 61 74 68 55 74 69 6c 73 2e 6d 69 6e 75 73 45 71 75 61 rameters);...MathUtils.minusEqua
2aea0 6c 73 28 6f 62 6a 2e 61 75 78 50 61 72 61 6d 65 74 65 72 73 2c 6f 62 6a 2e 67 65 74 50 61 72 61 ls(obj.auxParameters,obj.getPara
2aec0 6d 65 74 65 72 73 28 29 2c 31 29 3b 0a 09 09 72 65 74 75 72 6e 20 6f 62 6a 2e 61 75 78 50 61 72 meters(),1);...return.obj.auxPar
2aee0 61 6d 65 74 65 72 73 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 62 6f 6f 6c 65 61 6e 20 73 74 ameters;..}....public.boolean.st
2af00 6f 70 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 28 4f 62 6a 65 63 74 69 76 65 20 6f 62 6a 29 7b 0a 09 opOptimization(Objective.obj){..
2af20 09 69 66 28 6f 62 6a 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 .if(obj.instanceof.ProjectedObje
2af40 63 74 69 76 65 29 20 7b 0a 09 09 09 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 20 6f ctive).{....ProjectedObjective.o
2af60 20 3d 20 28 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 29 20 6f 62 6a 3b 0a 09 09 09 .=.(ProjectedObjective).obj;....
2af80 64 6f 75 62 6c 65 20 6e 6f 72 6d 20 3d 20 4d 61 74 68 55 74 69 6c 73 2e 4c 32 4e 6f 72 6d 28 70 double.norm.=.MathUtils.L2Norm(p
2afa0 72 6f 6a 65 63 74 47 72 61 64 69 65 6e 74 28 6f 29 29 3b 0a 09 09 09 69 66 28 6e 6f 72 6d 20 3c rojectGradient(o));....if(norm.<
2afc0 20 67 72 61 64 69 65 6e 74 43 6f 6e 76 65 72 67 65 6e 63 65 56 61 6c 75 65 29 7b 0a 09 2f 2f 09 .gradientConvergenceValue){..//.
2afe0 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 47 72 61 64 69 65 6e 74 20 6e ..System.out.println("Gradient.n
2b000 6f 72 6d 20 62 65 6c 6f 77 20 74 72 65 73 68 6f 6c 64 3a 20 22 20 2b 20 6e 6f 72 6d 29 3b 0a 09 orm.below.treshold:.".+.norm);..
2b020 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 09 09 7d 65 6c 73 65 7b 0a 2f 2f 09 09 09 09 ...return.true;....}else{.//....
2b040 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 70 72 6f 6a 65 63 74 65 64 20 67 72 System.out.println("projected.gr
2b060 61 64 69 65 6e 74 20 6e 6f 72 6d 3a 20 22 20 2b 20 6e 6f 72 6d 29 3b 0a 09 09 09 09 72 65 74 75 adient.norm:.".+.norm);.....retu
2b080 72 6e 20 66 61 6c 73 65 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e rn.false;....}...}...System.out.
2b0a0 70 72 69 6e 74 6c 6e 28 22 4e 6f 74 20 61 20 70 72 6f 6a 65 63 74 65 64 20 6f 62 6a 65 63 74 69 println("Not.a.projected.objecti
2b0c0 76 65 22 29 3b 0a 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 ve");...throw.new.RuntimeExcepti
2b0e0 6f 6e 28 29 3b 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c c3 77 29 81 46 05 00 on();..}.}.PK.........Y.<.w).F..
2b100 00 46 05 00 00 24 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 72 69 .F...$...optimization/util/Matri
2b120 78 4f 75 74 70 75 74 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 45 07 00 02 01 00 1e 6f 70 74 xOutput.class.......2.E......opt
2b140 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 72 69 78 4f 75 74 70 75 74 07 00 04 01 00 imization/util/MatrixOutput.....
2b160 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 .java/lang/Object...<init>...()V
2b180 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 ...Code.............LineNumberTa
2b1a0 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 ble...LocalVariableTable...this.
2b1c0 00 20 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 72 69 78 4f 75 74 70 75 ..Loptimization/util/MatrixOutpu
2b1e0 74 3b 01 00 10 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 01 00 18 28 5b 5b 44 4c 6a 61 76 t;...printDoubleArray...([[DLjav
2b200 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 09 00 11 00 13 07 00 12 01 00 10 6a 61 76 61 2f a/lang/String;)V...........java/
2b220 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 14 00 15 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 lang/System........out...Ljava/i
2b240 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 0a 00 17 00 19 07 00 18 01 00 13 6a 61 76 61 2f 69 6f o/PrintStream;...........java/io
2b260 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 1a 00 1b 01 00 07 70 72 69 6e 74 6c 6e 01 00 15 28 4c /PrintStream........println...(L
2b280 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 07 00 1d 01 00 17 6a 61 76 61 2f 6c 61 java/lang/String;)V......java/la
2b2a0 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 1f 01 00 01 20 0a 00 1c 00 21 0c 00 05 00 ng/StringBuilder...........!....
2b2c0 1b 08 00 23 01 00 08 30 30 2e 30 30 45 30 30 0a 00 25 00 27 07 00 26 01 00 1d 6f 70 74 69 6d 69 ...#...00.00E00..%.'..&...optimi
2b2e0 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 53 74 61 74 69 63 54 6f 6f 6c 73 0c 00 28 00 29 01 00 0b 70 zation/util/StaticTools..(.)...p
2b300 72 65 74 74 79 50 72 69 6e 74 01 00 28 28 44 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 rettyPrint..((DLjava/lang/String
2b320 3b 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 1c 00 2b 0c 00 2c 00 2d 01 ;I)Ljava/lang/String;....+..,.-.
2b340 00 06 61 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c ..append..-(Ljava/lang/String;)L
2b360 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 1c 00 2f 0c 00 30 java/lang/StringBuilder;..../..0
2b380 00 31 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 .1...toString...()Ljava/lang/Str
2b3a0 69 6e 67 3b 0a 00 17 00 33 0c 00 34 00 1b 01 00 05 70 72 69 6e 74 0a 00 17 00 36 0c 00 1a 00 06 ing;....3..4.....print....6.....
2b3c0 01 00 05 61 72 72 61 79 01 00 03 5b 5b 44 01 00 09 61 72 72 61 79 4e 61 6d 65 01 00 12 4c 6a 61 ...array...[[D...arrayName...Lja
2b3e0 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 05 73 69 7a 65 31 01 00 01 49 01 00 05 73 69 va/lang/String;...size1...I...si
2b400 7a 65 32 01 00 01 69 01 00 01 6a 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 17 28 5b ze2...i...j...StackMapTable...([
2b420 44 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 01 00 02 5b 44 01 00 0a 53 6f 75 DLjava/lang/String;)V...[D...Sou
2b440 72 63 65 46 69 6c 65 01 00 11 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 6a 61 76 61 00 21 00 01 00 rceFile...MatrixOutput.java.!...
2b460 03 00 00 00 00 00 03 00 01 00 05 00 06 00 01 00 07 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 ..................../........*..
2b480 08 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 00 04 00 0b 00 00 00 0c 00 01 00 00 00 05 00 0c ................................
2b4a0 00 0d 00 00 00 09 00 0e 00 0f 00 01 00 07 00 00 01 03 00 06 00 06 00 00 00 61 2a be 3d 2a 03 32 .........................a*.=*.2
2b4c0 be 3e b2 00 10 2b b6 00 16 03 36 04 a7 00 42 03 36 05 a7 00 2d b2 00 10 bb 00 1c 59 12 1e b7 00 .>...+....6...B.6...-......Y....
2b4e0 20 2a 15 04 32 15 05 31 12 22 07 b8 00 24 b6 00 2a 12 1e b6 00 2a b6 00 2e b6 00 32 84 05 01 15 .*..2..1."...$..*....*.....2....
2b500 05 1d a1 ff d3 b2 00 10 b6 00 35 84 04 01 15 04 1c a1 ff be b2 00 10 b6 00 35 b1 00 00 00 03 00 ..........5..............5......
2b520 0a 00 00 00 36 00 0d 00 00 00 06 00 03 00 07 00 08 00 08 00 0f 00 09 00 15 00 0a 00 1b 00 0b 00 ....6...........................
2b540 2e 00 0c 00 3f 00 0b 00 42 00 0a 00 4b 00 0f 00 51 00 09 00 5a 00 11 00 60 00 12 00 0b 00 00 00 ....?...B...K...Q...Z...`.......
2b560 3e 00 06 00 00 00 61 00 37 00 38 00 00 00 00 00 61 00 39 00 3a 00 01 00 03 00 5e 00 3b 00 3c 00 >.....a.7.8.....a.9.:.....^.;.<.
2b580 02 00 08 00 59 00 3d 00 3c 00 03 00 12 00 48 00 3e 00 3c 00 04 00 18 00 33 00 3f 00 3c 00 05 00 ....Y.=.<.....H.>.<.....3.?.<...
2b5a0 40 00 00 00 10 00 04 fe 00 15 01 01 01 fc 00 05 01 29 fa 00 0e 00 09 00 0e 00 41 00 01 00 07 00 @................)........A.....
2b5c0 00 00 a6 00 06 00 03 00 00 00 3f b2 00 10 2b b6 00 16 03 3d a7 00 29 b2 00 10 bb 00 1c 59 12 1e ..........?...+....=..)......Y..
2b5e0 b7 00 20 2a 1c 31 12 22 07 b8 00 24 b6 00 2a 12 1e b6 00 2a b6 00 2e b6 00 32 84 02 01 1c 2a be ...*.1."...$..*....*.....2....*.
2b600 a1 ff d7 b2 00 10 b6 00 35 b1 00 00 00 03 00 0a 00 00 00 22 00 08 00 00 00 15 00 07 00 16 00 0c ........5.........."............
2b620 00 17 00 1b 00 18 00 2c 00 17 00 2f 00 16 00 38 00 1a 00 3e 00 1b 00 0b 00 00 00 20 00 03 00 00 .......,.../...8...>............
2b640 00 3f 00 37 00 42 00 00 00 00 00 3f 00 39 00 3a 00 01 00 09 00 2f 00 3e 00 3c 00 02 00 40 00 00 .?.7.B.....?.9.:...../.>.<...@..
2b660 00 07 00 02 fc 00 0c 01 25 00 01 00 43 00 00 00 02 00 44 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 ........%...C.....DPK.........i.
2b680 3c af f1 5a b8 d6 02 00 00 d6 02 00 00 23 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 <..Z.........#...optimization/ut
2b6a0 69 6c 2f 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 il/MatrixOutput.javapackage.opti
2b6c0 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 3b 0a 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 4d 61 mization.util;...public.class.Ma
2b6e0 74 72 69 78 4f 75 74 70 75 74 20 7b 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 trixOutput.{..public.static.void
2b700 20 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 61 72 72 .printDoubleArray(double[][].arr
2b720 61 79 2c 20 53 74 72 69 6e 67 20 61 72 72 61 79 4e 61 6d 65 29 20 7b 0a 09 09 69 6e 74 20 73 69 ay,.String.arrayName).{...int.si
2b740 7a 65 31 20 3d 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 0a 09 09 69 6e 74 20 73 69 7a 65 32 20 ze1.=.array.length;...int.size2.
2b760 3d 20 61 72 72 61 79 5b 30 5d 2e 6c 65 6e 67 74 68 3b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e =.array[0].length;...System.out.
2b780 70 72 69 6e 74 6c 6e 28 61 72 72 61 79 4e 61 6d 65 29 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 println(arrayName);...for.(int.i
2b7a0 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 31 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 66 6f 72 20 28 .=.0;.i.<.size1;.i++).{....for.(
2b7c0 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 73 69 7a 65 32 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 int.j.=.0;.j.<.size2;.j++).{....
2b7e0 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 28 22 20 22 20 2b 20 53 74 61 74 69 63 54 6f .System.out.print(".".+.StaticTo
2b800 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e 74 28 61 72 72 61 79 5b 69 5d 5b 6a 5d 2c 0a 09 09 09 ols.prettyPrint(array[i][j],....
2b820 09 09 09 22 30 30 2e 30 30 45 30 30 22 2c 20 34 29 20 2b 20 22 20 22 29 3b 0a 0a 09 09 09 7d 0a ..."00.00E00",.4).+.".");.....}.
2b840 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 09 7d 0a 09 09 53 ...System.out.println();...}...S
2b860 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 ystem.out.println();..}....publi
2b880 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 64 c.static.void.printDoubleArray(d
2b8a0 6f 75 62 6c 65 5b 5d 20 61 72 72 61 79 2c 20 53 74 72 69 6e 67 20 61 72 72 61 79 4e 61 6d 65 29 ouble[].array,.String.arrayName)
2b8c0 20 7b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 61 72 72 61 79 4e 61 6d .{...System.out.println(arrayNam
2b8e0 65 29 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e e);...for.(int.i.=.0;.i.<.array.
2b900 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 length;.i++).{.....System.out.pr
2b920 69 6e 74 28 22 20 22 20 2b 20 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 65 74 74 79 50 72 69 6e int(".".+.StaticTools.prettyPrin
2b940 74 28 61 72 72 61 79 5b 69 5d 2c 0a 09 09 09 09 09 09 22 30 30 2e 30 30 45 30 30 22 2c 20 34 29 t(array[i],......."00.00E00",.4)
2b960 20 2b 20 22 20 22 29 3b 0a 09 09 7d 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c .+.".");...}...System.out.printl
2b980 6e 28 29 3b 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 43 02 3b 2e 7e 18 00 00 n();..}.}.PK.........Y.<C.;.~...
2b9a0 7e 18 00 00 21 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 ~...!...optimization/util/MathUt
2b9c0 69 6c 73 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 90 07 00 02 01 00 1b 6f 70 74 69 6d 69 7a ils.class.......2........optimiz
2b9e0 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 07 00 04 01 00 10 6a 61 76 61 2f 6c ation/util/MathUtils......java/l
2ba00 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 ang/Object...<init>...()V...Code
2ba20 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c .............LineNumberTable...L
2ba40 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 1d 4c 6f 70 74 69 ocalVariableTable...this...Lopti
2ba60 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 3b 01 00 06 4c 32 4e 6f 72 mization/util/MathUtils;...L2Nor
2ba80 6d 01 00 05 28 5b 44 29 44 0a 00 11 00 13 07 00 12 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 m...([D)D...........java/lang/Ma
2baa0 74 68 0c 00 14 00 15 01 00 04 73 71 72 74 01 00 04 28 44 29 44 01 00 06 76 65 63 74 6f 72 01 00 th........sqrt...(D)D...vector..
2bac0 02 5b 44 01 00 05 76 61 6c 75 65 01 00 01 44 01 00 01 69 01 00 01 49 01 00 01 76 01 00 0d 53 74 .[D...value...D...i...I...v...St
2bae0 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 03 73 75 6d 01 00 0a 70 6c 75 73 45 71 75 61 6c 73 01 00 ackMapTable...sum...plusEquals..
2bb00 07 28 5b 44 5b 44 29 56 01 00 01 77 01 00 06 28 5b 44 44 29 56 01 00 0b 6d 69 6e 75 73 45 71 75 .([D[D)V...w...([DD)V...minusEqu
2bb20 61 6c 73 01 00 08 28 5b 44 5b 44 44 29 56 01 00 01 61 01 00 12 6d 69 6e 75 73 45 71 75 61 6c 73 als...([D[DD)V...a...minusEquals
2bb40 49 6e 76 65 72 73 65 01 00 0a 64 6f 74 50 72 6f 64 75 63 74 01 00 07 28 5b 44 5b 44 29 44 01 00 Inverse...dotProduct...([D[D)D..
2bb60 05 61 63 63 75 6d 01 00 0a 61 72 72 61 79 4d 69 6e 75 73 01 00 08 28 5b 44 5b 44 29 5b 44 0a 00 .accum...arrayMinus...([D[D)[D..
2bb80 2d 00 2e 07 00 17 0c 00 2f 00 30 01 00 05 63 6c 6f 6e 65 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 -......./.0...clone...()Ljava/la
2bba0 6e 67 2f 4f 62 6a 65 63 74 3b 01 00 06 72 65 73 75 6c 74 01 00 0a 28 5b 44 5b 44 5b 44 29 5b 44 ng/Object;...result...([D[D[D)[D
2bbc0 01 00 08 6e 65 67 61 74 69 6f 6e 01 00 06 28 5b 44 29 5b 44 01 00 06 73 71 75 61 72 65 01 00 0c ...negation...([D)[D...square...
2bbe0 6f 75 74 65 72 50 72 6f 64 75 63 74 01 00 09 28 5b 44 5b 44 29 5b 5b 44 07 00 39 01 00 03 5b 5b outerProduct...([D[D)[[D..9...[[
2bc00 44 01 00 01 6a 01 00 14 77 65 69 67 68 74 65 64 6f 75 74 65 72 50 72 6f 64 75 63 74 01 00 0a 28 D...j...weightedouterProduct...(
2bc20 5b 44 5b 44 44 29 5b 5b 44 01 00 08 69 64 65 6e 74 69 74 79 01 00 06 28 49 29 5b 5b 44 01 00 04 [D[DD)[[D...identity...(I)[[D...
2bc40 73 69 7a 65 01 00 09 28 5b 5b 44 5b 5b 44 29 56 01 00 0a 28 5b 5b 44 5b 5b 44 44 29 56 01 00 14 size...([[D[[D)V...([[D[[DD)V...
2bc60 6d 61 74 72 69 78 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 01 00 0b 28 5b 5b 44 5b 5b 44 29 5b matrixMultiplication...([[D[[D)[
2bc80 5b 44 09 00 45 00 47 07 00 46 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 48 [D..E.G..F...java/lang/System..H
2bca0 00 49 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b .I...out...Ljava/io/PrintStream;
2bcc0 08 00 4b 01 00 21 4d 61 74 72 69 78 20 64 69 6d 65 6e 73 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 61 ..K..!Matrix.dimensions.do.not.a
2bce0 67 72 65 65 2e 2e 2e 0a 00 4d 00 4f 07 00 4e 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 gree.....M.O..N...java/io/PrintS
2bd00 74 72 65 61 6d 0c 00 50 00 51 01 00 07 70 72 69 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 61 2f 6c 61 tream..P.Q...println...(Ljava/la
2bd20 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 45 00 53 0c 00 54 00 55 01 00 04 65 78 69 74 01 00 04 ng/String;)V..E.S..T.U...exit...
2bd40 28 49 29 56 01 00 02 77 31 01 00 02 77 32 01 00 02 76 31 01 00 02 76 32 01 00 04 77 5f 69 31 01 (I)V...w1...w2...v1...v2...w_i1.
2bd60 00 04 76 5f 69 32 01 00 04 77 5f 69 32 01 00 1a 6d 61 74 72 69 78 53 63 61 6c 61 72 4d 75 6c 74 ..v_i2...w_i2...matrixScalarMult
2bd80 69 70 6c 69 63 61 74 69 6f 6e 01 00 07 28 5b 5b 44 44 29 56 01 00 14 73 63 61 6c 61 72 4d 75 6c iplication...([[DD)V...scalarMul
2bda0 74 69 70 6c 69 63 61 74 69 6f 6e 01 00 0c 6d 61 74 72 69 78 56 65 63 74 6f 72 01 00 09 28 5b 5b tiplication...matrixVector...([[
2bdc0 44 5b 44 29 5b 44 01 00 0b 61 6c 6c 50 6f 73 69 74 69 76 65 01 00 05 28 5b 44 29 5a 01 00 05 61 D[D)[D...allPositive...([D)Z...a
2bde0 72 72 61 79 01 00 04 6d 61 69 6e 01 00 16 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e rray...main...([Ljava/lang/Strin
2be00 67 3b 29 56 06 40 00 00 00 00 00 00 00 08 00 6a 01 00 02 6d 31 0a 00 6c 00 6e 07 00 6d 01 00 1e g;)V.@.........j...m1..l.n..m...
2be20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 72 69 78 4f 75 74 70 75 74 0c 00 optimization/util/MatrixOutput..
2be40 6f 00 70 01 00 10 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 01 00 18 28 5b 5b 44 4c 6a 61 o.p...printDoubleArray...([[DLja
2be60 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 06 40 08 00 00 00 00 00 00 08 00 74 01 00 02 va/lang/String;)V.@.........t...
2be80 6d 32 0a 00 01 00 76 0c 00 42 00 43 08 00 31 0a 00 01 00 79 0c 00 5d 00 5e 08 00 7b 01 00 1a 72 m2....v..B.C..1....y..].^..{...r
2bea0 65 73 75 6c 74 20 61 66 74 65 72 20 6d 75 6c 74 69 70 6c 79 20 62 79 20 33 01 00 04 61 72 67 73 esult.after.multiply.by.3...args
2bec0 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 06 61 6c 6d 6f 73 74 01 ...[Ljava/lang/String;...almost.
2bee0 00 06 28 44 44 44 29 5a 0a 00 11 00 81 0c 00 82 00 15 01 00 03 61 62 73 0a 00 01 00 84 0c 00 85 ..(DDD)Z.............abs........
2bf00 00 86 01 00 0a 61 6c 6d 6f 73 74 5a 65 72 6f 01 00 04 28 44 29 5a 01 00 01 62 01 00 04 70 72 65 .....almostZero...(D)Z...b...pre
2bf20 63 01 00 05 28 44 44 29 5a 06 3d db 7c df d9 d7 bd bb 06 39 b4 48 4b fe eb c2 a0 01 00 0a 53 6f c...(DD)Z.=.|......9.HK.......So
2bf40 75 72 63 65 46 69 6c 65 01 00 0e 4d 61 74 68 55 74 69 6c 73 2e 6a 61 76 61 00 21 00 01 00 03 00 urceFile...MathUtils.java.!.....
2bf60 00 00 00 00 1e 00 01 00 05 00 06 00 01 00 07 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 08 b1 ................../........*....
2bf80 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 00 07 00 0b 00 00 00 0c 00 01 00 00 00 05 00 0c 00 0d ................................
2bfa0 00 00 00 09 00 0e 00 0f 00 01 00 07 00 00 00 8c 00 06 00 06 00 00 00 22 0e 48 03 3e a7 00 13 2a .......................".H.>...*
2bfc0 1d 31 39 04 27 18 04 18 04 6b 63 48 84 03 01 1d 2a be a1 ff ed 27 b8 00 10 af 00 00 00 03 00 0a .19.'....kcH....*....'..........
2bfe0 00 00 00 1a 00 06 00 00 00 0f 00 02 00 10 00 07 00 11 00 0c 00 12 00 14 00 10 00 1d 00 14 00 0b ................................
2c000 00 00 00 2a 00 04 00 00 00 22 00 16 00 17 00 00 00 02 00 20 00 18 00 19 00 01 00 04 00 19 00 1a ...*....."......................
2c020 00 1b 00 03 00 0c 00 08 00 1c 00 19 00 04 00 1d 00 00 00 08 00 02 fd 00 07 03 01 0f 00 09 00 1e ................................
2c040 00 0f 00 01 00 07 00 00 00 74 00 04 00 04 00 00 00 18 0e 48 03 3e a7 00 0c 27 2a 1d 31 63 48 84 .........t.........H.>...'*.1cH.
2c060 03 01 1d 2a be a1 ff f4 27 af 00 00 00 03 00 0a 00 00 00 16 00 05 00 00 00 18 00 02 00 19 00 07 ...*....'.......................
2c080 00 1a 00 0d 00 19 00 16 00 1c 00 0b 00 00 00 20 00 03 00 00 00 18 00 1c 00 17 00 00 00 02 00 16 ................................
2c0a0 00 1e 00 19 00 01 00 04 00 12 00 1a 00 1b 00 03 00 1d 00 00 00 08 00 02 fd 00 07 03 01 08 00 09 ................................
2c0c0 00 1f 00 20 00 01 00 07 00 00 00 73 00 08 00 03 00 00 00 1c 03 3d a7 00 13 2a 1c 5c 31 2a 1c 31 ...........s.........=...*.\1*.1
2c0e0 2b 1c 31 63 63 52 84 02 01 1c 2a be a1 ff ed b1 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 00 28 +.1ccR....*....................(
2c100 00 05 00 29 00 12 00 28 00 1b 00 2b 00 0b 00 00 00 20 00 03 00 00 00 1c 00 21 00 17 00 00 00 00 ...)...(...+.............!......
2c120 00 1c 00 1c 00 17 00 01 00 02 00 19 00 1a 00 1b 00 02 00 1d 00 00 00 07 00 02 fc 00 05 01 0f 00 ................................
2c140 09 00 1f 00 22 00 01 00 07 00 00 00 71 00 08 00 04 00 00 00 1a 03 3e a7 00 11 2a 1d 5c 31 2a 1d ....".......q.........>...*.\1*.
2c160 31 27 63 63 52 84 03 01 1d 2a be a1 ff ef b1 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 00 33 00 1'ccR....*....................3.
2c180 05 00 34 00 10 00 33 00 19 00 36 00 0b 00 00 00 20 00 03 00 00 00 1a 00 21 00 17 00 00 00 00 00 ..4...3...6.............!.......
2c1a0 1a 00 1c 00 19 00 01 00 02 00 17 00 1a 00 1b 00 03 00 1d 00 00 00 07 00 02 fc 00 05 01 0d 00 09 ................................
2c1c0 00 23 00 22 00 01 00 07 00 00 00 71 00 08 00 04 00 00 00 1a 03 3e a7 00 11 2a 1d 5c 31 2a 1d 31 .#.".......q.........>...*.\1*.1
2c1e0 27 63 67 52 84 03 01 1d 2a be a1 ff ef b1 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 00 3e 00 05 'cgR....*....................>..
2c200 00 3f 00 10 00 3e 00 19 00 41 00 0b 00 00 00 20 00 03 00 00 00 1a 00 21 00 17 00 00 00 00 00 1a .?...>...A.............!........
2c220 00 1c 00 19 00 01 00 02 00 17 00 1a 00 1b 00 03 00 1d 00 00 00 07 00 02 fc 00 05 01 0d 00 09 00 ................................
2c240 1f 00 24 00 01 00 07 00 00 00 7f 00 08 00 05 00 00 00 1e 03 36 04 a7 00 13 2a 15 04 5c 31 28 2b ..$.................6....*..\1(+
2c260 15 04 31 6b 63 52 84 04 01 15 04 2a be a1 ff ec b1 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 00 ..1kcR.....*....................
2c280 4a 00 06 00 4b 00 13 00 4a 00 1d 00 4d 00 0b 00 00 00 2a 00 04 00 00 00 1e 00 21 00 17 00 00 00 J...K...J...M.....*.......!.....
2c2a0 00 00 1e 00 1c 00 17 00 01 00 00 00 1e 00 25 00 19 00 02 00 03 00 1a 00 1a 00 1b 00 04 00 1d 00 ..............%.................
2c2c0 00 00 07 00 02 fc 00 06 01 0f 00 09 00 23 00 24 00 01 00 07 00 00 00 7f 00 08 00 05 00 00 00 1e .............#.$................
2c2e0 03 36 04 a7 00 13 2a 15 04 5c 31 28 2b 15 04 31 6b 67 52 84 04 01 15 04 2a be a1 ff ec b1 00 00 .6....*..\1(+..1kgR.....*.......
2c300 00 03 00 0a 00 00 00 12 00 04 00 00 00 56 00 06 00 57 00 13 00 56 00 1d 00 59 00 0b 00 00 00 2a .............V...W...V...Y.....*
2c320 00 04 00 00 00 1e 00 21 00 17 00 00 00 00 00 1e 00 1c 00 17 00 01 00 00 00 1e 00 25 00 19 00 02 .......!...................%....
2c340 00 03 00 1a 00 1a 00 1b 00 04 00 1d 00 00 00 07 00 02 fc 00 06 01 0f 00 09 00 26 00 24 00 01 00 ..........................&.$...
2c360 07 00 00 00 81 00 08 00 05 00 00 00 20 03 36 04 a7 00 15 2b 15 04 2a 15 04 31 28 2b 15 04 31 6b ..............6....+..*..1(+..1k
2c380 67 52 84 04 01 15 04 2a be a1 ff ea b1 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 00 61 00 06 00 gR.....*....................a...
2c3a0 62 00 15 00 61 00 1f 00 64 00 0b 00 00 00 2a 00 04 00 00 00 20 00 21 00 17 00 00 00 00 00 20 00 b...a...d.....*.......!.........
2c3c0 1c 00 17 00 01 00 00 00 20 00 25 00 19 00 02 00 03 00 1c 00 1a 00 1b 00 04 00 1d 00 00 00 07 00 ..........%.....................
2c3e0 02 fc 00 06 01 11 00 09 00 27 00 28 00 01 00 07 00 00 00 86 00 06 00 05 00 00 00 20 0e 49 03 36 .........'.(.................I.6
2c400 04 a7 00 12 28 2a 15 04 31 2b 15 04 31 6b 63 49 84 04 01 15 04 2a be a1 ff ed 28 af 00 00 00 03 ....(*..1+..1kcI.....*....(.....
2c420 00 0a 00 00 00 16 00 05 00 00 00 67 00 02 00 68 00 08 00 69 00 14 00 68 00 1e 00 6b 00 0b 00 00 ...........g...h...i...h...k....
2c440 00 2a 00 04 00 00 00 20 00 21 00 17 00 00 00 00 00 20 00 1c 00 17 00 01 00 02 00 1e 00 29 00 19 .*.......!...................)..
2c460 00 02 00 05 00 19 00 1a 00 1b 00 04 00 1d 00 00 00 08 00 02 fd 00 08 03 01 0e 00 09 00 2a 00 2b .............................*.+
2c480 00 01 00 07 00 00 00 89 00 06 00 04 00 00 00 21 2a b6 00 2c c0 00 2d 4d 03 3e a7 00 0f 2c 1d 5c ...............!*..,..-M.>...,.\
2c4a0 31 2b 1d 31 67 52 84 03 01 1d 2a be a1 ff f1 2c b0 00 00 00 03 00 0a 00 00 00 16 00 05 00 00 00 1+.1gR....*....,................
2c4c0 6f 00 08 00 70 00 0d 00 71 00 16 00 70 00 1f 00 73 00 0b 00 00 00 2a 00 04 00 00 00 21 00 21 00 o...p...q...p...s.....*.....!.!.
2c4e0 17 00 00 00 00 00 21 00 1c 00 17 00 01 00 08 00 19 00 31 00 17 00 02 00 0a 00 15 00 1a 00 1b 00 ......!...........1.............
2c500 03 00 1d 00 00 00 0a 00 02 fd 00 0d 07 00 2d 01 0b 00 09 00 2a 00 32 00 01 00 07 00 00 00 7b 00 ..............-.....*.2.......{.
2c520 06 00 04 00 00 00 1a 03 3e a7 00 10 2a 1d 2b 1d 31 2c 1d 31 67 52 84 03 01 1d 2b be a1 ff f0 2a ........>...*.+.1,.1gR....+....*
2c540 b0 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 00 77 00 05 00 78 00 0f 00 77 00 18 00 7a 00 0b 00 ................w...x...w...z...
2c560 00 00 2a 00 04 00 00 00 1a 00 31 00 17 00 00 00 00 00 1a 00 21 00 17 00 01 00 00 00 1a 00 1c 00 ..*.......1.........!...........
2c580 17 00 02 00 02 00 16 00 1a 00 1b 00 03 00 1d 00 00 00 07 00 02 fc 00 05 01 0c 00 09 00 33 00 34 .............................3.4
2c5a0 00 01 00 07 00 00 00 7a 00 04 00 03 00 00 00 1c 2a be bc 07 4c 03 3d a7 00 0d 2b 1c 2a 1c 31 77 .......z........*...L.=...+.*.1w
2c5c0 52 84 02 01 1c 2a be a1 ff f3 2b b0 00 00 00 03 00 0a 00 00 00 16 00 05 00 00 00 7e 00 05 00 7f R....*....+................~....
2c5e0 00 0a 00 80 00 11 00 7f 00 1a 00 82 00 0b 00 00 00 20 00 03 00 00 00 1c 00 21 00 17 00 00 00 05 .........................!......
2c600 00 17 00 31 00 17 00 01 00 07 00 13 00 1a 00 1b 00 02 00 1d 00 00 00 0a 00 02 fd 00 0a 07 00 2d ...1...........................-
2c620 01 09 00 09 00 35 00 15 00 01 00 07 00 00 00 2e 00 04 00 02 00 00 00 04 26 26 6b af 00 00 00 02 .....5..................&&k.....
2c640 00 0a 00 00 00 06 00 01 00 00 00 86 00 0b 00 00 00 0c 00 01 00 00 00 04 00 18 00 19 00 00 00 09 ................................
2c660 00 36 00 37 00 01 00 07 00 00 00 b8 00 06 00 05 00 00 00 37 2a be 2b be c5 00 38 02 4d 03 3e a7 .6.7...............7*.+...8.M.>.
2c680 00 24 03 36 04 a7 00 14 2c 1d 32 15 04 2a 1d 31 2b 15 04 31 6b 52 84 04 01 15 04 2b be a1 ff eb .$.6....,.2..*.1+..1kR.....+....
2c6a0 84 03 01 1d 2a be a1 ff dc 2c b0 00 00 00 03 00 0a 00 00 00 1e 00 07 00 00 00 89 00 09 00 8a 00 ....*....,......................
2c6c0 0e 00 8b 00 14 00 8c 00 22 00 8b 00 2c 00 8a 00 35 00 8f 00 0b 00 00 00 34 00 05 00 00 00 37 00 ........"...,...5.......4.....7.
2c6e0 21 00 17 00 00 00 00 00 37 00 1c 00 17 00 01 00 09 00 2e 00 31 00 39 00 02 00 0b 00 2a 00 1a 00 !.......7...........1.9.....*...
2c700 1b 00 03 00 11 00 1b 00 3a 00 1b 00 04 00 1d 00 00 00 11 00 04 fd 00 0e 07 00 38 01 fc 00 05 01 ........:.................8.....
2c720 10 fa 00 09 00 09 00 3b 00 3c 00 01 00 07 00 00 00 cb 00 06 00 07 00 00 00 40 2a be 2b be c5 00 .......;.<...............@*.+...
2c740 38 02 3a 04 03 36 05 a7 00 29 03 36 06 a7 00 19 19 04 15 05 32 15 06 28 2a 15 05 31 6b 2b 15 06 8.:..6...).6........2..(*..1k+..
2c760 31 6b 52 84 06 01 15 06 2b be a1 ff e6 84 05 01 15 05 2a be a1 ff d6 19 04 b0 00 00 00 03 00 0a 1kR.....+.........*.............
2c780 00 00 00 1e 00 07 00 00 00 99 00 0a 00 9a 00 10 00 9b 00 16 00 9c 00 29 00 9b 00 33 00 9a 00 3d .......................)...3...=
2c7a0 00 9f 00 0b 00 00 00 3e 00 06 00 00 00 40 00 21 00 17 00 00 00 00 00 40 00 1c 00 17 00 01 00 00 .......>.....@.!.......@........
2c7c0 00 40 00 25 00 19 00 02 00 0a 00 36 00 31 00 39 00 04 00 0d 00 30 00 1a 00 1b 00 05 00 13 00 20 .@.%.......6.1.9.....0..........
2c7e0 00 3a 00 1b 00 06 00 1d 00 00 00 11 00 04 fd 00 10 07 00 38 01 fc 00 05 01 15 fa 00 09 00 09 00 .:.................8............
2c800 3d 00 3e 00 01 00 07 00 00 00 7a 00 04 00 03 00 00 00 1c 1a 1a c5 00 38 02 4c 03 3d a7 00 0c 2b =.>.......z............8.L.=...+
2c820 1c 32 1c 0f 52 84 02 01 1c 1a a1 ff f5 2b b0 00 00 00 03 00 0a 00 00 00 16 00 05 00 00 00 a3 00 .2..R........+..................
2c840 07 00 a4 00 0c 00 a5 00 12 00 a4 00 1a 00 a7 00 0b 00 00 00 20 00 03 00 00 00 1c 00 3f 00 1b 00 ............................?...
2c860 00 00 07 00 15 00 31 00 39 00 01 00 09 00 11 00 1a 00 1b 00 02 00 1d 00 00 00 0a 00 02 fd 00 0c ......1.9.......................
2c880 07 00 38 01 08 00 09 00 23 00 40 00 01 00 07 00 00 00 9c 00 06 00 04 00 00 00 2c 03 3d a7 00 23 ..8.....#.@...............,.=..#
2c8a0 03 3e a7 00 13 2a 1c 32 1d 5c 31 2b 1c 32 1d 31 67 52 84 03 01 1d 2a 03 32 be a1 ff eb 84 02 01 .>...*.2.\1+.2.1gR....*.2.......
2c8c0 1c 2a be a1 ff dd b1 00 00 00 03 00 0a 00 00 00 1a 00 06 00 00 00 b0 00 05 00 b1 00 0a 00 b2 00 .*..............................
2c8e0 17 00 b1 00 22 00 b0 00 2b 00 b5 00 0b 00 00 00 2a 00 04 00 00 00 2c 00 21 00 39 00 00 00 00 00 ...."...+.......*.....,.!.9.....
2c900 2c 00 1c 00 39 00 01 00 02 00 29 00 1a 00 1b 00 02 00 07 00 1b 00 3a 00 1b 00 03 00 1d 00 00 00 ,...9.....)...........:.........
2c920 0e 00 04 fc 00 05 01 fc 00 04 01 0f fa 00 0a 00 09 00 23 00 41 00 01 00 07 00 00 00 b0 00 08 00 ..................#.A...........
2c940 06 00 00 00 36 03 36 04 a7 00 2b 03 36 05 a7 00 19 2a 15 04 32 15 05 5c 31 28 2b 15 04 32 15 05 ....6.6...+.6....*..2..\1(+..2..
2c960 31 6b 67 52 84 05 01 15 05 2a 03 32 be a1 ff e4 84 04 01 15 04 2a be a1 ff d4 b1 00 00 00 03 00 1kgR.....*.2.........*..........
2c980 0a 00 00 00 1a 00 06 00 00 00 bd 00 06 00 be 00 0c 00 bf 00 1f 00 be 00 2b 00 bd 00 35 00 c2 00 ........................+...5...
2c9a0 0b 00 00 00 34 00 05 00 00 00 36 00 21 00 39 00 00 00 00 00 36 00 1c 00 39 00 01 00 00 00 36 00 ....4.....6.!.9.....6...9.....6.
2c9c0 25 00 19 00 02 00 03 00 32 00 1a 00 1b 00 04 00 09 00 22 00 3a 00 1b 00 05 00 1d 00 00 00 0e 00 %.......2.........".:...........
2c9e0 04 fc 00 06 01 fc 00 05 01 15 fa 00 0b 00 09 00 1f 00 40 00 01 00 07 00 00 00 9c 00 06 00 04 00 ..................@.............
2ca00 00 00 2c 03 3d a7 00 23 03 3e a7 00 13 2a 1c 32 1d 5c 31 2b 1c 32 1d 31 63 52 84 03 01 1d 2a 03 ..,.=..#.>...*.2.\1+.2.1cR....*.
2ca20 32 be a1 ff eb 84 02 01 1c 2a be a1 ff dd b1 00 00 00 03 00 0a 00 00 00 1a 00 06 00 00 00 ca 00 2........*......................
2ca40 05 00 cb 00 0a 00 cc 00 17 00 cb 00 22 00 ca 00 2b 00 cf 00 0b 00 00 00 2a 00 04 00 00 00 2c 00 ............"...+.......*.....,.
2ca60 21 00 39 00 00 00 00 00 2c 00 1c 00 39 00 01 00 02 00 29 00 1a 00 1b 00 02 00 07 00 1b 00 3a 00 !.9.....,...9.....)...........:.
2ca80 1b 00 03 00 1d 00 00 00 0e 00 04 fc 00 05 01 fc 00 04 01 0f fa 00 0a 00 09 00 1f 00 41 00 01 00 ............................A...
2caa0 07 00 00 00 b0 00 08 00 06 00 00 00 36 03 36 04 a7 00 2b 03 36 05 a7 00 19 2a 15 04 32 15 05 5c ............6.6...+.6....*..2..\
2cac0 31 28 2b 15 04 32 15 05 31 6b 63 52 84 05 01 15 05 2a 03 32 be a1 ff e4 84 04 01 15 04 2a be a1 1(+..2..1kcR.....*.2.........*..
2cae0 ff d4 b1 00 00 00 03 00 0a 00 00 00 1a 00 06 00 00 00 d7 00 06 00 d8 00 0c 00 d9 00 1f 00 d8 00 ................................
2cb00 2b 00 d7 00 35 00 dc 00 0b 00 00 00 34 00 05 00 00 00 36 00 21 00 39 00 00 00 00 00 36 00 1c 00 +...5.......4.....6.!.9.....6...
2cb20 39 00 01 00 00 00 36 00 25 00 19 00 02 00 03 00 32 00 1a 00 1b 00 04 00 09 00 22 00 3a 00 1b 00 9.....6.%.......2.........".:...
2cb40 05 00 1d 00 00 00 0e 00 04 fc 00 06 01 fc 00 05 01 15 fa 00 0b 00 09 00 42 00 43 00 01 00 07 00 ........................B.C.....
2cb60 00 01 81 00 06 00 0c 00 00 00 7f 2a be 3d 2a 03 32 be 3e 2b be 36 04 2b 03 32 be 36 05 1d 15 04 ...........*.=*.2.>+.6.+.2.6....
2cb80 9f 00 0f b2 00 44 12 4a b6 00 4c 02 b8 00 52 1c 15 05 c5 00 38 02 3a 06 03 36 07 a7 00 46 03 36 .....D.J..L...R.....8.:..6...F.6
2cba0 08 a7 00 36 0e 39 09 03 36 0b a7 00 1a 18 09 2a 15 07 32 15 0b 31 2b 15 0b 32 15 08 31 6b 63 39 ...6.9..6......*..2..1+..2..1kc9
2cbc0 09 84 0b 01 15 0b 1d a1 ff e6 19 06 15 07 32 15 08 18 09 52 84 08 01 15 08 15 05 a1 ff c9 84 07 ..............2....R............
2cbe0 01 15 07 1c a1 ff ba 19 06 b0 00 00 00 03 00 0a 00 00 00 4a 00 12 00 00 00 e6 00 03 00 e7 00 08 ...................J............
2cc00 00 e8 00 0c 00 e9 00 12 00 eb 00 18 00 ec 00 20 00 ed 00 24 00 f0 00 2d 00 f1 00 33 00 f2 00 39 ...................$...-...3...9
2cc20 00 f3 00 3c 00 f4 00 42 00 f5 00 56 00 f4 00 5f 00 f7 00 69 00 f2 00 73 00 f1 00 7c 00 fa 00 0b ...<...B...V..._...i...s...|....
2cc40 00 00 00 70 00 0b 00 00 00 7f 00 21 00 39 00 00 00 00 00 7f 00 1c 00 39 00 01 00 03 00 7c 00 56 ...p.......!.9.........9.....|.V
2cc60 00 1b 00 02 00 08 00 77 00 57 00 1b 00 03 00 0c 00 73 00 58 00 1b 00 04 00 12 00 6d 00 59 00 1b .......w.W.......s.X.......m.Y..
2cc80 00 05 00 2d 00 52 00 31 00 39 00 06 00 30 00 4c 00 5a 00 1b 00 07 00 36 00 3d 00 5b 00 1b 00 08 ...-.R.1.9...0.L.Z.....6.=.[....
2cca0 00 3c 00 2d 00 1e 00 19 00 09 00 3f 00 20 00 5c 00 1b 00 0b 00 1d 00 00 00 2a 00 07 ff 00 24 00 .<.-.......?...\.........*....$.
2ccc0 06 07 00 38 07 00 38 01 01 01 01 00 00 fd 00 0e 07 00 38 01 fc 00 05 01 fd 00 08 03 01 16 f9 00 ...8..8...........8.............
2cce0 12 fa 00 09 00 09 00 5d 00 5e 00 01 00 07 00 00 00 c2 00 06 00 07 00 00 00 34 2a be 3e 2a 03 32 .......].^...............4*.>*.2
2cd00 be 36 04 03 36 05 a7 00 21 03 36 06 a7 00 11 2a 15 05 32 15 06 5c 31 27 6b 52 84 06 01 15 06 15 .6..6...!.6....*..2..\1'kR......
2cd20 04 a1 ff ee 84 05 01 15 05 1d a1 ff df b1 00 00 00 03 00 0a 00 00 00 22 00 08 00 00 01 03 00 03 ......................."........
2cd40 01 04 00 09 01 05 00 0f 01 06 00 15 01 07 00 20 01 06 00 2a 01 05 00 33 01 0a 00 0b 00 00 00 3e ...................*...3.......>
2cd60 00 06 00 00 00 34 00 21 00 39 00 00 00 00 00 34 00 1c 00 19 00 01 00 03 00 31 00 56 00 1b 00 03 .....4.!.9.....4.........1.V....
2cd80 00 09 00 2b 00 57 00 1b 00 04 00 0c 00 27 00 5a 00 1b 00 05 00 12 00 18 00 5c 00 1b 00 06 00 1d ...+.W.......'.Z.........\......
2cda0 00 00 00 10 00 04 fe 00 0f 01 01 01 fc 00 05 01 0d fa 00 09 00 09 00 5f 00 22 00 01 00 07 00 00 ......................._."......
2cdc0 00 81 00 06 00 05 00 00 00 1b 2a be 3e 03 36 04 a7 00 0e 2a 15 04 5c 31 27 6b 52 84 04 01 15 04 ..........*.>.6....*..\1'kR.....
2cde0 1d a1 ff f2 b1 00 00 00 03 00 0a 00 00 00 16 00 05 00 00 01 0d 00 03 01 0e 00 09 01 0f 00 11 01 ................................
2ce00 0e 00 1a 01 12 00 0b 00 00 00 2a 00 04 00 00 00 1b 00 21 00 17 00 00 00 00 00 1b 00 1c 00 19 00 ..........*.......!.............
2ce20 01 00 03 00 18 00 56 00 1b 00 03 00 06 00 14 00 5a 00 1b 00 04 00 1d 00 00 00 08 00 02 fd 00 09 ......V.........Z...............
2ce40 01 01 0a 00 09 00 60 00 61 00 01 00 07 00 00 01 2f 00 06 00 0a 00 00 00 5f 2a be 3d 2a 03 32 be ......`.a......./......._*.=*.2.
2ce60 3e 2b be 36 04 1d 15 04 9f 00 0f b2 00 44 12 4a b6 00 4c 02 b8 00 52 1c bc 07 3a 05 03 36 06 a7 >+.6.........D.J..L...R...:..6..
2ce80 00 30 0e 39 07 03 36 09 a7 00 17 18 07 2a 15 06 32 15 09 31 2b 15 09 31 6b 63 39 07 84 09 01 15 .0.9..6......*..2..1+..1kc9.....
2cea0 09 1d a1 ff e9 19 05 15 06 18 07 52 84 06 01 15 06 1c a1 ff d0 19 05 b0 00 00 00 03 00 0a 00 00 ...........R....................
2cec0 00 3e 00 0f 00 00 01 15 00 03 01 16 00 08 01 17 00 0c 01 19 00 12 01 1a 00 1a 01 1b 00 1e 01 1e .>..............................
2cee0 00 23 01 1f 00 29 01 20 00 2c 01 21 00 32 01 22 00 43 01 21 00 4c 01 24 00 53 01 1f 00 5c 01 26 .#...)...,.!.2.".C.!.L.$.S...\.&
2cf00 00 0b 00 00 00 5c 00 09 00 00 00 5f 00 21 00 39 00 00 00 00 00 5f 00 1c 00 17 00 01 00 03 00 5c .....\....._.!.9....._.........\
2cf20 00 56 00 1b 00 02 00 08 00 57 00 57 00 1b 00 03 00 0c 00 53 00 58 00 1b 00 04 00 23 00 3c 00 31 .V.......W.W.......S.X.....#.<.1
2cf40 00 17 00 05 00 26 00 36 00 5a 00 1b 00 06 00 2c 00 27 00 1e 00 19 00 07 00 2f 00 1d 00 5c 00 1b .....&.6.Z.....,.'......./...\..
2cf60 00 09 00 1d 00 00 00 18 00 05 fe 00 1e 01 01 01 fd 00 0a 07 00 2d 01 fd 00 08 03 01 13 f9 00 0f .....................-..........
2cf80 00 09 00 62 00 63 00 01 00 07 00 00 00 68 00 04 00 02 00 00 00 1a 03 3c a7 00 10 2a 1b 31 0e 98 ...b.c.......h.........<...*.1..
2cfa0 9c 00 05 03 ac 84 01 01 1b 2a be a1 ff f0 04 ac 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 01 2a .........*.....................*
2cfc0 00 05 01 2b 00 0f 01 2a 00 18 01 2d 00 0b 00 00 00 16 00 02 00 00 00 1a 00 64 00 17 00 00 00 02 ...+...*...-.............d......
2cfe0 00 16 00 1a 00 1b 00 01 00 1d 00 00 00 08 00 03 fc 00 05 01 09 02 00 09 00 65 00 66 00 01 00 07 .........................e.f....
2d000 00 00 00 fc 00 04 00 04 00 00 00 74 05 05 c5 00 38 02 4c 2b 03 32 03 14 00 67 52 2b 04 32 03 14 ...........t....8.L+.2...gR+.2..
2d020 00 67 52 2b 03 32 04 14 00 67 52 2b 04 32 04 14 00 67 52 2b 12 69 b8 00 6b 05 05 c5 00 38 02 4d .gR+.2...gR+.2...gR+.i..k....8.M
2d040 2c 03 32 03 14 00 71 52 2c 04 32 03 14 00 71 52 2c 03 32 04 14 00 71 52 2c 04 32 04 14 00 71 52 ,.2...qR,.2...qR,.2...qR,.2...qR
2d060 2c 12 73 b8 00 6b 2b 2c b8 00 75 4e 2d 12 77 b8 00 6b 2d 14 00 71 b8 00 78 2d 12 7a b8 00 6b b1 ,.s..k+,..uN-.w..k-..q..x-.z..k.
2d080 00 00 00 02 00 0a 00 00 00 46 00 11 00 00 01 35 00 07 01 36 00 0f 01 37 00 17 01 38 00 1f 01 39 .........F.....5...6...7...8...9
2d0a0 00 27 01 3a 00 2d 01 3b 00 34 01 3c 00 3c 01 3d 00 44 01 3e 00 4c 01 3f 00 54 01 40 00 5a 01 41 .'.:.-.;.4.<.<.=.D.>.L.?.T.@.Z.A
2d0c0 00 60 01 42 00 66 01 43 00 6d 01 44 00 73 01 45 00 0b 00 00 00 2a 00 04 00 00 00 74 00 7c 00 7d .`.B.f.C.m.D.s.E.....*.....t.|.}
2d0e0 00 00 00 07 00 6d 00 6a 00 39 00 01 00 34 00 40 00 74 00 39 00 02 00 60 00 14 00 31 00 39 00 03 .....m.j.9...4.@.t.9...`...1.9..
2d100 00 09 00 7e 00 7f 00 01 00 07 00 00 00 6d 00 06 00 06 00 00 00 25 26 28 67 b8 00 80 26 28 63 b8 ...~.........m.......%&(g...&(c.
2d120 00 80 6f 18 04 98 9e 00 13 26 b8 00 83 99 00 0a 28 b8 00 83 9a 00 05 03 ac 04 ac 00 00 00 03 00 ..o......&......(...............
2d140 0a 00 00 00 06 00 01 00 00 01 48 00 0b 00 00 00 20 00 03 00 00 00 25 00 25 00 19 00 00 00 00 00 ..........H...........%.%.......
2d160 25 00 87 00 19 00 02 00 00 00 25 00 88 00 19 00 04 00 1d 00 00 00 04 00 02 21 01 00 09 00 7e 00 %.........%..............!....~.
2d180 89 00 01 00 07 00 00 00 64 00 06 00 04 00 00 00 26 26 28 67 b8 00 80 26 28 63 b8 00 80 6f 14 00 ........d.......&&(g...&(c...o..
2d1a0 8a 98 9e 00 13 26 b8 00 83 99 00 0a 28 b8 00 83 9a 00 05 03 ac 04 ac 00 00 00 03 00 0a 00 00 00 .....&......(...................
2d1c0 06 00 01 00 00 01 4c 00 0b 00 00 00 16 00 02 00 00 00 26 00 25 00 19 00 00 00 00 00 26 00 87 00 ......L...........&.%.......&...
2d1e0 19 00 02 00 1d 00 00 00 04 00 02 22 01 00 09 00 85 00 86 00 01 00 07 00 00 00 42 00 04 00 02 00 ..........."..............B.....
2d200 00 00 0f 26 b8 00 80 14 00 8c 98 9d 00 05 04 ac 03 ac 00 00 00 03 00 0a 00 00 00 06 00 01 00 00 ...&............................
2d220 01 50 00 0b 00 00 00 0c 00 01 00 00 00 0f 00 25 00 19 00 00 00 1d 00 00 00 03 00 01 0d 00 01 00 .P.............%................
2d240 8e 00 00 00 02 00 8f 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 0c 1c 5a af 09 1a 00 00 09 1a 00 .......PK.........i.<..Z........
2d260 00 20 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 .....optimization/util/MathUtils
2d280 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 3b 0a .javapackage.optimization.util;.
2d2a0 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 73 3b 0a 0a 0a 0a 70 75 62 .import.java.util.Arrays;....pub
2d2c0 6c 69 63 20 63 6c 61 73 73 20 4d 61 74 68 55 74 69 6c 73 20 7b 0a 09 0a 09 2f 2a 2a 0a 09 20 2a lic.class.MathUtils.{..../**...*
2d2e0 20 0a 09 20 2a 20 40 70 61 72 61 6d 20 76 65 63 74 6f 72 0a 09 20 2a 20 40 72 65 74 75 72 6e 0a ....*.@param.vector...*.@return.
2d300 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 4c 32 4e 6f 72 ..*/..public.static.double.L2Nor
2d320 6d 28 64 6f 75 62 6c 65 5b 5d 20 76 65 63 74 6f 72 29 7b 0a 09 09 64 6f 75 62 6c 65 20 76 61 6c m(double[].vector){...double.val
2d340 75 65 20 3d 20 30 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 76 65 63 ue.=.0;...for(int.i.=.0;.i.<.vec
2d360 74 6f 72 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 64 6f 75 62 6c 65 20 76 20 3d 20 tor.length;.i++){....double.v.=.
2d380 76 65 63 74 6f 72 5b 69 5d 3b 0a 09 09 09 76 61 6c 75 65 2b 3d 76 2a 76 3b 0a 09 09 7d 0a 09 09 vector[i];....value+=v*v;...}...
2d3a0 72 65 74 75 72 6e 20 4d 61 74 68 2e 73 71 72 74 28 76 61 6c 75 65 29 3b 0a 09 7d 0a 09 0a 09 70 return.Math.sqrt(value);..}....p
2d3c0 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 73 75 6d 28 64 6f 75 62 6c 65 5b 5d ublic.static.double.sum(double[]
2d3e0 20 76 29 7b 0a 09 09 64 6f 75 62 6c 65 20 73 75 6d 20 3d 20 30 3b 0a 09 09 66 6f 72 20 28 69 6e .v){...double.sum.=.0;...for.(in
2d400 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 76 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 t.i.=.0;.i.<.v.length;.i++).{...
2d420 09 73 75 6d 2b 3d 76 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 73 75 6d 3b 0a 09 7d .sum+=v[i];...}...return.sum;..}
2d440 0a 09 0a 09 0a 09 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 77 20 3d 20 77 20 2b 20 76 0a 09 20 2a 20 ........../**...*.w.=.w.+.v...*.
2d460 40 70 61 72 61 6d 20 77 0a 09 20 2a 20 40 70 61 72 61 6d 20 76 0a 09 20 2a 2f 0a 09 70 75 62 6c @param.w...*.@param.v...*/..publ
2d480 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 6c 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 ic.static.void.plusEquals(double
2d4a0 5b 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 20 76 29 20 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 3d [].w,.double[].v).{...for(int.i=
2d4c0 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 7b 0a 09 09 09 77 5b 69 5d 20 2b 3d 20 77 0;.i<w.length;i++){....w[i].+=.w
2d4e0 5b 69 5d 20 2b 20 76 5b 69 5d 3b 0a 09 09 7d 09 09 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 [i].+.v[i];...}....}..../**...*.
2d500 77 5b 69 5d 20 3d 20 77 5b 69 5d 20 2b 20 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a w[i].=.w[i].+.v...*.@param.w...*
2d520 20 40 70 61 72 61 6d 20 76 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f .@param.v...*/..public.static.vo
2d540 69 64 20 70 6c 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 5b 5d 20 77 2c 20 64 6f 75 62 6c 65 id.plusEquals(double[].w,.double
2d560 20 76 29 20 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b .v).{...for(int.i=0;.i<w.length;
2d580 69 2b 2b 29 7b 0a 09 09 09 77 5b 69 5d 20 2b 3d 20 77 5b 69 5d 20 2b 20 76 3b 0a 09 09 7d 09 09 i++){....w[i].+=.w[i].+.v;...}..
2d5a0 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 77 5b 69 5d 20 3d 20 77 5b 69 5d 20 2d 20 76 0a 09 ..}..../**...*.w[i].=.w[i].-.v..
2d5c0 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a 20 40 70 61 72 61 6d 20 76 0a 09 20 2a 2f 0a 09 70 .*.@param.w...*.@param.v...*/..p
2d5e0 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 69 6e 75 73 45 71 75 61 6c 73 28 64 6f ublic.static.void.minusEquals(do
2d600 75 62 6c 65 5b 5d 20 77 2c 20 64 6f 75 62 6c 65 20 76 29 20 7b 0a 09 09 66 6f 72 28 69 6e 74 20 uble[].w,.double.v).{...for(int.
2d620 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 7b 0a 09 09 09 77 5b 69 5d 20 2d 3d i=0;.i<w.length;i++){....w[i].-=
2d640 20 77 5b 69 5d 20 2b 20 76 3b 0a 09 09 7d 09 09 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 77 .w[i].+.v;...}....}..../**...*.w
2d660 20 3d 20 77 20 2b 20 61 2a 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a 20 40 70 61 72 .=.w.+.a*v...*.@param.w...*.@par
2d680 61 6d 20 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 61 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 am.v...*.@param.a...*/..public.s
2d6a0 74 61 74 69 63 20 76 6f 69 64 20 70 6c 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 5b 5d 20 77 tatic.void.plusEquals(double[].w
2d6c0 2c 20 64 6f 75 62 6c 65 5b 5d 20 76 2c 20 64 6f 75 62 6c 65 20 61 29 20 7b 0a 09 09 66 6f 72 28 ,.double[].v,.double.a).{...for(
2d6e0 69 6e 74 20 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 7b 0a 09 09 09 77 5b 69 int.i=0;.i<w.length;i++){....w[i
2d700 5d 20 2b 3d 20 61 2a 76 5b 69 5d 3b 0a 09 09 7d 09 09 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a ].+=.a*v[i];...}....}..../**...*
2d720 20 77 20 3d 20 77 20 2d 20 61 2a 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a 20 40 70 .w.=.w.-.a*v...*.@param.w...*.@p
2d740 61 72 61 6d 20 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 61 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 aram.v...*.@param.a...*/..public
2d760 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 69 6e 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 5b .static.void.minusEquals(double[
2d780 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 20 76 2c 20 64 6f 75 62 6c 65 20 61 29 20 7b 0a 09 09 66 ].w,.double[].v,.double.a).{...f
2d7a0 6f 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 7b 0a 09 09 09 or(int.i=0;.i<w.length;i++){....
2d7c0 77 5b 69 5d 20 2d 3d 20 61 2a 76 5b 69 5d 3b 0a 09 09 7d 09 09 0a 09 7d 0a 09 2f 2a 2a 0a 09 20 w[i].-=.a*v[i];...}....}../**...
2d7e0 2a 20 76 20 3d 20 77 20 2d 20 61 2a 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a 20 40 *.v.=.w.-.a*v...*.@param.w...*.@
2d800 70 61 72 61 6d 20 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 61 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 param.v...*.@param.a...*/..publi
2d820 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 69 6e 75 73 45 71 75 61 6c 73 49 6e 76 65 72 73 65 c.static.void.minusEqualsInverse
2d840 28 64 6f 75 62 6c 65 5b 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 20 76 2c 20 64 6f 75 62 6c 65 20 (double[].w,.double[].v,.double.
2d860 61 29 20 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b 69 a).{...for(int.i=0;.i<w.length;i
2d880 2b 2b 29 7b 0a 09 09 09 76 5b 69 5d 20 3d 20 77 5b 69 5d 20 2d 20 61 2a 76 5b 69 5d 3b 0a 09 09 ++){....v[i].=.w[i].-.a*v[i];...
2d8a0 7d 09 09 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 64 }....}....public.static.double.d
2d8c0 6f 74 50 72 6f 64 75 63 74 28 64 6f 75 62 6c 65 5b 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 20 76 otProduct(double[].w,.double[].v
2d8e0 29 7b 0a 09 09 64 6f 75 62 6c 65 20 61 63 63 75 6d 20 3d 20 30 3b 0a 09 09 66 6f 72 28 69 6e 74 ){...double.accum.=.0;...for(int
2d900 20 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 7b 0a 09 09 09 61 63 63 75 6d 20 .i=0;.i<w.length;i++){....accum.
2d920 2b 3d 20 77 5b 69 5d 2a 76 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 61 63 63 75 6d +=.w[i]*v[i];...}...return.accum
2d940 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 5b 5d 20 61 ;..}....public.static.double[].a
2d960 72 72 61 79 4d 69 6e 75 73 28 64 6f 75 62 6c 65 5b 5d 77 2c 20 64 6f 75 62 6c 65 5b 5d 76 29 7b rrayMinus(double[]w,.double[]v){
2d980 0a 09 09 64 6f 75 62 6c 65 20 72 65 73 75 6c 74 5b 5d 20 3d 20 77 2e 63 6c 6f 6e 65 28 29 3b 0a ...double.result[].=.w.clone();.
2d9a0 09 09 66 6f 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 7b 0a ..for(int.i=0;.i<w.length;i++){.
2d9c0 09 09 09 72 65 73 75 6c 74 5b 69 5d 20 2d 3d 20 76 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 ...result[i].-=.v[i];...}...retu
2d9e0 72 6e 20 72 65 73 75 6c 74 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 rn.result;..}....public.static.d
2da00 6f 75 62 6c 65 5b 5d 20 61 72 72 61 79 4d 69 6e 75 73 28 64 6f 75 62 6c 65 5b 5d 20 72 65 73 75 ouble[].arrayMinus(double[].resu
2da20 6c 74 20 2c 20 64 6f 75 62 6c 65 5b 5d 77 2c 20 64 6f 75 62 6c 65 5b 5d 76 29 7b 0a 09 09 66 6f lt.,.double[]w,.double[]v){...fo
2da40 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 68 3b 69 2b 2b 29 7b 0a 09 09 09 72 r(int.i=0;.i<w.length;i++){....r
2da60 65 73 75 6c 74 5b 69 5d 20 3d 20 77 5b 69 5d 2d 76 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 esult[i].=.w[i]-v[i];...}...retu
2da80 72 6e 20 72 65 73 75 6c 74 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 rn.result;..}....public.static.d
2daa0 6f 75 62 6c 65 5b 5d 20 6e 65 67 61 74 69 6f 6e 28 64 6f 75 62 6c 65 5b 5d 77 29 7b 0a 09 09 64 ouble[].negation(double[]w){...d
2dac0 6f 75 62 6c 65 20 72 65 73 75 6c 74 5b 5d 20 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 77 2e 6c ouble.result[]..=.new.double[w.l
2dae0 65 6e 67 74 68 5d 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 77 2e 6c 65 6e 67 74 ength];...for(int.i=0;.i<w.lengt
2db00 68 3b 69 2b 2b 29 7b 0a 09 09 09 72 65 73 75 6c 74 5b 69 5d 20 3d 20 2d 77 5b 69 5d 3b 0a 09 09 h;i++){....result[i].=.-w[i];...
2db20 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 }...return.result;..}....public.
2db40 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 73 71 75 61 72 65 28 64 6f 75 62 6c 65 20 76 61 6c 75 static.double.square(double.valu
2db60 65 29 7b 0a 09 09 72 65 74 75 72 6e 20 76 61 6c 75 65 2a 76 61 6c 75 65 3b 0a 09 7d 0a 09 70 75 e){...return.value*value;..}..pu
2db80 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 6f 75 74 65 72 50 72 6f 64 blic.static.double[][].outerProd
2dba0 75 63 74 28 64 6f 75 62 6c 65 5b 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 20 76 29 7b 0a 09 09 64 uct(double[].w,.double[].v){...d
2dbc0 6f 75 62 6c 65 5b 5d 5b 5d 20 72 65 73 75 6c 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 77 2e ouble[][].result.=.new.double[w.
2dbe0 6c 65 6e 67 74 68 5d 5b 76 2e 6c 65 6e 67 74 68 5d 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d length][v.length];...for(int.i.=
2dc00 20 30 3b 20 69 20 3c 20 77 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 66 6f 72 28 69 .0;.i.<.w.length;.i++){....for(i
2dc20 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 76 2e 6c 65 6e 67 74 68 3b 20 6a 2b 2b 29 7b 0a 09 09 nt.j.=.0;.j.<.v.length;.j++){...
2dc40 09 09 72 65 73 75 6c 74 5b 69 5d 5b 6a 5d 20 3d 20 77 5b 69 5d 2a 76 5b 6a 5d 3b 0a 09 09 09 7d ..result[i][j].=.w[i]*v[j];....}
2dc60 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 09 7d 0a 09 2f 2a 2a 0a 09 20 ...}...return.result;..}../**...
2dc80 2a 20 72 65 73 75 6c 74 73 20 3d 20 61 2a 57 2a 56 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 *.results.=.a*W*V...*.@param.w..
2dca0 20 2a 20 40 70 61 72 61 6d 20 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 61 0a 09 20 2a 20 40 72 65 .*.@param.v...*.@param.a...*.@re
2dcc0 74 75 72 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 5b turn...*/..public.static.double[
2dce0 5d 5b 5d 20 77 65 69 67 68 74 65 64 6f 75 74 65 72 50 72 6f 64 75 63 74 28 64 6f 75 62 6c 65 5b ][].weightedouterProduct(double[
2dd00 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 20 76 2c 20 64 6f 75 62 6c 65 20 61 29 7b 0a 09 09 64 6f ].w,.double[].v,.double.a){...do
2dd20 75 62 6c 65 5b 5d 5b 5d 20 72 65 73 75 6c 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 77 2e 6c uble[][].result.=.new.double[w.l
2dd40 65 6e 67 74 68 5d 5b 76 2e 6c 65 6e 67 74 68 5d 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 ength][v.length];...for(int.i.=.
2dd60 30 3b 20 69 20 3c 20 77 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 66 6f 72 28 69 6e 0;.i.<.w.length;.i++){....for(in
2dd80 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 76 2e 6c 65 6e 67 74 68 3b 20 6a 2b 2b 29 7b 0a 09 09 09 t.j.=.0;.j.<.v.length;.j++){....
2dda0 09 72 65 73 75 6c 74 5b 69 5d 5b 6a 5d 20 3d 20 61 2a 77 5b 69 5d 2a 76 5b 6a 5d 3b 0a 09 09 09 .result[i][j].=.a*w[i]*v[j];....
2ddc0 7d 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 09 7d 0a 09 0a 09 70 75 62 }...}...return.result;..}....pub
2dde0 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 69 64 65 6e 74 69 74 79 28 69 lic.static.double[][].identity(i
2de00 6e 74 20 73 69 7a 65 29 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 5b 5d 20 72 65 73 75 6c 74 20 3d 20 nt.size){...double[][].result.=.
2de20 6e 65 77 20 64 6f 75 62 6c 65 5b 73 69 7a 65 5d 5b 73 69 7a 65 5d 3b 0a 09 09 66 6f 72 28 69 6e new.double[size][size];...for(in
2de40 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 69 2b 2b 29 7b 0a 09 09 09 72 65 73 75 t.i.=.0;.i.<.size;.i++){....resu
2de60 6c 74 5b 69 5d 5b 69 5d 20 3d 20 31 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c lt[i][i].=.1;...}...return.resul
2de80 74 3b 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 76 20 2d 3d 20 77 0a 09 20 2a 20 40 70 61 72 t;..}..../**...*.v.-=.w...*.@par
2dea0 61 6d 20 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 am.v...*.@param.w...*/..public.s
2dec0 74 61 74 69 63 20 76 6f 69 64 20 6d 69 6e 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 5b 5d 5b tatic.void.minusEquals(double[][
2dee0 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 76 29 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 ].w,.double[][].v){...for(int.i.
2df00 3d 20 30 3b 20 69 20 3c 20 77 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 66 6f 72 28 =.0;.i.<.w.length;.i++){....for(
2df20 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 77 5b 30 5d 2e 6c 65 6e 67 74 68 3b 20 6a 2b 2b 29 int.j.=.0;.j.<.w[0].length;.j++)
2df40 7b 0a 09 09 09 09 77 5b 69 5d 5b 6a 5d 20 2d 3d 20 76 5b 69 5d 5b 6a 5d 3b 0a 09 09 09 7d 0a 09 {.....w[i][j].-=.v[i][j];....}..
2df60 09 7d 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 76 5b 69 5d 5b 6a 5d 20 2d 3d 20 61 2a 77 5b .}..}..../**...*.v[i][j].-=.a*w[
2df80 69 5d 5b 6a 5d 0a 09 20 2a 20 40 70 61 72 61 6d 20 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a i][j]...*.@param.v...*.@param.w.
2dfa0 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 69 6e 75 73 45 71 ..*/..public.static.void.minusEq
2dfc0 75 61 6c 73 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 76 2c uals(double[][].w,.double[][].v,
2dfe0 20 64 6f 75 62 6c 65 20 61 29 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c .double.a){...for(int.i.=.0;.i.<
2e000 20 77 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 66 6f 72 28 69 6e 74 20 6a 20 3d 20 .w.length;.i++){....for(int.j.=.
2e020 30 3b 20 6a 20 3c 20 77 5b 30 5d 2e 6c 65 6e 67 74 68 3b 20 6a 2b 2b 29 7b 0a 09 09 09 09 77 5b 0;.j.<.w[0].length;.j++){.....w[
2e040 69 5d 5b 6a 5d 20 2d 3d 20 61 2a 76 5b 69 5d 5b 6a 5d 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a i][j].-=.a*v[i][j];....}...}..}.
2e060 09 0a 09 2f 2a 2a 0a 09 20 2a 20 76 20 2b 3d 20 77 0a 09 20 2a 20 40 70 61 72 61 6d 20 76 0a 09 .../**...*.v.+=.w...*.@param.v..
2e080 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 .*.@param.w...*/..public.static.
2e0a0 76 6f 69 64 20 70 6c 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 77 2c 20 64 6f void.plusEquals(double[][].w,.do
2e0c0 75 62 6c 65 5b 5d 5b 5d 20 76 29 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 uble[][].v){...for(int.i.=.0;.i.
2e0e0 3c 20 77 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 66 6f 72 28 69 6e 74 20 6a 20 3d <.w.length;.i++){....for(int.j.=
2e100 20 30 3b 20 6a 20 3c 20 77 5b 30 5d 2e 6c 65 6e 67 74 68 3b 20 6a 2b 2b 29 7b 0a 09 09 09 09 77 .0;.j.<.w[0].length;.j++){.....w
2e120 5b 69 5d 5b 6a 5d 20 2b 3d 20 76 5b 69 5d 5b 6a 5d 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 09 [i][j].+=.v[i][j];....}...}..}..
2e140 0a 09 2f 2a 2a 0a 09 20 2a 20 76 5b 69 5d 5b 6a 5d 20 2b 3d 20 61 2a 77 5b 69 5d 5b 6a 5d 0a 09 ../**...*.v[i][j].+=.a*w[i][j]..
2e160 20 2a 20 40 70 61 72 61 6d 20 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a 2f 0a 09 70 .*.@param.v...*.@param.w...*/..p
2e180 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 6c 75 73 45 71 75 61 6c 73 28 64 6f 75 ublic.static.void.plusEquals(dou
2e1a0 62 6c 65 5b 5d 5b 5d 20 77 2c 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 76 2c 20 64 6f 75 62 6c 65 20 ble[][].w,.double[][].v,.double.
2e1c0 61 29 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 77 2e 6c 65 6e 67 74 a){...for(int.i.=.0;.i.<.w.lengt
2e1e0 68 3b 20 69 2b 2b 29 7b 0a 09 09 09 66 6f 72 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 77 h;.i++){....for(int.j.=.0;.j.<.w
2e200 5b 30 5d 2e 6c 65 6e 67 74 68 3b 20 6a 2b 2b 29 7b 0a 09 09 09 09 77 5b 69 5d 5b 6a 5d 20 2b 3d [0].length;.j++){.....w[i][j].+=
2e220 20 61 2a 76 5b 69 5d 5b 6a 5d 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 09 0a 09 0a 09 2f 2a 2a .a*v[i][j];....}...}..}....../**
2e240 0a 09 20 2a 20 72 65 73 75 6c 74 73 20 3d 20 77 2a 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a ...*.results.=.w*v...*.@param.w.
2e260 09 20 2a 20 40 70 61 72 61 6d 20 76 0a 09 20 2a 20 40 72 65 74 75 72 6e 0a 09 20 2a 2f 0a 09 70 ..*.@param.v...*.@return...*/..p
2e280 75 62 6c 69 63 20 73 74 61 74 69 63 20 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 6d 61 74 72 69 78 4d ublic.static..double[][].matrixM
2e2a0 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 77 2c 64 6f 75 62 6c ultiplication(double[][].w,doubl
2e2c0 65 5b 5d 5b 5d 20 76 29 7b 0a 09 09 69 6e 74 20 77 31 20 3d 20 77 2e 6c 65 6e 67 74 68 3b 0a 09 e[][].v){...int.w1.=.w.length;..
2e2e0 09 69 6e 74 20 77 32 20 3d 20 77 5b 30 5d 2e 6c 65 6e 67 74 68 3b 0a 09 09 69 6e 74 20 76 31 20 .int.w2.=.w[0].length;...int.v1.
2e300 3d 20 76 2e 6c 65 6e 67 74 68 3b 0a 09 09 69 6e 74 20 76 32 20 3d 20 76 5b 30 5d 2e 6c 65 6e 67 =.v.length;...int.v2.=.v[0].leng
2e320 74 68 3b 0a 09 09 0a 09 09 69 66 28 77 32 20 21 3d 20 76 31 29 7b 0a 09 09 09 53 79 73 74 65 6d th;......if(w2.!=.v1){....System
2e340 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 4d 61 74 72 69 78 20 64 69 6d 65 6e 73 69 6f 6e 73 20 .out.println("Matrix.dimensions.
2e360 64 6f 20 6e 6f 74 20 61 67 72 65 65 2e 2e 2e 22 29 3b 0a 09 09 09 53 79 73 74 65 6d 2e 65 78 69 do.not.agree...");....System.exi
2e380 74 28 2d 31 29 3b 0a 09 09 7d 0a 09 09 0a 09 09 64 6f 75 62 6c 65 5b 5d 5b 5d 20 72 65 73 75 6c t(-1);...}......double[][].resul
2e3a0 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 77 31 5d 5b 76 32 5d 3b 0a 09 09 66 6f 72 28 69 6e t.=.new.double[w1][v2];...for(in
2e3c0 74 20 77 5f 69 31 20 3d 20 30 3b 20 77 5f 69 31 20 3c 20 77 31 3b 20 77 5f 69 31 2b 2b 29 7b 0a t.w_i1.=.0;.w_i1.<.w1;.w_i1++){.
2e3e0 09 09 09 66 6f 72 28 69 6e 74 20 76 5f 69 32 20 3d 20 30 3b 20 76 5f 69 32 20 3c 20 76 32 3b 20 ...for(int.v_i2.=.0;.v_i2.<.v2;.
2e400 76 5f 69 32 2b 2b 29 7b 0a 09 09 09 09 64 6f 75 62 6c 65 20 73 75 6d 20 3d 20 30 3b 0a 09 09 09 v_i2++){.....double.sum.=.0;....
2e420 09 66 6f 72 28 69 6e 74 20 77 5f 69 32 20 3d 20 30 3b 20 77 5f 69 32 20 3c 20 77 32 3b 20 77 5f .for(int.w_i2.=.0;.w_i2.<.w2;.w_
2e440 69 32 2b 2b 29 7b 0a 09 09 09 09 09 09 73 75 6d 20 2b 3d 20 77 5b 77 5f 69 31 20 5d 5b 77 5f 69 i2++){.......sum.+=.w[w_i1.][w_i
2e460 32 5d 2a 76 5b 77 5f 69 32 5d 5b 76 5f 69 32 5d 3b 09 0a 09 09 09 09 7d 0a 09 09 09 09 72 65 73 2]*v[w_i2][v_i2];......}.....res
2e480 75 6c 74 5b 77 5f 69 31 5d 5b 76 5f 69 32 5d 20 3d 20 73 75 6d 3b 0a 09 09 09 7d 0a 09 09 7d 0a ult[w_i1][v_i2].=.sum;....}...}.
2e4a0 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 77 ..return.result;..}..../**...*.w
2e4c0 20 3d 20 77 2e 2a 76 0a 09 20 2a 20 40 70 61 72 61 6d 20 77 0a 09 20 2a 20 40 70 61 72 61 6d 20 .=.w.*v...*.@param.w...*.@param.
2e4e0 76 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 20 76 6f 69 64 20 6d 61 74 72 v...*/..public.static..void.matr
2e500 69 78 53 63 61 6c 61 72 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 28 64 6f 75 62 6c 65 5b 5d 5b ixScalarMultiplication(double[][
2e520 5d 20 77 2c 64 6f 75 62 6c 65 20 76 29 7b 0a 09 09 69 6e 74 20 77 31 20 3d 20 77 2e 6c 65 6e 67 ].w,double.v){...int.w1.=.w.leng
2e540 74 68 3b 0a 09 09 69 6e 74 20 77 32 20 3d 20 77 5b 30 5d 2e 6c 65 6e 67 74 68 3b 09 0a 09 09 66 th;...int.w2.=.w[0].length;....f
2e560 6f 72 28 69 6e 74 20 77 5f 69 31 20 3d 20 30 3b 20 77 5f 69 31 20 3c 20 77 31 3b 20 77 5f 69 31 or(int.w_i1.=.0;.w_i1.<.w1;.w_i1
2e580 2b 2b 29 7b 0a 09 09 09 09 66 6f 72 28 69 6e 74 20 77 5f 69 32 20 3d 20 30 3b 20 77 5f 69 32 20 ++){.....for(int.w_i2.=.0;.w_i2.
2e5a0 3c 20 77 32 3b 20 77 5f 69 32 2b 2b 29 7b 0a 09 09 09 09 09 09 77 5b 77 5f 69 31 20 5d 5b 77 5f <.w2;.w_i2++){.......w[w_i1.][w_
2e5c0 69 32 5d 20 2a 3d 20 76 3b 09 0a 09 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 i2].*=.v;......}...}..}....publi
2e5e0 63 20 73 74 61 74 69 63 20 20 76 6f 69 64 20 73 63 61 6c 61 72 4d 75 6c 74 69 70 6c 69 63 61 74 c.static..void.scalarMultiplicat
2e600 69 6f 6e 28 64 6f 75 62 6c 65 5b 5d 20 77 2c 64 6f 75 62 6c 65 20 76 29 7b 0a 09 09 69 6e 74 20 ion(double[].w,double.v){...int.
2e620 77 31 20 3d 20 77 2e 6c 65 6e 67 74 68 3b 0a 09 09 66 6f 72 28 69 6e 74 20 77 5f 69 31 20 3d 20 w1.=.w.length;...for(int.w_i1.=.
2e640 30 3b 20 77 5f 69 31 20 3c 20 77 31 3b 20 77 5f 69 31 2b 2b 29 7b 0a 09 09 09 77 5b 77 5f 69 31 0;.w_i1.<.w1;.w_i1++){....w[w_i1
2e660 20 5d 20 2a 3d 20 76 3b 09 0a 09 09 7d 0a 09 09 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 .].*=.v;....}.....}....public.st
2e680 61 74 69 63 20 20 64 6f 75 62 6c 65 5b 5d 20 6d 61 74 72 69 78 56 65 63 74 6f 72 28 64 6f 75 62 atic..double[].matrixVector(doub
2e6a0 6c 65 5b 5d 5b 5d 20 77 2c 64 6f 75 62 6c 65 5b 5d 20 76 29 7b 0a 09 09 69 6e 74 20 77 31 20 3d le[][].w,double[].v){...int.w1.=
2e6c0 20 77 2e 6c 65 6e 67 74 68 3b 0a 09 09 69 6e 74 20 77 32 20 3d 20 77 5b 30 5d 2e 6c 65 6e 67 74 .w.length;...int.w2.=.w[0].lengt
2e6e0 68 3b 0a 09 09 69 6e 74 20 76 31 20 3d 20 76 2e 6c 65 6e 67 74 68 3b 0a 09 09 0a 09 09 69 66 28 h;...int.v1.=.v.length;......if(
2e700 77 32 20 21 3d 20 76 31 29 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e w2.!=.v1){....System.out.println
2e720 28 22 4d 61 74 72 69 78 20 64 69 6d 65 6e 73 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 61 67 72 65 65 ("Matrix.dimensions.do.not.agree
2e740 2e 2e 2e 22 29 3b 0a 09 09 09 53 79 73 74 65 6d 2e 65 78 69 74 28 2d 31 29 3b 0a 09 09 7d 0a 09 ...");....System.exit(-1);...}..
2e760 09 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 72 65 73 75 6c 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 ....double[].result.=.new.double
2e780 5b 77 31 5d 3b 0a 09 09 66 6f 72 28 69 6e 74 20 77 5f 69 31 20 3d 20 30 3b 20 77 5f 69 31 20 3c [w1];...for(int.w_i1.=.0;.w_i1.<
2e7a0 20 77 31 3b 20 77 5f 69 31 2b 2b 29 7b 0a 09 09 09 09 64 6f 75 62 6c 65 20 73 75 6d 20 3d 20 30 .w1;.w_i1++){.....double.sum.=.0
2e7c0 3b 0a 09 09 09 09 66 6f 72 28 69 6e 74 20 77 5f 69 32 20 3d 20 30 3b 20 77 5f 69 32 20 3c 20 77 ;.....for(int.w_i2.=.0;.w_i2.<.w
2e7e0 32 3b 20 77 5f 69 32 2b 2b 29 7b 0a 09 09 09 09 09 09 73 75 6d 20 2b 3d 20 77 5b 77 5f 69 31 20 2;.w_i2++){.......sum.+=.w[w_i1.
2e800 5d 5b 77 5f 69 32 5d 2a 76 5b 77 5f 69 32 5d 3b 09 0a 09 09 09 09 7d 0a 09 09 09 09 72 65 73 75 ][w_i2]*v[w_i2];......}.....resu
2e820 6c 74 5b 77 5f 69 31 5d 20 3d 20 73 75 6d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 lt[w_i1].=.sum;...}...return.res
2e840 75 6c 74 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 65 61 6e ult;..}....public.static.boolean
2e860 20 61 6c 6c 50 6f 73 69 74 69 76 65 28 64 6f 75 62 6c 65 5b 5d 20 61 72 72 61 79 29 7b 0a 09 09 .allPositive(double[].array){...
2e880 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 for.(int.i.=.0;.i.<.array.length
2e8a0 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 69 66 28 61 72 72 61 79 5b 69 5d 20 3c 20 30 29 20 72 65 74 ;.i++).{....if(array[i].<.0).ret
2e8c0 75 72 6e 20 66 61 6c 73 65 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 7d urn.false;...}...return.true;..}
2e8e0 0a 09 0a 09 0a 09 0a 09 0a 09 0a 09 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 .............public.static.void.
2e900 6d 61 69 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 73 29 20 7b 0a 09 09 09 64 6f 75 62 6c 65 5b main(String[].args).{....double[
2e920 5d 5b 5d 20 6d 31 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 32 5d 5b 32 5d 3b 0a 09 09 09 6d 31 ][].m1.=.new.double[2][2];....m1
2e940 5b 30 5d 5b 30 5d 3d 32 3b 0a 09 09 09 6d 31 5b 31 5d 5b 30 5d 3d 32 3b 0a 09 09 09 6d 31 5b 30 [0][0]=2;....m1[1][0]=2;....m1[0
2e960 5d 5b 31 5d 3d 32 3b 0a 09 09 09 6d 31 5b 31 5d 5b 31 5d 3d 32 3b 0a 09 09 09 4d 61 74 72 69 78 ][1]=2;....m1[1][1]=2;....Matrix
2e980 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 6d 31 2c 20 22 6d 31 22 Output.printDoubleArray(m1,."m1"
2e9a0 29 3b 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 5b 5d 20 6d 32 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 );....double[][].m2.=.new.double
2e9c0 5b 32 5d 5b 32 5d 3b 0a 09 09 09 6d 32 5b 30 5d 5b 30 5d 3d 33 3b 0a 09 09 09 6d 32 5b 31 5d 5b [2][2];....m2[0][0]=3;....m2[1][
2e9e0 30 5d 3d 33 3b 0a 09 09 09 6d 32 5b 30 5d 5b 31 5d 3d 33 3b 0a 09 09 09 6d 32 5b 31 5d 5b 31 5d 0]=3;....m2[0][1]=3;....m2[1][1]
2ea00 3d 33 3b 0a 09 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 =3;....MatrixOutput.printDoubleA
2ea20 72 72 61 79 28 6d 32 2c 20 22 6d 32 22 29 3b 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 5b 5d 20 72 65 rray(m2,."m2");....double[][].re
2ea40 73 75 6c 74 20 3d 20 6d 61 74 72 69 78 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 28 6d 31 2c 20 sult.=.matrixMultiplication(m1,.
2ea60 6d 32 29 3b 0a 09 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 m2);....MatrixOutput.printDouble
2ea80 41 72 72 61 79 28 72 65 73 75 6c 74 2c 20 22 72 65 73 75 6c 74 22 29 3b 0a 09 09 09 6d 61 74 72 Array(result,."result");....matr
2eaa0 69 78 53 63 61 6c 61 72 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 28 72 65 73 75 6c 74 2c 20 33 ixScalarMultiplication(result,.3
2eac0 29 3b 0a 09 09 09 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 );....MatrixOutput.printDoubleAr
2eae0 72 61 79 28 72 65 73 75 6c 74 2c 20 22 72 65 73 75 6c 74 20 61 66 74 65 72 20 6d 75 6c 74 69 70 ray(result,."result.after.multip
2eb00 6c 79 20 62 79 20 33 22 29 3b 0a 09 09 7d 0a 09 0a 09 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 ly.by.3");...}.....public.static
2eb20 20 62 6f 6f 6c 65 61 6e 20 61 6c 6d 6f 73 74 28 64 6f 75 62 6c 65 20 61 2c 20 64 6f 75 62 6c 65 .boolean.almost(double.a,.double
2eb40 20 62 2c 20 64 6f 75 62 6c 65 20 70 72 65 63 29 7b 0a 09 09 09 72 65 74 75 72 6e 20 4d 61 74 68 .b,.double.prec){....return.Math
2eb60 2e 61 62 73 28 61 2d 62 29 2f 4d 61 74 68 2e 61 62 73 28 61 2b 62 29 20 3c 3d 20 70 72 65 63 20 .abs(a-b)/Math.abs(a+b).<=.prec.
2eb80 7c 7c 20 28 61 6c 6d 6f 73 74 5a 65 72 6f 28 61 29 20 26 26 20 61 6c 6d 6f 73 74 5a 65 72 6f 28 ||.(almostZero(a).&&.almostZero(
2eba0 62 29 29 3b 0a 09 09 7d 0a 0a 09 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 65 61 b));...}....public.static.boolea
2ebc0 6e 20 61 6c 6d 6f 73 74 28 64 6f 75 62 6c 65 20 61 2c 20 64 6f 75 62 6c 65 20 62 29 7b 0a 09 09 n.almost(double.a,.double.b){...
2ebe0 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 61 62 73 28 61 2d 62 29 2f 4d 61 74 68 2e 61 62 73 28 61 .return.Math.abs(a-b)/Math.abs(a
2ec00 2b 62 29 20 3c 3d 20 31 65 2d 31 30 20 7c 7c 20 28 61 6c 6d 6f 73 74 5a 65 72 6f 28 61 29 20 26 +b).<=.1e-10.||.(almostZero(a).&
2ec20 26 20 61 6c 6d 6f 73 74 5a 65 72 6f 28 62 29 29 3b 0a 09 09 7d 0a 0a 09 09 70 75 62 6c 69 63 20 &.almostZero(b));...}....public.
2ec40 73 74 61 74 69 63 20 62 6f 6f 6c 65 61 6e 20 61 6c 6d 6f 73 74 5a 65 72 6f 28 64 6f 75 62 6c 65 static.boolean.almostZero(double
2ec60 20 61 29 20 7b 0a 09 09 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 61 62 73 28 61 29 20 3c 3d 20 31 .a).{....return.Math.abs(a).<=.1
2ec80 65 2d 33 30 3b 0a 09 09 7d 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c da 7e 6a ca e-30;...}...}.PK.........Y.<.~j.
2eca0 a1 15 00 00 a1 15 00 00 23 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 53 74 ........#...optimization/util/St
2ecc0 61 74 69 63 54 6f 6f 6c 73 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 fc 07 00 02 01 00 1d 6f aticTools.class.......2........o
2ece0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 53 74 61 74 69 63 54 6f 6f 6c 73 07 00 04 01 ptimization/util/StaticTools....
2ed00 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 03 66 6d 74 01 00 19 4c 6a 61 76 61 ..java/lang/Object...fmt...Ljava
2ed20 2f 74 65 78 74 2f 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 3b 01 00 13 24 61 73 73 65 72 74 69 6f /text/DecimalFormat;...$assertio
2ed40 6e 73 44 69 73 61 62 6c 65 64 01 00 01 5a 01 00 08 3c 63 6c 69 6e 69 74 3e 01 00 03 28 29 56 01 nsDisabled...Z...<clinit>...()V.
2ed60 00 04 43 6f 64 65 0a 00 0d 00 0f 07 00 0e 01 00 0f 6a 61 76 61 2f 6c 61 6e 67 2f 43 6c 61 73 73 ..Code...........java/lang/Class
2ed80 0c 00 10 00 11 01 00 16 64 65 73 69 72 65 64 41 73 73 65 72 74 69 6f 6e 53 74 61 74 75 73 01 00 ........desiredAssertionStatus..
2eda0 03 28 29 5a 09 00 01 00 13 0c 00 07 00 08 07 00 15 01 00 17 6a 61 76 61 2f 74 65 78 74 2f 44 65 .()Z................java/text/De
2edc0 63 69 6d 61 6c 46 6f 72 6d 61 74 0a 00 14 00 17 0c 00 18 00 0a 01 00 06 3c 69 6e 69 74 3e 09 00 cimalFormat.............<init>..
2ede0 01 00 1a 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 ...........LineNumberTable...Loc
2ee00 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 0a alVariableTable...StackMapTable.
2ee20 00 03 00 17 01 00 04 74 68 69 73 01 00 1f 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c .......this...Loptimization/util
2ee40 2f 53 74 61 74 69 63 54 6f 6f 6c 73 3b 01 00 09 63 72 65 61 74 65 44 69 72 01 00 15 28 4c 6a 61 /StaticTools;...createDir...(Lja
2ee60 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 07 00 24 01 00 0c 6a 61 76 61 2f 69 6f 2f 46 va/lang/String;)V..$...java/io/F
2ee80 69 6c 65 0a 00 23 00 26 0c 00 18 00 22 0a 00 23 00 28 0c 00 29 00 11 01 00 0b 69 73 44 69 72 65 ile..#.&...."..#.(..).....isDire
2eea0 63 74 6f 72 79 0a 00 23 00 2b 0c 00 2c 00 11 01 00 06 6d 6b 64 69 72 73 09 00 2e 00 30 07 00 2f ctory..#.+..,.....mkdirs....0../
2eec0 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 31 00 32 01 00 03 6f 75 74 01 00 ...java/lang/System..1.2...out..
2eee0 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 00 34 01 00 17 6a 61 76 61 .Ljava/io/PrintStream;..4...java
2ef00 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 36 01 00 1b 55 6e 61 62 6c 65 20 /lang/StringBuilder..6...Unable.
2ef20 74 6f 20 63 72 65 61 74 65 20 64 69 72 65 63 74 6f 72 79 20 0a 00 33 00 26 0a 00 33 00 39 0c 00 to.create.directory...3.&..3.9..
2ef40 3a 00 3b 01 00 06 61 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e :.;...append..-(Ljava/lang/Strin
2ef60 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 33 00 g;)Ljava/lang/StringBuilder;..3.
2ef80 3d 0c 00 3e 00 3f 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 =..>.?...toString...()Ljava/lang
2efa0 2f 53 74 72 69 6e 67 3b 0a 00 41 00 43 07 00 42 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 /String;..A.C..B...java/io/Print
2efc0 53 74 72 65 61 6d 0c 00 44 00 22 01 00 07 70 72 69 6e 74 6c 6e 0a 00 2e 00 46 0c 00 47 00 48 01 Stream..D."...println....F..G.H.
2efe0 00 04 65 78 69 74 01 00 04 28 49 29 56 08 00 4a 01 00 12 43 72 65 61 74 65 64 20 64 69 72 65 63 ..exit...(I)V..J...Created.direc
2f000 74 6f 72 79 20 08 00 4c 01 00 12 52 65 75 73 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 01 00 09 tory...L...Reusing.directory....
2f020 64 69 72 65 63 74 6f 72 79 01 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 directory...Ljava/lang/String;..
2f040 03 64 69 72 01 00 0e 4c 6a 61 76 61 2f 69 6f 2f 46 69 6c 65 3b 01 00 07 73 75 63 63 65 73 73 01 .dir...Ljava/io/File;...success.
2f060 00 0a 4b 4c 44 69 73 74 61 6e 63 65 01 00 0b 28 5b 5b 44 5b 5b 44 49 49 29 44 0a 00 55 00 57 07 ..KLDistance...([[D[[DII)D..U.W.
2f080 00 56 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 0c 00 58 00 59 01 00 05 69 73 4e .V...java/lang/Double..X.Y...isN
2f0a0 61 4e 01 00 04 28 44 29 5a 07 00 5b 01 00 18 6a 61 76 61 2f 6c 61 6e 67 2f 41 73 73 65 72 74 69 aN...(D)Z..[...java/lang/Asserti
2f0c0 6f 6e 45 72 72 6f 72 08 00 5d 01 00 1a 4b 4c 44 69 73 74 61 6e 63 65 20 71 3a 20 20 70 72 6f 62 onError..]...KLDistance.q:..prob
2f0e0 20 69 73 20 4e 61 4e 0a 00 5a 00 5f 0c 00 18 00 60 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f .is.NaN..Z._....`...(Ljava/lang/
2f100 4f 62 6a 65 63 74 3b 29 56 08 00 62 01 00 1a 4b 4c 44 69 73 74 61 6e 63 65 20 70 3a 20 20 70 72 Object;)V..b...KLDistance.p:..pr
2f120 6f 62 20 69 73 20 4e 61 4e 0a 00 64 00 66 07 00 65 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 ob.is.NaN..d.f..e...java/lang/Ma
2f140 74 68 0c 00 67 00 68 01 00 03 6c 6f 67 01 00 04 28 44 29 44 08 00 6a 01 00 17 4b 4c 44 69 73 74 th..g.h...log...(D)D..j...KLDist
2f160 61 6e 63 65 3a 20 70 72 6f 62 20 69 73 20 4e 61 4e 06 bd db 7c df d9 d7 bd bb 08 00 6e 01 00 15 ance:.prob.is.NaN...|.......n...
2f180 4b 4c 20 53 6d 61 6c 6c 65 72 20 74 68 61 6e 20 7a 65 72 6f 20 0a 00 33 00 70 0c 00 3a 00 71 01 KL.Smaller.than.zero...3.p..:.q.
2f1a0 00 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 ..(D)Ljava/lang/StringBuilder;..
2f1c0 73 01 00 0b 53 6f 75 72 63 65 20 53 69 7a 65 0a 00 33 00 75 0c 00 3a 00 76 01 00 1c 28 49 29 4c s...Source.Size..3.u..:.v...(I)L
2f1e0 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 78 01 00 0c 46 6f java/lang/StringBuilder;..x...Fo
2f200 72 65 69 67 6e 20 53 69 7a 65 08 00 7a 01 00 01 71 0a 00 01 00 7c 0c 00 7d 00 7e 01 00 0b 70 72 reign.Size..z...q....|..}.~...pr
2f220 69 6e 74 4d 61 74 72 69 78 01 00 2f 28 5b 5b 44 49 49 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 intMatrix../([[DIILjava/lang/Str
2f240 69 6e 67 3b 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 29 56 08 00 80 01 00 ing;Ljava/io/PrintStream;)V.....
2f260 01 70 01 00 03 5b 5b 44 01 00 0a 73 6f 75 72 63 65 53 69 7a 65 01 00 01 49 01 00 0b 66 6f 72 65 .p...[[D...sourceSize...I...fore
2f280 69 67 6e 53 69 7a 65 01 00 07 74 6f 74 61 6c 4b 4c 01 00 01 44 01 00 01 69 01 00 02 6b 6c 01 00 ignSize...totalKL...D...i...kl..
2f2a0 01 6a 01 00 0f 4b 4c 44 69 73 74 61 6e 63 65 50 72 69 6d 65 01 00 07 45 6e 74 72 6f 70 79 01 00 .j...KLDistancePrime...Entropy..
2f2c0 08 28 5b 5b 44 49 49 29 44 01 00 06 74 6f 74 61 6c 45 01 00 01 65 01 00 0a 63 6f 70 79 4d 61 74 .([[DII)D...totalE...e...copyMat
2f2e0 72 69 78 01 00 0a 28 5b 5b 44 49 49 29 5b 5b 44 07 00 81 01 00 08 6f 72 69 67 69 6e 61 6c 01 00 rix...([[DII)[[D......original..
2f300 06 72 65 73 75 6c 74 0a 00 14 00 95 0c 00 96 00 48 01 00 18 73 65 74 4d 61 78 69 6d 75 6d 46 72 .result.........H...setMaximumFr
2f320 61 63 74 69 6f 6e 44 69 67 69 74 73 0a 00 14 00 98 0c 00 99 00 48 01 00 17 73 65 74 4d 61 78 69 actionDigits.........H...setMaxi
2f340 6d 75 6d 49 6e 74 65 67 65 72 44 69 67 69 74 73 0a 00 14 00 9b 0c 00 9c 00 48 01 00 18 73 65 74 mumIntegerDigits.........H...set
2f360 4d 69 6e 69 6d 75 6d 46 72 61 63 74 69 6f 6e 44 69 67 69 74 73 0a 00 14 00 9e 0c 00 9f 00 48 01 MinimumFractionDigits.........H.
2f380 00 17 73 65 74 4d 69 6e 69 6d 75 6d 49 6e 74 65 67 65 72 44 69 67 69 74 73 08 00 a1 01 00 06 2e ..setMinimumIntegerDigits.......
2f3a0 30 30 45 30 30 0a 00 01 00 a3 0c 00 a4 00 a5 01 00 0b 70 72 65 74 74 79 50 72 69 6e 74 01 00 28 00E00.............prettyPrint..(
2f3c0 28 44 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 (DLjava/lang/String;I)Ljava/lang
2f3e0 2f 53 74 72 69 6e 67 3b 0a 00 a7 00 a9 07 00 a8 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 /String;...........java/lang/Str
2f400 69 6e 67 0c 00 aa 00 ab 01 00 07 76 61 6c 75 65 4f 66 01 00 26 28 4c 6a 61 76 61 2f 6c 61 6e 67 ing........valueOf..&(Ljava/lang
2f420 2f 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 ad 01 00 /Object;)Ljava/lang/String;.....
2f440 01 20 0a 00 41 00 af 0c 00 b0 00 22 01 00 05 70 72 69 6e 74 0a 00 41 00 b2 0c 00 44 00 0a 01 00 ....A......"...print..A....D....
2f460 06 6d 61 74 72 69 78 01 00 04 69 6e 66 6f 01 00 2f 28 5b 5b 49 49 49 4c 6a 61 76 61 2f 6c 61 6e .matrix...info../([[IIILjava/lan
2f480 67 2f 53 74 72 69 6e 67 3b 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 29 56 g/String;Ljava/io/PrintStream;)V
2f4a0 0a 00 a7 00 b7 0c 00 aa 00 b8 01 00 15 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e .............(I)Ljava/lang/Strin
2f4c0 67 3b 01 00 03 5b 5b 49 01 00 0a 66 6f 72 6d 61 74 54 69 6d 65 01 00 15 28 4a 29 4c 6a 61 76 61 g;...[[I...formatTime...(J)Ljava
2f4e0 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 33 00 17 05 00 00 00 00 00 00 03 e8 08 00 c0 01 00 /lang/String;..3................
2f500 02 30 30 0a 00 14 00 c2 0c 00 c3 00 22 01 00 0c 61 70 70 6c 79 50 61 74 74 65 72 6e 06 40 ac 20 .00........."...applyPattern.@..
2f520 00 00 00 00 00 0a 00 14 00 c7 0c 00 c8 00 bb 01 00 06 66 6f 72 6d 61 74 08 00 ca 01 00 01 3a 06 ..................format......:.
2f540 40 4e 00 00 00 00 00 00 08 00 ce 01 00 04 30 30 2e 30 0a 00 14 00 d0 0c 00 c8 00 d1 01 00 15 28 @N............00.0.............(
2f560 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 08 64 75 72 61 74 69 6f 6e 01 D)Ljava/lang/String;...duration.
2f580 00 01 4a 01 00 02 73 62 01 00 19 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c ..J...sb...Ljava/lang/StringBuil
2f5a0 64 65 72 3b 01 00 01 64 0a 00 a7 00 d8 0c 00 d9 00 da 01 00 06 6c 65 6e 67 74 68 01 00 03 28 29 der;...d.............length...()
2f5c0 49 01 00 04 70 61 74 74 01 00 03 6c 65 6e 01 00 01 73 01 00 0d 67 65 74 55 73 65 64 4d 65 6d 6f I...patt...len...s...getUsedMemo
2f5e0 72 79 01 00 03 28 29 4a 0a 00 2e 00 e1 0c 00 e2 00 0a 01 00 02 67 63 0a 00 e4 00 e6 07 00 e5 01 ry...()J.............gc.........
2f600 00 11 6a 61 76 61 2f 6c 61 6e 67 2f 52 75 6e 74 69 6d 65 0c 00 e7 00 e8 01 00 0a 67 65 74 52 75 ..java/lang/Runtime........getRu
2f620 6e 74 69 6d 65 01 00 15 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 52 75 6e 74 69 6d 65 3b 0a 00 e4 ntime...()Ljava/lang/Runtime;...
2f640 00 ea 0c 00 eb 00 df 01 00 0b 74 6f 74 61 6c 4d 65 6d 6f 72 79 0a 00 e4 00 ed 0c 00 ee 00 df 01 ..........totalMemory...........
2f660 00 0a 66 72 65 65 4d 65 6d 6f 72 79 05 00 00 00 00 00 10 00 00 01 00 0e 63 6f 6d 70 61 72 65 44 ..freeMemory............compareD
2f680 6f 75 62 6c 65 73 01 00 05 28 44 44 29 5a 0a 00 64 00 f4 0c 00 f5 00 68 01 00 03 61 62 73 06 3d oubles...(DD)Z..d......h...abs.=
2f6a0 db 7c df d9 d7 bd bb 01 00 02 64 31 01 00 02 64 32 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 .|........d1...d2...SourceFile..
2f6c0 10 53 74 61 74 69 63 54 6f 6f 6c 73 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 02 00 08 00 05 00 .StaticTools.java.!.............
2f6e0 06 00 00 10 18 00 07 00 08 00 00 00 0d 00 08 00 09 00 0a 00 01 00 0b 00 00 00 4a 00 02 00 00 00 ..........................J.....
2f700 00 00 1b 12 01 b6 00 0c 9a 00 07 04 a7 00 04 03 b3 00 12 bb 00 14 59 b7 00 16 b3 00 19 b1 00 00 ......................Y.........
2f720 00 03 00 1b 00 00 00 0a 00 02 00 00 00 07 00 10 00 09 00 1c 00 00 00 02 00 00 00 1d 00 00 00 05 ................................
2f740 00 02 0c 40 01 00 01 00 18 00 0a 00 01 00 0b 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 1e b1 ...@............../........*....
2f760 00 00 00 02 00 1b 00 00 00 06 00 01 00 00 00 07 00 1c 00 00 00 0c 00 01 00 00 00 05 00 1f 00 20 ................................
2f780 00 00 00 09 00 21 00 22 00 01 00 0b 00 00 00 d4 00 04 00 03 00 00 00 63 bb 00 23 59 2a b7 00 25 .....!."...............c..#Y*..%
2f7a0 4c 2b b6 00 27 9a 00 3f 2b b6 00 2a 3d 1c 9a 00 1d b2 00 2d bb 00 33 59 12 35 b7 00 37 2a b6 00 L+..'..?+..*=......-..3Y.5..7*..
2f7c0 38 b6 00 3c b6 00 40 03 b8 00 45 b2 00 2d bb 00 33 59 12 49 b7 00 37 2a b6 00 38 b6 00 3c b6 00 8..<..@...E..-..3Y.I..7*..8..<..
2f7e0 40 a7 00 19 b2 00 2d bb 00 33 59 12 4b b7 00 37 2a b6 00 38 b6 00 3c b6 00 40 b1 00 00 00 03 00 @.....-..3Y.K..7*..8..<..@......
2f800 1b 00 00 00 26 00 09 00 00 00 0d 00 09 00 0e 00 10 00 0f 00 15 00 10 00 19 00 11 00 2f 00 12 00 ....&......................./...
2f820 33 00 14 00 4c 00 16 00 62 00 18 00 1c 00 00 00 20 00 03 00 00 00 63 00 4d 00 4e 00 00 00 09 00 3...L...b.............c.M.N.....
2f840 5a 00 4f 00 50 00 01 00 15 00 37 00 51 00 08 00 02 00 1d 00 00 00 0d 00 03 fd 00 33 07 00 23 01 Z.O.P.....7.Q..............3..#.
2f860 fa 00 18 15 00 09 00 52 00 53 00 01 00 0b 00 00 02 14 00 08 00 0a 00 00 01 23 0e 39 04 03 36 06 .......R.S...............#.9..6.
2f880 a7 00 93 0e 39 07 03 36 09 a7 00 7a b2 00 12 9a 00 1a 2b 15 06 32 15 09 31 b8 00 54 99 00 0d bb ....9..6...z......+..2..1..T....
2f8a0 00 5a 59 12 5c b7 00 5e bf b2 00 12 9a 00 1a 2a 15 06 32 15 09 31 b8 00 54 99 00 0d bb 00 5a 59 .ZY.\..^.......*..2..1..T.....ZY
2f8c0 12 61 b7 00 5e bf 2a 15 06 32 15 09 31 0e 97 99 00 31 2b 15 06 32 15 09 31 0e 97 9a 00 06 a7 00 .a..^.*..2..1....1+..2..1.......
2f8e0 22 18 07 2b 15 06 32 15 09 31 2b 15 06 32 15 09 31 2a 15 06 32 15 09 31 6f b8 00 63 6b 63 39 07 "..+..2..1+..2..1*..2..1o..ckc9.
2f900 84 09 01 15 09 1d a1 ff 86 18 04 18 07 63 39 04 84 06 01 15 06 1c a1 ff 6d b2 00 12 9a 00 15 18 .............c9.........m.......
2f920 04 b8 00 54 99 00 0d bb 00 5a 59 12 69 b7 00 5e bf 18 04 14 00 6b 98 9c 00 60 b2 00 2d bb 00 33 ...T.....ZY.i..^.....k...`..-..3
2f940 59 12 6d b7 00 37 18 04 b6 00 6f b6 00 3c b6 00 40 b2 00 2d bb 00 33 59 12 72 b7 00 37 1c b6 00 Y.m..7....o..<..@..-..3Y.r..7...
2f960 74 b6 00 3c b6 00 40 b2 00 2d bb 00 33 59 12 77 b7 00 37 1d b6 00 74 b6 00 3c b6 00 40 2b 1c 1d t..<..@..-..3Y.w..7...t..<..@+..
2f980 12 79 b2 00 2d b8 00 7b 2a 1c 1d 12 7f b2 00 2d b8 00 7b 02 b8 00 45 18 04 1c 87 6f af 00 00 00 .y..-..{*......-..{...E....o....
2f9a0 03 00 1b 00 00 00 66 00 19 00 00 00 20 00 03 00 25 00 09 00 26 00 0c 00 27 00 12 00 28 00 2f 00 ......f.........%...&...'...(./.
2f9c0 29 00 4c 00 2a 00 64 00 2b 00 67 00 2d 00 86 00 27 00 8f 00 31 00 96 00 25 00 9f 00 33 00 b7 00 ).L.*.d.+.g.-...'...1...%...3...
2f9e0 34 00 c0 00 35 00 d7 00 36 00 ed 00 37 01 03 00 38 01 08 00 39 01 0b 00 38 01 0e 00 3a 01 13 00 4...5...6...7...8...9...8...:...
2fa00 3b 01 16 00 3a 01 19 00 3c 01 1d 00 3e 00 1c 00 00 00 52 00 08 00 00 01 23 00 80 00 81 00 00 00 ;...:...<...>.....R.....#.......
2fa20 00 01 23 00 7a 00 81 00 01 00 00 01 23 00 82 00 83 00 02 00 00 01 23 00 84 00 83 00 03 00 03 01 ..#.z.......#.........#.........
2fa40 20 00 85 00 86 00 04 00 06 00 99 00 87 00 83 00 06 00 0c 00 8a 00 88 00 86 00 07 00 0f 00 80 00 ................................
2fa60 89 00 83 00 09 00 1d 00 00 00 1b 00 0b fd 00 09 03 01 fd 00 08 03 01 1c 1c 17 02 1e 02 f9 00 0f ................................
2fa80 fa 00 1d fb 00 65 00 09 00 8a 00 53 00 01 00 0b 00 00 01 7f 00 08 00 0a 00 00 00 bd 0e 39 04 03 .....e.....S.................9..
2faa0 36 06 a7 00 93 0e 39 07 03 36 09 a7 00 7a b2 00 12 9a 00 1a 2b 15 09 32 15 06 31 b8 00 54 99 00 6.....9..6...z......+..2..1..T..
2fac0 0d bb 00 5a 59 12 5c b7 00 5e bf b2 00 12 9a 00 1a 2a 15 09 32 15 06 31 b8 00 54 99 00 0d bb 00 ...ZY.\..^.......*..2..1..T.....
2fae0 5a 59 12 61 b7 00 5e bf 2a 15 09 32 15 06 31 0e 97 99 00 31 2b 15 09 32 15 06 31 0e 97 9a 00 06 ZY.a..^.*..2..1....1+..2..1.....
2fb00 a7 00 22 18 07 2b 15 09 32 15 06 31 2b 15 09 32 15 06 31 2a 15 09 32 15 06 31 6f b8 00 63 6b 63 .."..+..2..1+..2..1*..2..1o..ckc
2fb20 39 07 84 09 01 15 09 1d a1 ff 86 18 04 18 07 63 39 04 84 06 01 15 06 1c a1 ff 6d b2 00 12 9a 00 9..............c9.........m.....
2fb40 15 18 04 b8 00 54 99 00 0d bb 00 5a 59 12 69 b7 00 5e bf 18 04 1c 87 6f af 00 00 00 03 00 1b 00 .....T.....ZY.i..^.....o........
2fb60 00 00 3a 00 0e 00 00 00 46 00 03 00 47 00 09 00 48 00 0c 00 49 00 12 00 4a 00 2f 00 4b 00 4c 00 ..:.....F...G...H...I...J./.K.L.
2fb80 4c 00 64 00 4d 00 67 00 4f 00 86 00 49 00 8f 00 53 00 96 00 47 00 9f 00 55 00 b7 00 56 00 1c 00 L.d.M.g.O...I...S...G...U...V...
2fba0 00 00 52 00 08 00 00 00 bd 00 80 00 81 00 00 00 00 00 bd 00 7a 00 81 00 01 00 00 00 bd 00 82 00 ..R.................z...........
2fbc0 83 00 02 00 00 00 bd 00 84 00 83 00 03 00 03 00 ba 00 85 00 86 00 04 00 06 00 99 00 87 00 83 00 ................................
2fbe0 06 00 0c 00 8a 00 88 00 86 00 07 00 0f 00 80 00 89 00 83 00 09 00 1d 00 00 00 18 00 0a fd 00 09 ................................
2fc00 03 01 fd 00 08 03 01 1c 1c 17 02 1e 02 f9 00 0f fa 00 1d 00 09 00 8b 00 8c 00 01 00 0b 00 00 00 ................................
2fc20 e0 00 06 00 09 00 00 00 44 0e 4a 03 36 05 a7 00 34 0e 39 06 03 36 08 a7 00 1d 18 06 2a 15 05 32 ........D.J.6...4.9..6......*..2
2fc40 15 08 31 2a 15 05 32 15 08 31 b8 00 63 6b 63 39 06 84 08 01 15 08 1b a1 ff e3 29 18 06 63 4a 84 ..1*..2..1..ckc9..........)..cJ.
2fc60 05 01 15 05 1c a1 ff cc 29 1b 87 6f af 00 00 00 03 00 1b 00 00 00 26 00 09 00 00 00 5a 00 02 00 ........)..o..........&.....Z...
2fc80 5b 00 08 00 5c 00 0b 00 5d 00 11 00 5e 00 28 00 5d 00 31 00 60 00 36 00 5b 00 3f 00 62 00 1c 00 [...\...]...^.(.].1.`.6.[.?.b...
2fca0 00 00 48 00 07 00 00 00 44 00 80 00 81 00 00 00 00 00 44 00 82 00 83 00 01 00 00 00 44 00 84 00 ..H.....D.........D.........D...
2fcc0 83 00 02 00 02 00 42 00 8d 00 86 00 03 00 05 00 3a 00 87 00 83 00 05 00 0b 00 2b 00 8e 00 86 00 ......B.........:.........+.....
2fce0 06 00 0e 00 23 00 89 00 83 00 08 00 1d 00 00 00 10 00 04 fd 00 08 03 01 fd 00 08 03 01 19 f9 00 ....#...........................
2fd00 0d 00 09 00 8f 00 90 00 01 00 0b 00 00 00 c0 00 04 00 06 00 00 00 35 1b 1c c5 00 91 02 4e 03 36 ......................5......N.6
2fd20 04 a7 00 23 03 36 05 a7 00 14 2d 15 04 32 15 05 2a 15 04 32 15 05 31 52 84 05 01 15 05 1c a1 ff ...#.6....-..2..*..2..1R........
2fd40 ec 84 04 01 15 04 1b a1 ff dd 2d b0 00 00 00 03 00 1b 00 00 00 1e 00 07 00 00 00 67 00 07 00 68 ..........-................g...h
2fd60 00 0d 00 69 00 13 00 6a 00 21 00 69 00 2a 00 68 00 33 00 6d 00 1c 00 00 00 3e 00 06 00 00 00 35 ...i...j.!.i.*.h.3.m.....>.....5
2fd80 00 92 00 81 00 00 00 00 00 35 00 82 00 83 00 01 00 00 00 35 00 84 00 83 00 02 00 07 00 2e 00 93 .........5.........5............
2fda0 00 81 00 03 00 0a 00 29 00 87 00 83 00 04 00 10 00 1a 00 89 00 83 00 05 00 1d 00 00 00 11 00 04 .......)........................
2fdc0 fd 00 0d 07 00 91 01 fc 00 05 01 10 fa 00 08 00 09 00 7d 00 7e 00 01 00 0b 00 00 01 39 00 07 00 ..................}.~.......9...
2fde0 08 00 00 00 7a bb 00 14 59 b7 00 16 3a 05 19 05 06 b6 00 94 19 05 06 b6 00 97 19 05 06 b6 00 9a ....z...Y...:...................
2fe00 19 05 06 b6 00 9d 19 04 2d b6 00 40 03 36 06 a7 00 3f 03 36 07 a7 00 2b 19 04 bb 00 33 59 2a 15 ........-..@.6...?.6...+....3Y*.
2fe20 07 32 15 06 31 12 a0 10 06 b8 00 a2 b8 00 a6 b7 00 37 12 ac b6 00 38 b6 00 3c b6 00 ae 84 07 01 .2..1............7....8..<......
2fe40 15 07 1b a1 ff d5 19 04 b6 00 b1 84 06 01 15 06 1c a1 ff c1 19 04 b6 00 b1 19 04 b6 00 b1 b1 00 ................................
2fe60 00 00 03 00 1b 00 00 00 3e 00 0f 00 00 00 73 00 09 00 74 00 0f 00 75 00 15 00 76 00 1b 00 77 00 ........>.....s...t...u...v...w.
2fe80 21 00 79 00 27 00 7b 00 2d 00 7c 00 33 00 7d 00 58 00 7c 00 61 00 7f 00 66 00 7b 00 6f 00 81 00 !.y.'.{.-.|.3.}.X.|.a...f.{.o...
2fea0 74 00 82 00 79 00 83 00 1c 00 00 00 52 00 08 00 00 00 7a 00 b3 00 81 00 00 00 00 00 7a 00 82 00 t...y.......R.....z.........z...
2fec0 83 00 01 00 00 00 7a 00 84 00 83 00 02 00 00 00 7a 00 b4 00 4e 00 03 00 00 00 7a 00 31 00 32 00 ......z.........z...N.....z.1.2.
2fee0 04 00 09 00 71 00 05 00 06 00 05 00 2a 00 45 00 87 00 83 00 06 00 30 00 31 00 89 00 83 00 07 00 ....q.......*.E.......0.1.......
2ff00 1d 00 00 00 11 00 04 fd 00 2d 07 00 14 01 fc 00 05 01 27 fa 00 0d 00 09 00 7d 00 b5 00 01 00 0b .........-........'......}......
2ff20 00 00 00 f0 00 05 00 07 00 00 00 52 19 04 2d b6 00 40 03 36 05 a7 00 38 03 36 06 a7 00 24 19 04 ...........R..-..@.6...8.6...$..
2ff40 bb 00 33 59 2a 15 06 32 15 05 2e b8 00 b6 b7 00 37 12 ac b6 00 38 b6 00 3c b6 00 ae 84 06 01 15 ..3Y*..2........7....8..<.......
2ff60 06 1b a1 ff dc 19 04 b6 00 b1 84 05 01 15 05 1c a1 ff c8 19 04 b6 00 b1 19 04 b6 00 b1 b1 00 00 ................................
2ff80 00 03 00 1b 00 00 00 2a 00 0a 00 00 00 88 00 06 00 89 00 0c 00 8a 00 12 00 8b 00 30 00 8a 00 39 .......*...................0...9
2ffa0 00 8d 00 3e 00 89 00 47 00 8f 00 4c 00 90 00 51 00 91 00 1c 00 00 00 48 00 07 00 00 00 52 00 b3 ...>...G...L...Q.......H.....R..
2ffc0 00 b9 00 00 00 00 00 52 00 82 00 83 00 01 00 00 00 52 00 84 00 83 00 02 00 00 00 52 00 b4 00 4e .......R.........R.........R...N
2ffe0 00 03 00 00 00 52 00 31 00 32 00 04 00 09 00 3e 00 87 00 83 00 05 00 0f 00 2a 00 89 00 83 00 06 .....R.1.2.....>.........*......
30000 00 1d 00 00 00 0e 00 04 fc 00 0c 01 fc 00 05 01 20 fa 00 0d 00 09 00 ba 00 bb 00 01 00 0b 00 00 ................................
30020 00 f6 00 08 00 05 00 00 00 94 bb 00 33 59 b7 00 bc 4d 1e 14 00 bd 6d 8a 4a b2 00 19 12 bf b6 00 ............3Y...M....m.J.......
30040 c1 2c bb 00 33 59 b2 00 19 29 14 00 c4 6f 8e 85 b6 00 c6 b8 00 a6 b7 00 37 12 c9 b6 00 38 b6 00 .,..3Y...)...o..........7....8..
30060 3c b6 00 38 57 29 29 8e 11 0e 10 6c 10 3c 68 10 3c 68 87 67 4a 2c bb 00 33 59 b2 00 19 29 14 00 <..8W))....l.<h.<h.gJ,..3Y...)..
30080 cb 6f 8e 85 b6 00 c6 b8 00 a6 b7 00 37 12 c9 b6 00 38 b6 00 3c b6 00 38 57 29 29 8e 10 3c 6c 10 .o..........7....8..<..8W))..<l.
300a0 3c 68 87 67 4a b2 00 19 12 cd b6 00 c1 2c b2 00 19 29 b6 00 cf b6 00 38 57 2c b6 00 3c b0 00 00 <h.gJ........,...).....8W,..<...
300c0 00 02 00 1b 00 00 00 2a 00 0a 00 00 00 94 00 08 00 95 00 0f 00 96 00 17 00 97 00 3b 00 98 00 4b .......*...................;...K
300e0 00 99 00 6f 00 9a 00 7b 00 9b 00 83 00 9c 00 8f 00 9d 00 1c 00 00 00 20 00 03 00 00 00 94 00 d2 ...o...{........................
30100 00 d3 00 00 00 08 00 8c 00 d4 00 d5 00 02 00 0f 00 85 00 d6 00 86 00 03 00 09 00 a4 00 a5 00 01 ................................
30120 00 0b 00 00 00 9d 00 03 00 05 00 00 00 32 b2 00 19 2c b6 00 c1 b2 00 19 26 b6 00 cf 3a 04 a7 00 .............2...,......&...:...
30140 16 bb 00 33 59 12 ac b7 00 37 19 04 b6 00 38 b6 00 3c 3a 04 19 04 b6 00 d7 1d a1 ff e7 19 04 b0 ...3Y....7....8..<:.............
30160 00 00 00 03 00 1b 00 00 00 1a 00 06 00 00 00 a1 00 07 00 a2 00 10 00 a3 00 13 00 a4 00 26 00 a3 .............................&..
30180 00 2f 00 a6 00 1c 00 00 00 2a 00 04 00 00 00 32 00 d6 00 86 00 00 00 00 00 32 00 db 00 4e 00 02 ./.......*.....2.........2...N..
301a0 00 00 00 32 00 dc 00 83 00 03 00 10 00 22 00 dd 00 4e 00 04 00 1d 00 00 00 09 00 02 fc 00 13 07 ...2........."...N..............
301c0 00 a7 12 00 09 00 de 00 df 00 01 00 0b 00 00 00 39 00 04 00 00 00 00 00 15 b8 00 e0 b8 00 e3 b6 ................9...............
301e0 00 e9 b8 00 e3 b6 00 ec 65 14 00 ef 6d ad 00 00 00 02 00 1b 00 00 00 0a 00 02 00 00 00 ab 00 03 ........e...m...................
30200 00 ac 00 1c 00 00 00 02 00 00 00 19 00 f1 00 f2 00 01 00 0b 00 00 00 4e 00 04 00 04 00 00 00 11 .......................N........
30220 26 28 67 b8 00 f3 14 00 f6 98 9d 00 05 04 ac 03 ac 00 00 00 03 00 1b 00 00 00 06 00 01 00 00 00 &(g.............................
30240 b0 00 1c 00 00 00 16 00 02 00 00 00 11 00 f8 00 86 00 00 00 00 00 11 00 f9 00 86 00 02 00 1d 00 ................................
30260 00 00 03 00 01 0f 00 01 00 fa 00 00 00 02 00 fb 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 24 95 ................PK.........i.<$.
30280 a5 72 bd 12 00 00 bd 12 00 00 22 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f .r........"...optimization/util/
302a0 53 74 61 74 69 63 54 6f 6f 6c 73 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 StaticTools.javapackage.optimiza
302c0 74 69 6f 6e 2e 75 74 69 6c 3b 0a 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 69 6f 2e 46 69 6c 65 tion.util;...import.java.io.File
302e0 3b 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 69 6f 2e 50 72 69 6e 74 53 74 72 65 61 6d 3b 0a 0a 70 ;.import.java.io.PrintStream;..p
30300 75 62 6c 69 63 20 63 6c 61 73 73 20 53 74 61 74 69 63 54 6f 6f 6c 73 20 7b 0a 0a 09 73 74 61 74 ublic.class.StaticTools.{...stat
30320 69 63 20 6a 61 76 61 2e 74 65 78 74 2e 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 20 66 6d 74 20 3d ic.java.text.DecimalFormat.fmt.=
30340 20 6e 65 77 20 6a 61 76 61 2e 74 65 78 74 2e 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 28 29 3b 0a .new.java.text.DecimalFormat();.
30360 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 63 72 65 61 74 65 44 69 72 28 53 ..public.static.void.createDir(S
30380 74 72 69 6e 67 20 64 69 72 65 63 74 6f 72 79 29 20 7b 0a 0a 09 09 46 69 6c 65 20 64 69 72 20 3d tring.directory).{....File.dir.=
303a0 20 6e 65 77 20 46 69 6c 65 28 64 69 72 65 63 74 6f 72 79 29 3b 0a 09 09 69 66 20 28 21 64 69 72 .new.File(directory);...if.(!dir
303c0 2e 69 73 44 69 72 65 63 74 6f 72 79 28 29 29 20 7b 0a 09 09 09 62 6f 6f 6c 65 61 6e 20 73 75 63 .isDirectory()).{....boolean.suc
303e0 63 65 73 73 20 3d 20 64 69 72 2e 6d 6b 64 69 72 73 28 29 3b 0a 09 09 09 69 66 20 28 21 73 75 63 cess.=.dir.mkdirs();....if.(!suc
30400 63 65 73 73 29 20 7b 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 cess).{.....System.out.println("
30420 55 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 64 69 72 65 63 74 6f 72 79 20 22 20 2b 20 64 Unable.to.create.directory.".+.d
30440 69 72 65 63 74 6f 72 79 29 3b 0a 09 09 09 09 53 79 73 74 65 6d 2e 65 78 69 74 28 30 29 3b 0a 09 irectory);.....System.exit(0);..
30460 09 09 7d 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 43 72 65 61 74 ..}....System.out.println("Creat
30480 65 64 20 64 69 72 65 63 74 6f 72 79 20 22 20 2b 20 64 69 72 65 63 74 6f 72 79 29 3b 0a 09 09 7d ed.directory.".+.directory);...}
304a0 20 65 6c 73 65 20 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 52 .else.{....System.out.println("R
304c0 65 75 73 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 22 20 2b 20 64 69 72 65 63 74 6f 72 79 29 3b eusing.directory.".+.directory);
304e0 0a 09 09 7d 0a 09 7d 0a 0a 09 2f 2a 0a 09 20 2a 20 71 20 61 6e 64 20 70 20 61 72 65 20 69 6e 64 ...}..}.../*...*.q.and.p.are.ind
30500 65 78 65 64 20 62 79 20 73 6f 75 72 63 65 2f 66 6f 72 65 69 67 6e 20 53 75 6d 5f 53 28 71 29 20 exed.by.source/foreign.Sum_S(q).
30520 3d 20 31 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 70 20 4b 4c 28 71 2c 70 29 20 3d 0a 09 20 2a =.1.the.same.for.p.KL(q,p).=...*
30540 20 45 71 2a 71 2f 70 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 .Eq*q/p...*/..public.static.doub
30560 6c 65 20 4b 4c 44 69 73 74 61 6e 63 65 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 70 2c 20 64 6f 75 62 le.KLDistance(double[][].p,.doub
30580 6c 65 5b 5d 5b 5d 20 71 2c 20 69 6e 74 20 73 6f 75 72 63 65 53 69 7a 65 2c 0a 09 09 09 69 6e 74 le[][].q,.int.sourceSize,....int
305a0 20 66 6f 72 65 69 67 6e 53 69 7a 65 29 20 7b 0a 09 09 64 6f 75 62 6c 65 20 74 6f 74 61 6c 4b 4c .foreignSize).{...double.totalKL
305c0 20 3d 20 30 3b 0a 09 09 2f 2f 20 63 6f 6d 6d 6f 6e 2e 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 .=.0;...//.common.StaticTools.pr
305e0 69 6e 74 4d 61 74 72 69 78 28 71 2c 20 73 6f 75 72 63 65 53 69 7a 65 2c 20 66 6f 72 65 69 67 6e intMatrix(q,.sourceSize,.foreign
30600 53 69 7a 65 2c 20 22 71 22 2c 0a 09 09 2f 2f 20 53 79 73 74 65 6d 2e 6f 75 74 29 3b 0a 09 09 2f Size,."q",...//.System.out);.../
30620 2f 20 63 6f 6d 6d 6f 6e 2e 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 69 6e 74 4d 61 74 72 69 78 /.common.StaticTools.printMatrix
30640 28 70 2c 20 73 6f 75 72 63 65 53 69 7a 65 2c 20 66 6f 72 65 69 67 6e 53 69 7a 65 2c 20 22 70 22 (p,.sourceSize,.foreignSize,."p"
30660 2c 0a 09 09 2f 2f 20 53 79 73 74 65 6d 2e 6f 75 74 29 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 ,...//.System.out);...for.(int.i
30680 20 3d 20 30 3b 20 69 20 3c 20 73 6f 75 72 63 65 53 69 7a 65 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 .=.0;.i.<.sourceSize;.i++).{....
306a0 64 6f 75 62 6c 65 20 6b 6c 20 3d 20 30 3b 0a 09 09 09 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 double.kl.=.0;....for.(int.j.=.0
306c0 3b 20 6a 20 3c 20 66 6f 72 65 69 67 6e 53 69 7a 65 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 09 61 73 ;.j.<.foreignSize;.j++).{.....as
306e0 73 65 72 74 20 21 44 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 71 5b 69 5d 5b 6a 5d 29 20 3a 20 22 4b sert.!Double.isNaN(q[i][j]).:."K
30700 4c 44 69 73 74 61 6e 63 65 20 71 3a 20 20 70 72 6f 62 20 69 73 20 4e 61 4e 22 3b 0a 09 09 09 09 LDistance.q:..prob.is.NaN";.....
30720 61 73 73 65 72 74 20 21 44 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 70 5b 69 5d 5b 6a 5d 29 20 3a 20 assert.!Double.isNaN(p[i][j]).:.
30740 22 4b 4c 44 69 73 74 61 6e 63 65 20 70 3a 20 20 70 72 6f 62 20 69 73 20 4e 61 4e 22 3b 0a 09 09 "KLDistance.p:..prob.is.NaN";...
30760 09 09 69 66 20 28 70 5b 69 5d 5b 6a 5d 20 3d 3d 20 30 20 7c 7c 20 71 5b 69 5d 5b 6a 5d 20 3d 3d ..if.(p[i][j].==.0.||.q[i][j].==
30780 20 30 29 20 7b 0a 09 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 09 7d 20 65 6c 73 65 20 .0).{......continue;.....}.else.
307a0 7b 0a 09 09 09 09 09 6b 6c 20 2b 3d 20 71 5b 69 5d 5b 6a 5d 20 2a 20 4d 61 74 68 2e 6c 6f 67 28 {......kl.+=.q[i][j].*.Math.log(
307c0 71 5b 69 5d 5b 6a 5d 20 2f 20 70 5b 69 5d 5b 6a 5d 29 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 7d 0a q[i][j]./.p[i][j]);.....}.....}.
307e0 09 09 09 74 6f 74 61 6c 4b 4c 20 2b 3d 20 6b 6c 3b 0a 09 09 7d 0a 09 09 61 73 73 65 72 74 20 21 ...totalKL.+=.kl;...}...assert.!
30800 44 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 74 6f 74 61 6c 4b 4c 29 20 3a 20 22 4b 4c 44 69 73 74 61 Double.isNaN(totalKL).:."KLDista
30820 6e 63 65 3a 20 70 72 6f 62 20 69 73 20 4e 61 4e 22 3b 0a 09 09 69 66 20 28 74 6f 74 61 6c 4b 4c nce:.prob.is.NaN";...if.(totalKL
30840 20 3c 20 2d 31 2e 30 45 2d 31 30 29 20 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 .<.-1.0E-10).{....System.out.pri
30860 6e 74 6c 6e 28 22 4b 4c 20 53 6d 61 6c 6c 65 72 20 74 68 61 6e 20 7a 65 72 6f 20 22 20 2b 20 74 ntln("KL.Smaller.than.zero.".+.t
30880 6f 74 61 6c 4b 4c 29 3b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 otalKL);....System.out.println("
308a0 53 6f 75 72 63 65 20 53 69 7a 65 22 20 2b 20 73 6f 75 72 63 65 53 69 7a 65 29 3b 0a 09 09 09 53 Source.Size".+.sourceSize);....S
308c0 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 46 6f 72 65 69 67 6e 20 53 69 7a 65 22 ystem.out.println("Foreign.Size"
308e0 20 2b 20 66 6f 72 65 69 67 6e 53 69 7a 65 29 3b 0a 09 09 09 53 74 61 74 69 63 54 6f 6f 6c 73 2e .+.foreignSize);....StaticTools.
30900 70 72 69 6e 74 4d 61 74 72 69 78 28 71 2c 20 73 6f 75 72 63 65 53 69 7a 65 2c 20 66 6f 72 65 69 printMatrix(q,.sourceSize,.forei
30920 67 6e 53 69 7a 65 2c 20 22 71 22 2c 0a 09 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 29 3b 0a 09 gnSize,."q",......System.out);..
30940 09 09 53 74 61 74 69 63 54 6f 6f 6c 73 2e 70 72 69 6e 74 4d 61 74 72 69 78 28 70 2c 20 73 6f 75 ..StaticTools.printMatrix(p,.sou
30960 72 63 65 53 69 7a 65 2c 20 66 6f 72 65 69 67 6e 53 69 7a 65 2c 20 22 70 22 2c 0a 09 09 09 09 09 rceSize,.foreignSize,."p",......
30980 53 79 73 74 65 6d 2e 6f 75 74 29 3b 0a 09 09 09 53 79 73 74 65 6d 2e 65 78 69 74 28 2d 31 29 3b System.out);....System.exit(-1);
309a0 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 74 6f 74 61 6c 4b 4c 20 2f 20 73 6f 75 72 63 65 53 69 ...}...return.totalKL./.sourceSi
309c0 7a 65 3b 0a 09 7d 0a 0a 09 2f 2a 0a 09 20 2a 20 69 6e 64 65 78 65 64 20 74 68 65 20 62 79 20 5b ze;..}.../*...*.indexed.the.by.[
309e0 66 69 5d 5b 73 69 5d 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 fi][si]...*/..public.static.doub
30a00 6c 65 20 4b 4c 44 69 73 74 61 6e 63 65 50 72 69 6d 65 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 70 2c le.KLDistancePrime(double[][].p,
30a20 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 71 2c 0a 09 09 09 69 6e 74 20 73 6f 75 72 63 65 53 69 7a 65 .double[][].q,....int.sourceSize
30a40 2c 20 69 6e 74 20 66 6f 72 65 69 67 6e 53 69 7a 65 29 20 7b 0a 09 09 64 6f 75 62 6c 65 20 74 6f ,.int.foreignSize).{...double.to
30a60 74 61 6c 4b 4c 20 3d 20 30 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c talKL.=.0;...for.(int.i.=.0;.i.<
30a80 20 73 6f 75 72 63 65 53 69 7a 65 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 64 6f 75 62 6c 65 20 6b 6c .sourceSize;.i++).{....double.kl
30aa0 20 3d 20 30 3b 0a 09 09 09 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 66 6f 72 .=.0;....for.(int.j.=.0;.j.<.for
30ac0 65 69 67 6e 53 69 7a 65 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 09 61 73 73 65 72 74 20 21 44 6f 75 eignSize;.j++).{.....assert.!Dou
30ae0 62 6c 65 2e 69 73 4e 61 4e 28 71 5b 6a 5d 5b 69 5d 29 20 3a 20 22 4b 4c 44 69 73 74 61 6e 63 65 ble.isNaN(q[j][i]).:."KLDistance
30b00 20 71 3a 20 20 70 72 6f 62 20 69 73 20 4e 61 4e 22 3b 0a 09 09 09 09 61 73 73 65 72 74 20 21 44 .q:..prob.is.NaN";.....assert.!D
30b20 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 70 5b 6a 5d 5b 69 5d 29 20 3a 20 22 4b 4c 44 69 73 74 61 6e ouble.isNaN(p[j][i]).:."KLDistan
30b40 63 65 20 70 3a 20 20 70 72 6f 62 20 69 73 20 4e 61 4e 22 3b 0a 09 09 09 09 69 66 20 28 70 5b 6a ce.p:..prob.is.NaN";.....if.(p[j
30b60 5d 5b 69 5d 20 3d 3d 20 30 20 7c 7c 20 71 5b 6a 5d 5b 69 5d 20 3d 3d 20 30 29 20 7b 0a 09 09 09 ][i].==.0.||.q[j][i].==.0).{....
30b80 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 6b 6c ..continue;.....}.else.{......kl
30ba0 20 2b 3d 20 71 5b 6a 5d 5b 69 5d 20 2a 20 4d 61 74 68 2e 6c 6f 67 28 71 5b 6a 5d 5b 69 5d 20 2f .+=.q[j][i].*.Math.log(q[j][i]./
30bc0 20 70 5b 6a 5d 5b 69 5d 29 3b 0a 09 09 09 09 7d 0a 0a 09 09 09 7d 0a 09 09 09 74 6f 74 61 6c 4b .p[j][i]);.....}.....}....totalK
30be0 4c 20 2b 3d 20 6b 6c 3b 0a 09 09 7d 0a 09 09 61 73 73 65 72 74 20 21 44 6f 75 62 6c 65 2e 69 73 L.+=.kl;...}...assert.!Double.is
30c00 4e 61 4e 28 74 6f 74 61 6c 4b 4c 29 20 3a 20 22 4b 4c 44 69 73 74 61 6e 63 65 3a 20 70 72 6f 62 NaN(totalKL).:."KLDistance:.prob
30c20 20 69 73 20 4e 61 4e 22 3b 0a 09 09 72 65 74 75 72 6e 20 74 6f 74 61 6c 4b 4c 20 2f 20 73 6f 75 .is.NaN";...return.totalKL./.sou
30c40 72 63 65 53 69 7a 65 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 rceSize;..}...public.static.doub
30c60 6c 65 20 45 6e 74 72 6f 70 79 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 70 2c 20 69 6e 74 20 73 6f 75 le.Entropy(double[][].p,.int.sou
30c80 72 63 65 53 69 7a 65 2c 20 69 6e 74 20 66 6f 72 65 69 67 6e 53 69 7a 65 29 20 7b 0a 09 09 64 6f rceSize,.int.foreignSize).{...do
30ca0 75 62 6c 65 20 74 6f 74 61 6c 45 20 3d 20 30 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 uble.totalE.=.0;...for.(int.i.=.
30cc0 30 3b 20 69 20 3c 20 66 6f 72 65 69 67 6e 53 69 7a 65 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 64 6f 0;.i.<.foreignSize;.i++).{....do
30ce0 75 62 6c 65 20 65 20 3d 20 30 3b 0a 09 09 09 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a uble.e.=.0;....for.(int.j.=.0;.j
30d00 20 3c 20 73 6f 75 72 63 65 53 69 7a 65 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 09 65 20 2b 3d 20 70 .<.sourceSize;.j++).{.....e.+=.p
30d20 5b 69 5d 5b 6a 5d 20 2a 20 4d 61 74 68 2e 6c 6f 67 28 70 5b 69 5d 5b 6a 5d 29 3b 0a 09 09 09 7d [i][j].*.Math.log(p[i][j]);....}
30d40 0a 09 09 09 74 6f 74 61 6c 45 20 2b 3d 20 65 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 74 6f ....totalE.+=.e;...}...return.to
30d60 74 61 6c 45 20 2f 20 73 6f 75 72 63 65 53 69 7a 65 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 talE./.sourceSize;..}...public.s
30d80 74 61 74 69 63 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 63 6f 70 79 4d 61 74 72 69 78 28 64 6f 75 62 tatic.double[][].copyMatrix(doub
30da0 6c 65 5b 5d 5b 5d 20 6f 72 69 67 69 6e 61 6c 2c 20 69 6e 74 20 73 6f 75 72 63 65 53 69 7a 65 2c le[][].original,.int.sourceSize,
30dc0 0a 09 09 09 69 6e 74 20 66 6f 72 65 69 67 6e 53 69 7a 65 29 20 7b 0a 09 09 64 6f 75 62 6c 65 5b ....int.foreignSize).{...double[
30de0 5d 5b 5d 20 72 65 73 75 6c 74 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 73 6f 75 72 63 65 53 69 ][].result.=.new.double[sourceSi
30e00 7a 65 5d 5b 66 6f 72 65 69 67 6e 53 69 7a 65 5d 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d ze][foreignSize];...for.(int.i.=
30e20 20 30 3b 20 69 20 3c 20 73 6f 75 72 63 65 53 69 7a 65 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 66 6f .0;.i.<.sourceSize;.i++).{....fo
30e40 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 66 6f 72 65 69 67 6e 53 69 7a 65 3b 20 6a r.(int.j.=.0;.j.<.foreignSize;.j
30e60 2b 2b 29 20 7b 0a 09 09 09 09 72 65 73 75 6c 74 5b 69 5d 5b 6a 5d 20 3d 20 6f 72 69 67 69 6e 61 ++).{.....result[i][j].=.origina
30e80 6c 5b 69 5d 5b 6a 5d 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c l[i][j];....}...}...return.resul
30ea0 74 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 69 6e 74 t;..}...public.static.void.print
30ec0 4d 61 74 72 69 78 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 6d 61 74 72 69 78 2c 20 69 6e 74 20 73 6f Matrix(double[][].matrix,.int.so
30ee0 75 72 63 65 53 69 7a 65 2c 0a 09 09 09 69 6e 74 20 66 6f 72 65 69 67 6e 53 69 7a 65 2c 20 53 74 urceSize,....int.foreignSize,.St
30f00 72 69 6e 67 20 69 6e 66 6f 2c 20 50 72 69 6e 74 53 74 72 65 61 6d 20 6f 75 74 29 20 7b 0a 0a 09 ring.info,.PrintStream.out).{...
30f20 09 6a 61 76 61 2e 74 65 78 74 2e 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 20 66 6d 74 20 3d 20 6e .java.text.DecimalFormat.fmt.=.n
30f40 65 77 20 6a 61 76 61 2e 74 65 78 74 2e 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 28 29 3b 0a 09 09 ew.java.text.DecimalFormat();...
30f60 66 6d 74 2e 73 65 74 4d 61 78 69 6d 75 6d 46 72 61 63 74 69 6f 6e 44 69 67 69 74 73 28 33 29 3b fmt.setMaximumFractionDigits(3);
30f80 0a 09 09 66 6d 74 2e 73 65 74 4d 61 78 69 6d 75 6d 49 6e 74 65 67 65 72 44 69 67 69 74 73 28 33 ...fmt.setMaximumIntegerDigits(3
30fa0 29 3b 0a 09 09 66 6d 74 2e 73 65 74 4d 69 6e 69 6d 75 6d 46 72 61 63 74 69 6f 6e 44 69 67 69 74 );...fmt.setMinimumFractionDigit
30fc0 73 28 33 29 3b 0a 09 09 66 6d 74 2e 73 65 74 4d 69 6e 69 6d 75 6d 49 6e 74 65 67 65 72 44 69 67 s(3);...fmt.setMinimumIntegerDig
30fe0 69 74 73 28 33 29 3b 0a 0a 09 09 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 69 6e 66 6f 29 3b 0a 0a 09 its(3);....out.println(info);...
31000 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 6f 72 65 69 67 6e 53 69 7a 65 .for.(int.i.=.0;.i.<.foreignSize
31020 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 ;.i++).{....for.(int.j.=.0;.j.<.
31040 73 6f 75 72 63 65 53 69 7a 65 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 09 6f 75 74 2e 70 72 69 6e 74 sourceSize;.j++).{.....out.print
31060 28 70 72 65 74 74 79 50 72 69 6e 74 28 6d 61 74 72 69 78 5b 6a 5d 5b 69 5d 2c 20 22 2e 30 30 45 (prettyPrint(matrix[j][i],.".00E
31080 30 30 22 2c 20 36 29 20 2b 20 22 20 22 29 3b 0a 09 09 09 7d 0a 09 09 09 6f 75 74 2e 70 72 69 6e 00",.6).+.".");....}....out.prin
310a0 74 6c 6e 28 29 3b 0a 09 09 7d 0a 09 09 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 09 6f 75 tln();...}...out.println();...ou
310c0 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 t.println();..}...public.static.
310e0 76 6f 69 64 20 70 72 69 6e 74 4d 61 74 72 69 78 28 69 6e 74 5b 5d 5b 5d 20 6d 61 74 72 69 78 2c void.printMatrix(int[][].matrix,
31100 20 69 6e 74 20 73 6f 75 72 63 65 53 69 7a 65 2c 0a 09 09 09 69 6e 74 20 66 6f 72 65 69 67 6e 53 .int.sourceSize,....int.foreignS
31120 69 7a 65 2c 20 53 74 72 69 6e 67 20 69 6e 66 6f 2c 20 50 72 69 6e 74 53 74 72 65 61 6d 20 6f 75 ize,.String.info,.PrintStream.ou
31140 74 29 20 7b 0a 0a 09 09 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 69 6e 66 6f 29 3b 0a 09 09 66 6f 72 t).{....out.println(info);...for
31160 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 6f 72 65 69 67 6e 53 69 7a 65 3b 20 69 2b .(int.i.=.0;.i.<.foreignSize;.i+
31180 2b 29 20 7b 0a 09 09 09 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 73 6f 75 72 +).{....for.(int.j.=.0;.j.<.sour
311a0 63 65 53 69 7a 65 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 09 6f 75 74 2e 70 72 69 6e 74 28 6d 61 74 ceSize;.j++).{.....out.print(mat
311c0 72 69 78 5b 6a 5d 5b 69 5d 20 2b 20 22 20 22 29 3b 0a 09 09 09 7d 0a 09 09 09 6f 75 74 2e 70 72 rix[j][i].+.".");....}....out.pr
311e0 69 6e 74 6c 6e 28 29 3b 0a 09 09 7d 0a 09 09 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 09 intln();...}...out.println();...
31200 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 out.println();..}...public.stati
31220 63 20 53 74 72 69 6e 67 20 66 6f 72 6d 61 74 54 69 6d 65 28 6c 6f 6e 67 20 64 75 72 61 74 69 6f c.String.formatTime(long.duratio
31240 6e 29 20 7b 0a 09 09 53 74 72 69 6e 67 42 75 69 6c 64 65 72 20 73 62 20 3d 20 6e 65 77 20 53 74 n).{...StringBuilder.sb.=.new.St
31260 72 69 6e 67 42 75 69 6c 64 65 72 28 29 3b 0a 09 09 64 6f 75 62 6c 65 20 64 20 3d 20 64 75 72 61 ringBuilder();...double.d.=.dura
31280 74 69 6f 6e 20 2f 20 31 30 30 30 3b 0a 09 09 66 6d 74 2e 61 70 70 6c 79 50 61 74 74 65 72 6e 28 tion./.1000;...fmt.applyPattern(
312a0 22 30 30 22 29 3b 0a 09 09 73 62 2e 61 70 70 65 6e 64 28 66 6d 74 2e 66 6f 72 6d 61 74 28 28 69 "00");...sb.append(fmt.format((i
312c0 6e 74 29 20 28 64 20 2f 20 28 36 30 20 2a 20 36 30 29 29 29 20 2b 20 22 3a 22 29 3b 0a 09 09 64 nt).(d./.(60.*.60))).+.":");...d
312e0 20 2d 3d 20 28 28 69 6e 74 29 20 64 20 2f 20 28 36 30 20 2a 20 36 30 29 29 20 2a 20 36 30 20 2a .-=.((int).d./.(60.*.60)).*.60.*
31300 20 36 30 3b 0a 09 09 73 62 2e 61 70 70 65 6e 64 28 66 6d 74 2e 66 6f 72 6d 61 74 28 28 69 6e 74 .60;...sb.append(fmt.format((int
31320 29 20 28 64 20 2f 20 36 30 29 29 20 2b 20 22 3a 22 29 3b 0a 09 09 64 20 2d 3d 20 28 28 69 6e 74 ).(d./.60)).+.":");...d.-=.((int
31340 29 20 64 20 2f 20 36 30 29 20 2a 20 36 30 3b 0a 09 09 66 6d 74 2e 61 70 70 6c 79 50 61 74 74 65 ).d./.60).*.60;...fmt.applyPatte
31360 72 6e 28 22 30 30 2e 30 22 29 3b 0a 09 09 73 62 2e 61 70 70 65 6e 64 28 66 6d 74 2e 66 6f 72 6d rn("00.0");...sb.append(fmt.form
31380 61 74 28 64 29 29 3b 0a 09 09 72 65 74 75 72 6e 20 73 62 2e 74 6f 53 74 72 69 6e 67 28 29 3b 0a at(d));...return.sb.toString();.
313a0 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 53 74 72 69 6e 67 20 70 72 65 74 74 79 .}...public.static.String.pretty
313c0 50 72 69 6e 74 28 64 6f 75 62 6c 65 20 64 2c 20 53 74 72 69 6e 67 20 70 61 74 74 2c 20 69 6e 74 Print(double.d,.String.patt,.int
313e0 20 6c 65 6e 29 20 7b 0a 09 09 66 6d 74 2e 61 70 70 6c 79 50 61 74 74 65 72 6e 28 70 61 74 74 29 .len).{...fmt.applyPattern(patt)
31400 3b 0a 09 09 53 74 72 69 6e 67 20 73 20 3d 20 66 6d 74 2e 66 6f 72 6d 61 74 28 64 29 3b 0a 09 09 ;...String.s.=.fmt.format(d);...
31420 77 68 69 6c 65 20 28 73 2e 6c 65 6e 67 74 68 28 29 20 3c 20 6c 65 6e 29 20 7b 0a 09 09 09 73 20 while.(s.length().<.len).{....s.
31440 3d 20 22 20 22 20 2b 20 73 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 73 3b 0a 09 7d 0a 09 0a =.".".+.s;...}...return.s;..}...
31460 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 6c 6f 6e 67 20 67 65 74 55 73 65 64 4d 65 6d ...public.static.long.getUsedMem
31480 6f 72 79 28 29 7b 0a 09 09 53 79 73 74 65 6d 2e 67 63 28 29 3b 0a 09 09 72 65 74 75 72 6e 20 28 ory(){...System.gc();...return.(
314a0 52 75 6e 74 69 6d 65 2e 67 65 74 52 75 6e 74 69 6d 65 28 29 2e 74 6f 74 61 6c 4d 65 6d 6f 72 79 Runtime.getRuntime().totalMemory
314c0 28 29 20 2d 20 52 75 6e 74 69 6d 65 2e 67 65 74 52 75 6e 74 69 6d 65 28 29 2e 66 72 65 65 4d 65 ().-.Runtime.getRuntime().freeMe
314e0 6d 6f 72 79 28 29 29 2f 20 28 31 30 32 34 20 2a 20 31 30 32 34 29 3b 0a 09 7d 0a 09 0a 09 70 75 mory())/.(1024.*.1024);..}....pu
31500 62 6c 69 63 20 66 69 6e 61 6c 20 73 74 61 74 69 63 20 62 6f 6f 6c 65 61 6e 20 63 6f 6d 70 61 72 blic.final.static.boolean.compar
31520 65 44 6f 75 62 6c 65 73 28 64 6f 75 62 6c 65 20 64 31 2c 20 64 6f 75 62 6c 65 20 64 32 29 7b 0a eDoubles(double.d1,.double.d2){.
31540 09 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 61 62 73 28 64 31 2d 64 32 29 20 3c 3d 20 31 2e 45 2d ..return.Math.abs(d1-d2).<=.1.E-
31560 31 30 3b 0a 09 7d 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 19 69 72 09 d9 10;..}.....}.PK.........Y.<.ir..
31580 04 00 00 d9 04 00 00 25 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 49 6e 74 .......%...optimization/util/Int
315a0 65 72 70 6f 6c 61 74 69 6f 6e 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 41 07 00 02 01 00 1f erpolation.class.......2.A......
315c0 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 07 optimization/util/Interpolation.
315e0 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 .....java/lang/Object...<init>..
31600 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 .()V...Code.............LineNumb
31620 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 erTable...LocalVariableTable...t
31640 68 69 73 01 00 21 4c 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 49 6e 74 65 72 70 6f his..!Loptimization/util/Interpo
31660 6c 61 74 69 6f 6e 3b 01 00 12 63 75 62 69 63 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 01 00 09 28 lation;...cubicInterpolation...(
31680 44 44 44 44 44 44 29 44 09 00 11 00 13 07 00 12 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 DDDDDD)D...........java/lang/Sys
316a0 74 65 6d 0c 00 14 00 15 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 tem........out...Ljava/io/PrintS
316c0 74 72 65 61 6d 3b 08 00 17 01 00 1f 43 61 6e 6e 6f 74 20 63 61 6c 6c 20 63 75 62 69 63 20 69 6e tream;......Cannot.call.cubic.in
316e0 74 65 72 70 6f 6c 61 74 69 6f 6e 0a 00 19 00 1b 07 00 1a 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 terpolation...........java/io/Pr
31700 69 6e 74 53 74 72 65 61 6d 0c 00 1c 00 1d 01 00 07 70 72 69 6e 74 6c 6e 01 00 15 28 4c 6a 61 76 intStream........println...(Ljav
31720 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 06 bf f0 00 00 00 00 00 00 06 40 08 00 00 00 00 a/lang/String;)V..........@.....
31740 00 00 0a 00 23 00 25 07 00 24 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 68 0c 00 26 00 27 ....#.%..$...java/lang/Math..&.'
31760 01 00 04 73 71 72 74 01 00 04 28 44 29 44 06 40 00 00 00 00 00 00 00 01 00 01 61 01 00 01 44 01 ...sqrt...(D)D.@..........a...D.
31780 00 05 66 75 6e 63 41 01 00 05 67 72 61 64 41 01 00 01 62 01 00 05 66 75 6e 63 42 01 00 05 67 72 ..funcA...gradA...b...funcB...gr
317a0 61 64 42 01 00 01 7a 01 00 01 77 01 00 03 6d 69 6e 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c adB...z...w...min...StackMapTabl
317c0 65 01 00 16 71 75 61 64 72 61 74 69 63 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 01 00 07 28 44 44 e...quadraticInterpolation...(DD
317e0 44 44 29 44 01 00 0a 69 6e 69 74 46 56 61 6c 75 65 01 00 08 69 6e 69 74 47 72 61 64 01 00 05 70 DD)D...initFValue...initGrad...p
31800 6f 69 6e 74 01 00 0b 70 6f 69 6e 74 46 56 61 6c 75 65 01 00 04 6d 61 69 6e 01 00 16 28 5b 4c 6a oint...pointFValue...main...([Lj
31820 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 01 00 04 61 72 67 73 01 00 13 5b 4c 6a 61 ava/lang/String;)V...args...[Lja
31840 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 12 49 va/lang/String;...SourceFile...I
31860 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 04 00 01 00 nterpolation.java.!.............
31880 05 00 06 00 01 00 07 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 08 b1 00 00 00 02 00 0a 00 00 ........../........*............
318a0 00 06 00 01 00 00 00 03 00 0b 00 00 00 0c 00 01 00 00 00 05 00 0c 00 0d 00 00 00 19 00 0e 00 0f ................................
318c0 00 01 00 07 00 00 00 fc 00 0a 00 12 00 00 00 61 18 0a 0e 98 9c 00 16 28 18 08 97 9e 00 0f b2 00 ...............a.......(........
318e0 10 12 16 b6 00 18 14 00 1e af 14 00 20 28 18 08 67 6b 18 06 26 67 6f 18 04 63 18 0a 63 39 0c 18 .............(..gk..&go..c..c9..
31900 0c 18 0c 6b 18 04 18 0a 6b 67 b8 00 22 39 0e 18 06 18 0a 18 0e 63 18 0c 67 18 06 26 67 6b 18 0a ...k....kg.."9.......c..g..&gk..
31920 18 04 67 14 00 28 18 0e 6b 63 6f 67 39 10 18 10 af 00 00 00 03 00 0a 00 00 00 1e 00 07 00 00 00 ..g..(..kcog9...................
31940 11 00 0e 00 12 00 16 00 13 00 1a 00 16 00 2f 00 17 00 3f 00 18 00 5e 00 19 00 0b 00 00 00 5c 00 ............../...?...^.......\.
31960 09 00 00 00 61 00 2a 00 2b 00 00 00 00 00 61 00 2c 00 2b 00 02 00 00 00 61 00 2d 00 2b 00 04 00 ....a.*.+.....a.,.+.....a.-.+...
31980 00 00 61 00 2e 00 2b 00 06 00 00 00 61 00 2f 00 2b 00 08 00 00 00 61 00 30 00 2b 00 0a 00 2f 00 ..a...+.....a./.+.....a.0.+.../.
319a0 32 00 31 00 2b 00 0c 00 3f 00 22 00 32 00 2b 00 0e 00 5e 00 03 00 33 00 2b 00 10 00 34 00 00 00 2.1.+...?.".2.+...^...3.+...4...
319c0 03 00 01 1a 00 19 00 35 00 36 00 01 00 07 00 00 00 74 00 0a 00 0a 00 00 00 1e 14 00 1e 28 6b 18 .......5.6.......t...........(k.
319e0 04 6b 18 04 6b 14 00 28 18 06 28 18 04 6b 67 26 67 6b 6f 39 08 18 08 af 00 00 00 02 00 0a 00 00 .k..k..(..(..kg&gko9............
31a00 00 0a 00 02 00 00 00 1e 00 1b 00 1f 00 0b 00 00 00 34 00 05 00 00 00 1e 00 37 00 2b 00 00 00 00 .................4.......7.+....
31a20 00 1e 00 38 00 2b 00 02 00 00 00 1e 00 39 00 2b 00 04 00 00 00 1e 00 3a 00 2b 00 06 00 1b 00 03 ...8.+.......9.+.......:.+......
31a40 00 33 00 2b 00 08 00 09 00 3b 00 3c 00 01 00 07 00 00 00 2b 00 00 00 01 00 00 00 01 b1 00 00 00 .3.+.....;.<.......+............
31a60 02 00 0a 00 00 00 06 00 01 00 00 00 24 00 0b 00 00 00 0c 00 01 00 00 00 01 00 3d 00 3e 00 00 00 ............$.............=.>...
31a80 01 00 3f 00 00 00 02 00 40 50 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 7a c5 f7 1e e1 03 00 00 e1 ..?.....@PK.........i.<z........
31aa0 03 00 00 24 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 49 6e 74 65 72 70 6f ...$...optimization/util/Interpo
31ac0 6c 61 74 69 6f 6e 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e lation.javapackage.optimization.
31ae0 75 74 69 6c 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 49 6e 74 65 72 70 6f 6c 61 74 69 6f util;..public.class.Interpolatio
31b00 6e 20 7b 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 46 69 74 73 20 61 20 63 75 62 69 63 20 70 6f 6c 69 6e n.{.../**...*.Fits.a.cubic.polin
31b20 6f 6d 79 61 6c 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 67 69 76 65 6e 20 74 77 6f 20 70 6f omyal.to.a.function.given.two.po
31b40 69 6e 74 73 2c 0a 09 20 2a 20 73 75 63 68 20 74 68 61 74 20 65 69 74 68 65 72 20 67 72 61 64 42 ints,...*.such.that.either.gradB
31b60 20 69 73 20 62 69 67 67 65 72 20 74 68 61 6e 20 7a 65 72 6f 20 6f 72 20 66 75 6e 63 42 20 3e 3d .is.bigger.than.zero.or.funcB.>=
31b80 20 66 75 6e 63 41 0a 09 20 2a 20 0a 09 20 2a 20 4e 6f 6e 4c 69 6e 65 61 72 20 50 72 6f 67 72 61 .funcA...*....*.NonLinear.Progra
31ba0 6d 6d 69 6e 67 20 61 70 70 65 6e 64 69 78 20 43 0a 09 20 2a 20 40 70 61 72 61 6d 20 66 75 6e 63 mming.appendix.C...*.@param.func
31bc0 41 0a 09 20 2a 20 40 70 61 72 61 6d 20 67 72 61 64 41 0a 09 20 2a 20 40 70 61 72 61 6d 20 66 75 A...*.@param.gradA...*.@param.fu
31be0 6e 63 42 0a 09 20 2a 20 40 70 61 72 61 6d 20 67 72 61 64 42 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 ncB...*.@param.gradB...*/..publi
31c00 63 20 66 69 6e 61 6c 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 63 75 62 69 63 49 6e 74 65 72 c.final.static.double.cubicInter
31c20 70 6f 6c 61 74 69 6f 6e 28 64 6f 75 62 6c 65 20 61 2c 20 0a 09 09 09 64 6f 75 62 6c 65 20 66 75 polation(double.a,.....double.fu
31c40 6e 63 41 2c 20 64 6f 75 62 6c 65 20 67 72 61 64 41 2c 20 64 6f 75 62 6c 65 20 62 2c 64 6f 75 62 ncA,.double.gradA,.double.b,doub
31c60 6c 65 20 66 75 6e 63 42 2c 20 64 6f 75 62 6c 65 20 67 72 61 64 42 20 29 7b 0a 09 09 69 66 28 67 le.funcB,.double.gradB.){...if(g
31c80 72 61 64 42 20 3c 20 30 20 26 26 20 66 75 6e 63 41 20 3e 20 66 75 6e 63 42 29 7b 0a 09 09 09 53 radB.<.0.&&.funcA.>.funcB){....S
31ca0 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 43 61 6e 6e 6f 74 20 63 61 6c 6c 20 63 ystem.out.println("Cannot.call.c
31cc0 75 62 69 63 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 22 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 ubic.interpolation");....return.
31ce0 2d 31 3b 0a 09 09 7d 0a 09 09 0a 09 09 64 6f 75 62 6c 65 20 7a 20 3d 20 33 2a 28 66 75 6e 63 41 -1;...}......double.z.=.3*(funcA
31d00 2d 66 75 6e 63 42 29 2f 28 62 2d 61 29 20 2b 20 67 72 61 64 41 20 2b 20 67 72 61 64 42 3b 0a 09 -funcB)/(b-a).+.gradA.+.gradB;..
31d20 09 64 6f 75 62 6c 65 20 77 20 3d 20 4d 61 74 68 2e 73 71 72 74 28 7a 2a 7a 20 2d 20 67 72 61 64 .double.w.=.Math.sqrt(z*z.-.grad
31d40 41 2a 67 72 61 64 42 29 3b 0a 09 09 64 6f 75 62 6c 65 20 6d 69 6e 20 3d 20 62 20 2d 28 67 72 61 A*gradB);...double.min.=.b.-(gra
31d60 64 42 2b 77 2d 7a 29 2a 28 62 2d 61 29 2f 28 67 72 61 64 42 2d 67 72 61 64 41 2b 32 2a 77 29 3b dB+w-z)*(b-a)/(gradB-gradA+2*w);
31d80 0a 09 09 72 65 74 75 72 6e 20 6d 69 6e 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 66 69 6e 61 ...return.min;..}....public.fina
31da0 6c 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 71 75 61 64 72 61 74 69 63 49 6e 74 65 72 70 6f l.static.double.quadraticInterpo
31dc0 6c 61 74 69 6f 6e 28 64 6f 75 62 6c 65 20 69 6e 69 74 46 56 61 6c 75 65 2c 20 0a 09 09 09 64 6f lation(double.initFValue,.....do
31de0 75 62 6c 65 20 69 6e 69 74 47 72 61 64 2c 20 64 6f 75 62 6c 65 20 70 6f 69 6e 74 2c 64 6f 75 62 uble.initGrad,.double.point,doub
31e00 6c 65 20 70 6f 69 6e 74 46 56 61 6c 75 65 29 7b 0a 09 09 09 09 64 6f 75 62 6c 65 20 6d 69 6e 20 le.pointFValue){.....double.min.
31e20 3d 20 2d 31 2a 69 6e 69 74 47 72 61 64 2a 70 6f 69 6e 74 2a 70 6f 69 6e 74 2f 28 32 2a 28 70 6f =.-1*initGrad*point*point/(2*(po
31e40 69 6e 74 46 56 61 6c 75 65 2d 69 6e 69 74 47 72 61 64 2a 70 6f 69 6e 74 2d 69 6e 69 74 46 56 61 intFValue-initGrad*point-initFVa
31e60 6c 75 65 29 29 3b 0a 09 09 72 65 74 75 72 6e 20 6d 69 6e 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 lue));...return.min;..}....publi
31e80 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 61 69 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 73 c.static.void.main(String[].args
31ea0 29 20 7b 0a 09 09 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c cd 10 0a 71 17 01 ).{.....}.}.PK.........Y.<...q..
31ec0 00 00 17 01 00 00 1e 00 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4c 6f 67 67 ..........optimization/util/Logg
31ee0 65 72 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 10 07 00 02 01 00 18 6f 70 74 69 6d 69 7a 61 er.class.......2........optimiza
31f00 74 69 6f 6e 2f 75 74 69 6c 2f 4c 6f 67 67 65 72 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f tion/util/Logger......java/lang/
31f20 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 Object...<init>...()V...Code....
31f40 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c .........LineNumberTable...Local
31f60 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 1a 4c 6f 70 74 69 6d 69 7a 61 VariableTable...this...Loptimiza
31f80 74 69 6f 6e 2f 75 74 69 6c 2f 4c 6f 67 67 65 72 3b 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 tion/util/Logger;...SourceFile..
31fa0 0b 4c 6f 67 67 65 72 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 01 00 01 00 05 00 06 00 01 .Logger.java.!..................
31fc0 00 07 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 08 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 ...../........*.................
31fe0 00 00 03 00 0b 00 00 00 0c 00 01 00 00 00 05 00 0c 00 0d 00 00 00 01 00 0e 00 00 00 02 00 0f 50 ...............................P
32000 4b 03 04 0a 00 00 00 00 00 b2 69 d6 3c 6e 13 e4 11 3a 00 00 00 3a 00 00 00 1d 00 00 00 6f 70 74 K.........i.<n...:...:.......opt
32020 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4c 6f 67 67 65 72 2e 6a 61 76 61 70 61 63 6b 61 67 imization/util/Logger.javapackag
32040 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 75 74 69 6c 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 e.optimization.util;..public.cla
32060 73 73 20 4c 6f 67 67 65 72 20 7b 0a 09 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 ss.Logger.{.......}.PK.........Y
32080 e5 3c 5c be f2 90 c4 05 00 00 c4 05 00 00 0f 00 00 00 75 74 69 6c 2f 50 61 69 72 2e 63 6c 61 73 .<\...............util/Pair.clas
320a0 73 ca fe ba be 00 00 00 32 00 3a 07 00 02 01 00 09 75 74 69 6c 2f 50 61 69 72 07 00 04 01 00 10 s.......2.:......util/Pair......
320c0 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 5f 66 69 72 73 74 01 00 12 4c 6a 61 76 java/lang/Object..._first...Ljav
320e0 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 01 00 09 53 69 67 6e 61 74 75 72 65 01 00 04 54 4f 31 a/lang/Object;...Signature...TO1
32100 3b 01 00 07 5f 73 65 63 6f 6e 64 01 00 04 54 4f 32 3b 01 00 05 66 69 72 73 74 01 00 14 28 29 4c ;..._second...TO2;...first...()L
32120 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 01 00 06 28 29 54 4f 31 3b 01 00 04 43 6f 64 java/lang/Object;...()TO1;...Cod
32140 65 09 00 01 00 10 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 e.............LineNumberTable...
32160 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 0b 4c 75 74 69 LocalVariableTable...this...Luti
32180 6c 2f 50 61 69 72 3b 01 00 16 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 79 70 65 54 61 62 6c 65 l/Pair;...LocalVariableTypeTable
321a0 01 00 15 4c 75 74 69 6c 2f 50 61 69 72 3c 54 4f 31 3b 54 4f 32 3b 3e 3b 01 00 06 73 65 63 6f 6e ...Lutil/Pair<TO1;TO2;>;...secon
321c0 64 01 00 06 28 29 54 4f 32 3b 09 00 01 00 1a 0c 00 09 00 06 01 00 08 73 65 74 46 69 72 73 74 01 d...()TO2;.............setFirst.
321e0 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 56 01 00 07 28 54 4f 31 3b 29 ..(Ljava/lang/Object;)V...(TO1;)
32200 56 01 00 05 76 61 6c 75 65 01 00 09 73 65 74 53 65 63 6f 6e 64 01 00 07 28 54 4f 32 3b 29 56 01 V...value...setSecond...(TO2;)V.
32220 00 06 3c 69 6e 69 74 3e 01 00 27 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 4c 6a ..<init>..'(Ljava/lang/Object;Lj
32240 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 56 01 00 0b 28 54 4f 31 3b 54 4f 32 3b 29 56 ava/lang/Object;)V...(TO1;TO2;)V
32260 0a 00 03 00 25 0c 00 21 00 26 01 00 03 28 29 56 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 ....%..!.&...()V...toString...()
32280 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 07 00 2a 01 00 17 6a 61 76 61 2f 6c 61 6e Ljava/lang/String;..*...java/lan
322a0 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 0a 00 29 00 25 0a 00 29 00 2d 0c 00 2e 00 2f 01 00 g/StringBuilder..).%..).-..../..
322c0 06 61 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 4c 6a .append..-(Ljava/lang/Object;)Lj
322e0 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 31 01 00 01 20 0a 00 ava/lang/StringBuilder;..1......
32300 29 00 33 0c 00 2e 00 34 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c ).3....4..-(Ljava/lang/String;)L
32320 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 29 00 36 0c 00 27 java/lang/StringBuilder;..).6..'
32340 00 28 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 09 50 61 69 72 2e 6a 61 76 61 01 00 3e 3c 4f .(...SourceFile...Pair.java..><O
32360 31 3a 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 4f 32 3a 4c 6a 61 76 61 2f 6c 61 6e 1:Ljava/lang/Object;O2:Ljava/lan
32380 67 2f 4f 62 6a 65 63 74 3b 3e 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 00 21 00 01 g/Object;>Ljava/lang/Object;.!..
323a0 00 03 00 00 00 02 00 01 00 05 00 06 00 01 00 07 00 00 00 02 00 08 00 01 00 09 00 06 00 01 00 07 ................................
323c0 00 00 00 02 00 0a 00 06 00 11 00 0b 00 0c 00 02 00 07 00 00 00 02 00 0d 00 0e 00 00 00 41 00 01 .............................A..
323e0 00 01 00 00 00 05 2a b4 00 0f b0 00 00 00 03 00 11 00 00 00 06 00 01 00 00 00 08 00 12 00 00 00 ......*.........................
32400 0c 00 01 00 00 00 05 00 13 00 14 00 00 00 15 00 00 00 0c 00 01 00 00 00 05 00 13 00 16 00 00 00 ................................
32420 11 00 17 00 0c 00 02 00 07 00 00 00 02 00 18 00 0e 00 00 00 41 00 01 00 01 00 00 00 05 2a b4 00 ....................A........*..
32440 19 b0 00 00 00 03 00 11 00 00 00 06 00 01 00 00 00 0c 00 12 00 00 00 0c 00 01 00 00 00 05 00 13 ................................
32460 00 14 00 00 00 15 00 00 00 0c 00 01 00 00 00 05 00 13 00 16 00 00 00 11 00 1b 00 1c 00 02 00 07 ................................
32480 00 00 00 02 00 1d 00 0e 00 00 00 5a 00 02 00 02 00 00 00 06 2a 2b b5 00 0f b1 00 00 00 03 00 11 ...........Z........*+..........
324a0 00 00 00 0a 00 02 00 00 00 10 00 05 00 11 00 12 00 00 00 16 00 02 00 00 00 06 00 13 00 14 00 00 ................................
324c0 00 00 00 06 00 1e 00 06 00 01 00 15 00 00 00 16 00 02 00 00 00 06 00 13 00 16 00 00 00 00 00 06 ................................
324e0 00 1e 00 08 00 01 00 11 00 1f 00 1c 00 02 00 07 00 00 00 02 00 20 00 0e 00 00 00 5a 00 02 00 02 ...........................Z....
32500 00 00 00 06 2a 2b b5 00 19 b1 00 00 00 03 00 11 00 00 00 0a 00 02 00 00 00 14 00 05 00 15 00 12 ....*+..........................
32520 00 00 00 16 00 02 00 00 00 06 00 13 00 14 00 00 00 00 00 06 00 1e 00 06 00 01 00 15 00 00 00 16 ................................
32540 00 02 00 00 00 06 00 13 00 16 00 00 00 00 00 06 00 1e 00 0a 00 01 00 01 00 21 00 22 00 02 00 07 .........................!."....
32560 00 00 00 02 00 23 00 0e 00 00 00 7f 00 02 00 03 00 00 00 0f 2a b7 00 24 2a 2b b5 00 0f 2a 2c b5 .....#..............*..$*+...*,.
32580 00 19 b1 00 00 00 03 00 11 00 00 00 12 00 04 00 00 00 17 00 04 00 18 00 09 00 19 00 0e 00 1a 00 ................................
325a0 12 00 00 00 20 00 03 00 00 00 0f 00 13 00 14 00 00 00 00 00 0f 00 0b 00 06 00 01 00 00 00 0f 00 ................................
325c0 17 00 06 00 02 00 15 00 00 00 20 00 03 00 00 00 0f 00 13 00 16 00 00 00 00 00 0f 00 0b 00 08 00 ................................
325e0 01 00 00 00 0f 00 17 00 0a 00 02 00 01 00 27 00 28 00 01 00 0e 00 00 00 5a 00 02 00 01 00 00 00 ..............'.(.......Z.......
32600 1e bb 00 29 59 b7 00 2b 2a b4 00 0f b6 00 2c 12 30 b6 00 32 2a b4 00 19 b6 00 2c b6 00 35 b0 00 ...)Y..+*.....,.0..2*.....,..5..
32620 00 00 03 00 11 00 00 00 06 00 01 00 00 00 1d 00 12 00 00 00 0c 00 01 00 00 00 1e 00 13 00 14 00 ................................
32640 00 00 15 00 00 00 0c 00 01 00 00 00 1e 00 13 00 16 00 00 00 02 00 37 00 00 00 02 00 38 00 07 00 ......................7.....8...
32660 00 00 02 00 39 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 9d 44 7e de c3 01 00 00 c3 01 00 00 0e ....9PK.........i.<.D~..........
32680 00 00 00 75 74 69 6c 2f 50 61 69 72 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 74 69 6c 3b 0a 0a ...util/Pair.javapackage.util;..
326a0 70 75 62 6c 69 63 20 63 6c 61 73 73 20 50 61 69 72 3c 4f 31 2c 20 4f 32 3e 20 7b 0a 09 70 75 62 public.class.Pair<O1,.O2>.{..pub
326c0 6c 69 63 20 4f 31 20 5f 66 69 72 73 74 3b 0a 09 70 75 62 6c 69 63 20 4f 32 20 5f 73 65 63 6f 6e lic.O1._first;..public.O2._secon
326e0 64 3b 0a 0a 09 70 75 62 6c 69 63 20 66 69 6e 61 6c 20 4f 31 20 66 69 72 73 74 28 29 20 7b 0a 09 d;...public.final.O1.first().{..
32700 09 72 65 74 75 72 6e 20 5f 66 69 72 73 74 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 66 69 6e 61 .return._first;..}...public.fina
32720 6c 20 4f 32 20 73 65 63 6f 6e 64 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 5f 73 65 63 6f 6e 64 l.O2.second().{...return._second
32740 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 66 69 6e 61 6c 20 76 6f 69 64 20 73 65 74 46 69 72 73 ;..}...public.final.void.setFirs
32760 74 28 4f 31 20 76 61 6c 75 65 29 7b 0a 09 09 5f 66 69 72 73 74 20 3d 20 76 61 6c 75 65 3b 0a 09 t(O1.value){..._first.=.value;..
32780 7d 0a 09 0a 09 70 75 62 6c 69 63 20 66 69 6e 61 6c 20 76 6f 69 64 20 73 65 74 53 65 63 6f 6e 64 }....public.final.void.setSecond
327a0 28 4f 32 20 76 61 6c 75 65 29 7b 0a 09 09 5f 73 65 63 6f 6e 64 20 3d 20 76 61 6c 75 65 3b 0a 09 (O2.value){..._second.=.value;..
327c0 7d 0a 09 0a 09 70 75 62 6c 69 63 20 50 61 69 72 28 4f 31 20 66 69 72 73 74 2c 20 4f 32 20 73 65 }....public.Pair(O1.first,.O2.se
327e0 63 6f 6e 64 29 20 7b 0a 09 09 5f 66 69 72 73 74 20 3d 20 66 69 72 73 74 3b 0a 09 09 5f 73 65 63 cond).{..._first.=.first;..._sec
32800 6f 6e 64 20 3d 20 73 65 63 6f 6e 64 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 53 74 72 69 6e 67 ond.=.second;..}...public.String
32820 20 74 6f 53 74 72 69 6e 67 28 29 7b 0a 09 09 72 65 74 75 72 6e 20 5f 66 69 72 73 74 20 2b 20 22 .toString(){...return._first.+."
32840 20 22 20 2b 20 5f 73 65 63 6f 6e 64 3b 20 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 .".+._second;...}.}.PK.........Y
32860 e5 3c 91 36 88 8c 0c 01 00 00 0c 01 00 00 22 00 00 00 75 74 69 6c 2f 44 69 66 66 65 72 65 6e 74 .<.6.........."...util/Different
32880 69 61 62 6c 65 4f 62 6a 65 63 74 69 76 65 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 0f 07 00 iableObjective.class.......2....
328a0 02 01 00 1c 75 74 69 6c 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4f 62 6a 65 63 74 69 76 65 ....util/DifferentiableObjective
328c0 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 08 67 65 74 56 61 6c 75 ......java/lang/Object...getValu
328e0 65 01 00 03 28 29 44 01 00 0b 67 65 74 47 72 61 64 69 65 6e 74 01 00 05 28 5b 44 29 56 01 00 0d e...()D...getGradient...([D)V...
32900 67 65 74 50 61 72 61 6d 65 74 65 72 73 01 00 0d 73 65 74 50 61 72 61 6d 65 74 65 72 73 01 00 10 getParameters...setParameters...
32920 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 65 72 73 01 00 03 28 29 49 01 00 0a 53 6f 75 72 63 65 46 getNumParameters...()I...SourceF
32940 69 6c 65 01 00 1c 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4f 62 6a 65 63 74 69 76 65 2e 6a 61 ile...DifferentiableObjective.ja
32960 76 61 06 01 00 01 00 03 00 00 00 00 00 05 04 01 00 05 00 06 00 00 04 01 00 07 00 08 00 00 04 01 va..............................
32980 00 09 00 08 00 00 04 01 00 0a 00 08 00 00 04 01 00 0b 00 0c 00 00 00 01 00 0d 00 00 00 02 00 0e ................................
329a0 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 60 34 00 71 0a 01 00 00 0a 01 00 00 21 00 00 00 75 74 PK.........i.<`4.q........!...ut
329c0 69 6c 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4f 62 6a 65 63 74 69 76 65 2e 6a 61 76 61 70 il/DifferentiableObjective.javap
329e0 61 63 6b 61 67 65 20 75 74 69 6c 3b 0a 0a 70 75 62 6c 69 63 20 69 6e 74 65 72 66 61 63 65 20 44 ackage.util;..public.interface.D
32a00 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4f 62 6a 65 63 74 69 76 65 20 7b 0a 0a 09 70 75 62 6c 69 ifferentiableObjective.{...publi
32a20 63 20 64 6f 75 62 6c 65 20 67 65 74 56 61 6c 75 65 28 29 3b 0a 0a 09 70 75 62 6c 69 63 20 76 6f c.double.getValue();...public.vo
32a40 69 64 20 67 65 74 47 72 61 64 69 65 6e 74 28 64 6f 75 62 6c 65 5b 5d 20 67 72 61 64 69 65 6e 74 id.getGradient(double[].gradient
32a60 29 3b 0a 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 64 );...public.void.getParameters(d
32a80 6f 75 62 6c 65 5b 5d 20 70 61 72 61 6d 73 29 3b 0a 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 ouble[].params);...public.void.s
32aa0 65 74 50 61 72 61 6d 65 74 65 72 73 28 64 6f 75 62 6c 65 5b 5d 20 6e 65 77 50 61 72 61 6d 65 74 etParameters(double[].newParamet
32ac0 65 72 73 29 3b 0a 0a 09 70 75 62 6c 69 63 20 69 6e 74 20 67 65 74 4e 75 6d 50 61 72 61 6d 65 74 ers);...public.int.getNumParamet
32ae0 65 72 73 28 29 3b 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 9f 4a ed 7d ac 05 00 00 ac ers();.}.PK.........Y.<.J.}.....
32b00 05 00 00 14 00 00 00 75 74 69 6c 2f 4c 6f 67 53 75 6d 6d 65 72 2e 63 6c 61 73 73 ca fe ba be 00 .......util/LogSummer.class.....
32b20 00 00 32 00 4c 07 00 02 01 00 0e 75 74 69 6c 2f 4c 6f 67 53 75 6d 6d 65 72 07 00 04 01 00 10 6a ..2.L......util/LogSummer......j
32b40 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 13 24 61 73 73 65 72 74 69 6f 6e 73 44 69 73 ava/lang/Object...$assertionsDis
32b60 61 62 6c 65 64 01 00 01 5a 01 00 08 3c 63 6c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 abled...Z...<clinit>...()V...Cod
32b80 65 0a 00 0b 00 0d 07 00 0c 01 00 0f 6a 61 76 61 2f 6c 61 6e 67 2f 43 6c 61 73 73 0c 00 0e 00 0f e...........java/lang/Class.....
32ba0 01 00 16 64 65 73 69 72 65 64 41 73 73 65 72 74 69 6f 6e 53 74 61 74 75 73 01 00 03 28 29 5a 09 ...desiredAssertionStatus...()Z.
32bc0 00 01 00 11 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f ............LineNumberTable...Lo
32be0 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 calVariableTable...StackMapTable
32c00 01 00 06 3c 69 6e 69 74 3e 0a 00 03 00 17 0c 00 15 00 08 01 00 04 74 68 69 73 01 00 10 4c 75 74 ...<init>.............this...Lut
32c20 69 6c 2f 4c 6f 67 53 75 6d 6d 65 72 3b 01 00 03 73 75 6d 01 00 05 28 44 44 29 44 0a 00 1d 00 1f il/LogSummer;...sum...(DD)D.....
32c40 07 00 1e 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 0c 00 20 00 21 01 00 05 69 73 ......java/lang/Double....!...is
32c60 4e 61 4e 01 00 04 28 44 29 5a 07 00 23 01 00 18 6a 61 76 61 2f 6c 61 6e 67 2f 41 73 73 65 72 74 NaN...(D)Z..#...java/lang/Assert
32c80 69 6f 6e 45 72 72 6f 72 0a 00 22 00 17 0a 00 1d 00 26 0c 00 27 00 21 01 00 0a 69 73 49 6e 66 69 ionError.."......&..'.!...isInfi
32ca0 6e 69 74 65 0a 00 29 00 2b 07 00 2a 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 68 0c 00 2c nite..).+..*...java/lang/Math..,
32cc0 00 2d 01 00 03 65 78 70 01 00 04 28 44 29 44 0a 00 29 00 2f 0c 00 30 00 2d 01 00 05 6c 6f 67 31 .-...exp...(D)D..)./..0.-...log1
32ce0 70 01 00 04 6c 6f 67 61 01 00 01 44 01 00 04 6c 6f 67 62 01 00 06 6d 61 78 4c 6f 67 01 00 0a 64 p...loga...D...logb...maxLog...d
32d00 69 66 66 65 72 65 6e 63 65 01 00 07 28 5b 44 49 44 29 56 0a 00 01 00 38 0c 00 1a 00 1b 01 00 05 ifference...([DID)V....8........
32d20 61 72 72 61 79 01 00 02 5b 44 01 00 05 69 6e 64 65 78 01 00 01 49 01 00 06 73 75 6d 41 6c 6c 01 array...[D...index...I...sumAll.
32d40 00 05 28 5b 44 29 44 0a 00 01 00 40 0c 00 41 00 42 01 00 0c 73 75 6d 41 6c 6c 48 65 6c 70 65 72 ..([D)D....@..A.B...sumAllHelper
32d60 01 00 07 28 5b 44 49 49 29 44 01 00 05 74 65 72 6d 73 06 ff f0 00 00 00 00 00 00 01 00 05 62 65 ...([DII)D...terms............be
32d80 67 69 6e 01 00 03 65 6e 64 01 00 06 6c 65 6e 67 74 68 01 00 08 6d 69 64 49 6e 64 65 78 01 00 0a gin...end...length...midIndex...
32da0 53 6f 75 72 63 65 46 69 6c 65 01 00 0e 4c 6f 67 53 75 6d 6d 65 72 2e 6a 61 76 61 00 21 00 01 00 SourceFile...LogSummer.java.!...
32dc0 03 00 00 00 01 10 18 00 05 00 06 00 00 00 06 00 08 00 07 00 08 00 01 00 09 00 00 00 3c 00 01 00 ............................<...
32de0 00 00 00 00 11 12 01 b6 00 0a 9a 00 07 04 a7 00 04 03 b3 00 10 b1 00 00 00 03 00 12 00 00 00 06 ................................
32e00 00 01 00 00 00 09 00 13 00 00 00 02 00 00 00 14 00 00 00 05 00 02 0c 40 01 00 02 00 15 00 08 00 .......................@........
32e20 01 00 09 00 00 00 33 00 01 00 01 00 00 00 05 2a b7 00 16 b1 00 00 00 02 00 12 00 00 00 0a 00 02 ......3........*................
32e40 00 00 00 0b 00 04 00 0c 00 13 00 00 00 0c 00 01 00 00 00 05 00 18 00 19 00 00 00 09 00 1a 00 1b ................................
32e60 00 01 00 09 00 00 00 fb 00 04 00 08 00 00 00 61 b2 00 10 9a 00 12 26 b8 00 1c 99 00 0b bb 00 22 ...............a......&........"
32e80 59 b7 00 24 bf b2 00 10 9a 00 12 28 b8 00 1c 99 00 0b bb 00 22 59 b7 00 24 bf 26 b8 00 25 99 00 Y..$.......(........"Y..$.&..%..
32ea0 05 28 af 28 b8 00 25 99 00 05 26 af 26 28 97 9e 00 0e 28 26 67 39 06 26 39 04 a7 00 0b 26 28 67 .(.(..%...&.&(....(&g9.&9....&(g
32ec0 39 06 28 39 04 18 06 b8 00 28 b8 00 2e 18 04 63 af 00 00 00 03 00 12 00 00 00 32 00 0c 00 00 00 9.(9.....(.....c..........2.....
32ee0 16 00 15 00 17 00 2a 00 19 00 31 00 1a 00 33 00 1b 00 3a 00 1c 00 3c 00 20 00 42 00 21 00 47 00 ......*...1...3...:...<...B.!.G.
32f00 22 00 4d 00 25 00 52 00 26 00 55 00 29 00 13 00 00 00 3e 00 06 00 00 00 61 00 31 00 32 00 00 00 ".M.%.R.&.U.).....>.....a.1.2...
32f20 00 00 61 00 33 00 32 00 02 00 4a 00 03 00 34 00 32 00 04 00 55 00 0c 00 34 00 32 00 04 00 47 00 ..a.3.2...J...4.2...U...4.2...G.
32f40 06 00 35 00 32 00 06 00 52 00 0f 00 35 00 32 00 06 00 14 00 00 00 0c 00 06 15 14 08 08 10 fd 00 ..5.2...R...5.2.................
32f60 07 03 03 00 09 00 1a 00 36 00 01 00 09 00 00 00 4d 00 06 00 04 00 00 00 0b 2a 1b 2a 1b 31 28 b8 ........6.......M........*.*.1(.
32f80 00 37 52 b1 00 00 00 02 00 12 00 00 00 0a 00 02 00 00 00 35 00 0a 00 36 00 13 00 00 00 20 00 03 .7R................5...6........
32fa0 00 00 00 0b 00 39 00 3a 00 00 00 00 00 0b 00 3b 00 3c 00 01 00 00 00 0b 00 33 00 32 00 02 00 89 .....9.:.......;.<.......3.2....
32fc0 00 3d 00 3e 00 01 00 09 00 00 00 32 00 03 00 01 00 00 00 08 2a 03 2a be b8 00 3f af 00 00 00 02 .=.>.......2........*.*...?.....
32fe0 00 12 00 00 00 06 00 01 00 00 00 40 00 13 00 00 00 0c 00 01 00 00 00 08 00 43 00 3a 00 00 00 0a ...........@.............C.:....
33000 00 41 00 42 00 01 00 09 00 00 00 b1 00 05 00 05 00 00 00 3d 1c 1b 64 3e 1d aa 00 00 00 00 00 1f .A.B...............=..d>........
33020 00 00 00 00 00 00 00 01 00 00 00 17 00 00 00 1b 14 00 44 af 2a 1b 31 af 1b 1d 05 6c 60 36 04 2a ..................D.*.1....l`6.*
33040 1b 15 04 b8 00 3f 2a 15 04 1c b8 00 3f b8 00 37 af 00 00 00 03 00 12 00 00 00 1a 00 06 00 00 00 .....?*.....?..7................
33060 4c 00 04 00 4d 00 1c 00 4e 00 20 00 4f 00 24 00 51 00 2b 00 52 00 13 00 00 00 34 00 05 00 00 00 L...M...N...O.$.Q.+.R.....4.....
33080 3d 00 43 00 3a 00 00 00 00 00 3d 00 46 00 3c 00 01 00 00 00 3d 00 47 00 3c 00 02 00 04 00 39 00 =.C.:.....=.F.<.....=.G.<.....9.
330a0 48 00 3c 00 03 00 2b 00 12 00 49 00 3c 00 04 00 14 00 00 00 08 00 03 fc 00 1c 01 03 03 00 01 00 H.<...+...I.<...................
330c0 4a 00 00 00 02 00 4b 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 7d 23 db 0f 57 09 00 00 57 09 00 J.....KPK.........i.<}#..W...W..
330e0 00 13 00 00 00 75 74 69 6c 2f 4c 6f 67 53 75 6d 6d 65 72 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 .....util/LogSummer.javapackage.
33100 75 74 69 6c 3b 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 6c 61 6e 67 2e 4d 61 74 68 3b 0a 0a 2f util;..import.java.lang.Math;../
33120 2a 0a 20 2a 20 4d 61 74 68 20 74 6f 6f 6c 20 66 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20 6c 6f 67 *..*.Math.tool.for.computing.log
33140 73 20 6f 66 20 73 75 6d 73 2c 20 77 68 65 6e 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 s.of.sums,.when.the.terms.of.the
33160 20 73 75 6d 20 61 72 65 20 61 6c 72 65 61 64 79 20 69 6e 20 6c 6f 67 20 66 6f 72 6d 2e 0a 20 2a .sum.are.already.in.log.form...*
33180 20 28 55 73 65 66 75 6c 20 69 66 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 73 75 6d .(Useful.if.the.terms.of.the.sum
331a0 20 61 72 65 20 76 65 72 79 20 73 6d 61 6c 6c 20 6e 75 6d 62 65 72 73 2e 29 0a 20 2a 2f 0a 70 75 .are.very.small.numbers.)..*/.pu
331c0 62 6c 69 63 20 63 6c 61 73 73 20 4c 6f 67 53 75 6d 6d 65 72 20 7b 0a 09 0a 09 70 72 69 76 61 74 blic.class.LogSummer.{....privat
331e0 65 20 4c 6f 67 53 75 6d 6d 65 72 28 29 20 7b 0a 09 7d 0a 09 09 0a 09 2f 2a 2a 0a 09 20 2a 20 47 e.LogSummer().{..}...../**...*.G
33200 69 76 65 6e 20 6c 6f 67 28 61 29 20 61 6e 64 20 6c 6f 67 28 62 29 2c 20 63 6f 6d 70 75 74 65 73 iven.log(a).and.log(b),.computes
33220 20 6c 6f 67 28 61 20 2b 20 62 29 2e 0a 09 20 2a 20 0a 09 20 2a 20 40 70 61 72 61 6d 20 20 6c 6f .log(a.+.b)....*....*.@param..lo
33240 67 61 20 6c 6f 67 20 6f 66 20 66 69 72 73 74 20 73 75 6d 20 74 65 72 6d 0a 09 20 2a 20 40 70 61 ga.log.of.first.sum.term...*.@pa
33260 72 61 6d 20 20 6c 6f 67 62 20 6c 6f 67 20 6f 66 20 73 65 63 6f 6e 64 20 73 75 6d 20 74 65 72 6d ram..logb.log.of.second.sum.term
33280 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 20 20 20 20 6c 6f 67 28 73 75 6d 29 2c 20 77 68 65 72 65 ...*.@return.....log(sum),.where
332a0 20 73 75 6d 20 3d 20 61 20 2b 20 62 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 .sum.=.a.+.b...*/..public.static
332c0 20 64 6f 75 62 6c 65 20 73 75 6d 28 64 6f 75 62 6c 65 20 6c 6f 67 61 2c 20 64 6f 75 62 6c 65 20 .double.sum(double.loga,.double.
332e0 6c 6f 67 62 29 20 7b 0a 09 09 61 73 73 65 72 74 28 21 44 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 6c logb).{...assert(!Double.isNaN(l
33300 6f 67 61 29 29 3b 0a 09 09 61 73 73 65 72 74 28 21 44 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 6c 6f oga));...assert(!Double.isNaN(lo
33320 67 62 29 29 3b 0a 09 09 0a 09 09 69 66 28 44 6f 75 62 6c 65 2e 69 73 49 6e 66 69 6e 69 74 65 28 gb));......if(Double.isInfinite(
33340 6c 6f 67 61 29 29 0a 09 09 09 72 65 74 75 72 6e 20 6c 6f 67 62 3b 0a 09 09 69 66 28 44 6f 75 62 loga))....return.logb;...if(Doub
33360 6c 65 2e 69 73 49 6e 66 69 6e 69 74 65 28 6c 6f 67 62 29 29 0a 09 09 09 72 65 74 75 72 6e 20 6c le.isInfinite(logb))....return.l
33380 6f 67 61 3b 0a 0a 09 09 64 6f 75 62 6c 65 20 6d 61 78 4c 6f 67 3b 0a 09 09 64 6f 75 62 6c 65 20 oga;....double.maxLog;...double.
333a0 64 69 66 66 65 72 65 6e 63 65 3b 0a 09 09 69 66 28 6c 6f 67 61 20 3e 20 6c 6f 67 62 29 20 7b 0a difference;...if(loga.>.logb).{.
333c0 09 09 09 64 69 66 66 65 72 65 6e 63 65 20 3d 20 6c 6f 67 62 20 2d 20 6c 6f 67 61 3b 0a 09 09 09 ...difference.=.logb.-.loga;....
333e0 6d 61 78 4c 6f 67 20 3d 20 6c 6f 67 61 3b 0a 09 09 7d 0a 09 09 65 6c 73 65 20 7b 0a 09 09 09 64 maxLog.=.loga;...}...else.{....d
33400 69 66 66 65 72 65 6e 63 65 20 3d 20 6c 6f 67 61 20 2d 20 6c 6f 67 62 3b 0a 09 09 09 6d 61 78 4c ifference.=.loga.-.logb;....maxL
33420 6f 67 20 3d 20 6c 6f 67 62 3b 0a 09 09 7d 0a 0a 09 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 6c 6f og.=.logb;...}....return.Math.lo
33440 67 31 70 28 4d 61 74 68 2e 65 78 70 28 64 69 66 66 65 72 65 6e 63 65 29 29 20 2b 20 6d 61 78 4c g1p(Math.exp(difference)).+.maxL
33460 6f 67 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 43 6f 6d 70 75 74 65 73 20 6c 6f 67 28 65 78 og;..}.../**...*.Computes.log(ex
33480 70 28 61 72 72 61 79 5b 69 6e 64 65 78 5d 29 20 2b 20 62 29 2c 20 61 6e 64 0a 09 20 2a 20 6d 6f p(array[index]).+.b),.and...*.mo
334a0 64 69 66 69 65 73 20 61 72 72 61 79 5b 69 6e 64 65 78 5d 20 74 6f 20 63 6f 6e 74 61 69 6e 20 74 difies.array[index].to.contain.t
334c0 68 69 73 20 6e 65 77 20 76 61 6c 75 65 2e 0a 09 20 2a 20 0a 09 20 2a 20 40 70 61 72 61 6d 20 61 his.new.value....*....*.@param.a
334e0 72 72 61 79 20 61 72 72 61 79 20 74 6f 20 6d 6f 64 69 66 79 0a 09 20 2a 20 40 70 61 72 61 6d 20 rray.array.to.modify...*.@param.
33500 69 6e 64 65 78 20 69 6e 64 65 78 20 61 74 20 77 68 69 63 68 20 74 6f 20 6d 6f 64 69 66 79 0a 09 index.index.at.which.to.modify..
33520 20 2a 20 40 70 61 72 61 6d 20 6c 6f 67 62 20 20 6c 6f 67 20 6f 66 20 74 68 65 20 73 65 63 6f 6e .*.@param.logb..log.of.the.secon
33540 64 20 73 75 6d 20 74 65 72 6d 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 d.sum.term...*/..public.static.v
33560 6f 69 64 20 73 75 6d 28 64 6f 75 62 6c 65 5b 5d 20 61 72 72 61 79 2c 20 69 6e 74 20 69 6e 64 65 oid.sum(double[].array,.int.inde
33580 78 2c 20 64 6f 75 62 6c 65 20 6c 6f 67 62 29 20 7b 0a 09 09 61 72 72 61 79 5b 69 6e 64 65 78 5d x,.double.logb).{...array[index]
335a0 20 3d 20 73 75 6d 28 61 72 72 61 79 5b 69 6e 64 65 78 5d 2c 20 6c 6f 67 62 29 3b 0a 09 7d 0a 09 .=.sum(array[index],.logb);..}..
335c0 0a 09 2f 2a 2a 0a 09 20 2a 20 43 6f 6d 70 75 74 65 73 20 6c 6f 67 28 61 20 2b 20 62 20 2b 20 63 ../**...*.Computes.log(a.+.b.+.c
335e0 20 2b 20 2e 2e 2e 29 20 66 72 6f 6d 20 6c 6f 67 28 61 29 2c 20 6c 6f 67 28 62 29 2c 20 6c 6f 67 .+....).from.log(a),.log(b),.log
33600 28 63 29 2c 20 2e 2e 2e 0a 09 20 2a 20 62 79 20 72 65 63 75 72 73 69 76 65 6c 79 20 73 70 6c 69 (c),.......*.by.recursively.spli
33620 74 74 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 61 6e 64 20 64 65 6c 65 67 61 74 69 6e 67 20 74 tting.the.input.and.delegating.t
33640 6f 20 74 68 65 20 73 75 6d 20 6d 65 74 68 6f 64 2e 0a 09 20 2a 20 0a 09 20 2a 20 40 70 61 72 61 o.the.sum.method....*....*.@para
33660 6d 20 20 74 65 72 6d 73 20 61 6e 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 m..terms.an.array.containing.the
33680 20 6c 6f 67 20 6f 66 20 61 6c 6c 20 74 68 65 20 74 65 72 6d 73 20 66 6f 72 20 74 68 65 20 73 75 .log.of.all.the.terms.for.the.su
336a0 6d 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 6c 6f 67 28 73 75 6d 29 2c 20 77 68 65 72 65 20 73 75 m...*.@return.log(sum),.where.su
336c0 6d 20 3d 20 65 78 70 28 74 65 72 6d 73 5b 30 5d 29 20 2b 20 65 78 70 28 74 65 72 6d 73 5b 31 5d m.=.exp(terms[0]).+.exp(terms[1]
336e0 29 20 2b 20 2e 2e 2e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 ).+.......*/..public.static.doub
33700 6c 65 20 73 75 6d 41 6c 6c 28 64 6f 75 62 6c 65 2e 2e 2e 20 74 65 72 6d 73 29 20 7b 0a 09 09 72 le.sumAll(double....terms).{...r
33720 65 74 75 72 6e 20 73 75 6d 41 6c 6c 48 65 6c 70 65 72 28 74 65 72 6d 73 2c 20 30 2c 20 74 65 72 eturn.sumAllHelper(terms,.0,.ter
33740 6d 73 2e 6c 65 6e 67 74 68 29 3b 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a 20 43 6f 6d 70 75 74 ms.length);..}..../**...*.Comput
33760 65 73 20 6c 6f 67 28 61 5f 30 20 2b 20 61 5f 31 20 2b 20 2e 2e 2e 29 20 66 72 6f 6d 20 61 5f 30 es.log(a_0.+.a_1.+....).from.a_0
33780 20 3d 20 65 78 70 28 74 65 72 6d 73 5b 62 65 67 69 6e 5d 29 2c 0a 09 20 2a 20 61 5f 31 20 3d 20 .=.exp(terms[begin]),...*.a_1.=.
337a0 65 78 70 28 74 65 72 6d 73 5b 62 65 67 69 6e 20 2b 20 31 5d 29 2c 20 2e 2e 2e 2c 20 61 5f 7b 65 exp(terms[begin.+.1]),....,.a_{e
337c0 6e 64 20 2d 20 31 20 2d 20 62 65 67 69 6e 7d 20 3d 20 65 78 70 28 74 65 72 6d 73 5b 65 6e 64 20 nd.-.1.-.begin}.=.exp(terms[end.
337e0 2d 20 31 5d 29 2e 0a 09 20 2a 20 0a 09 20 2a 20 40 70 61 72 61 6d 20 20 74 65 72 6d 73 20 61 6e -.1])....*....*.@param..terms.an
33800 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6c 6f 67 20 6f 66 20 61 6c 6c .array.containing.the.log.of.all
33820 20 74 68 65 20 74 65 72 6d 73 20 66 6f 72 20 74 68 65 20 73 75 6d 2c 0a 09 20 2a 20 20 20 20 20 .the.terms.for.the.sum,...*.....
33840 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 73 6f 6d 65 20 6f 74 68 65 ..........and.possibly.some.othe
33860 72 20 74 65 72 6d 73 20 74 68 61 74 20 77 69 6c 6c 20 6e 6f 74 20 67 6f 20 69 6e 74 6f 20 74 68 r.terms.that.will.not.go.into.th
33880 65 20 73 75 6d 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 6c 6f 67 20 6f 66 20 74 68 65 20 73 75 6d e.sum...*.@return.log.of.the.sum
338a0 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 5b 62 65 67 69 6e 2c 20 .of.the.elements.in.the.[begin,.
338c0 65 6e 64 29 20 72 65 67 69 6f 6e 20 6f 66 20 74 68 65 20 74 65 72 6d 73 20 61 72 72 61 79 0a 09 end).region.of.the.terms.array..
338e0 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 73 75 6d 41 6c .*/..private.static.double.sumAl
33900 6c 48 65 6c 70 65 72 28 66 69 6e 61 6c 20 64 6f 75 62 6c 65 5b 5d 20 74 65 72 6d 73 2c 20 66 69 lHelper(final.double[].terms,.fi
33920 6e 61 6c 20 69 6e 74 20 62 65 67 69 6e 2c 20 66 69 6e 61 6c 20 69 6e 74 20 65 6e 64 29 20 7b 0a nal.int.begin,.final.int.end).{.
33940 09 09 69 6e 74 20 6c 65 6e 67 74 68 20 3d 20 65 6e 64 20 2d 20 62 65 67 69 6e 3b 0a 09 09 73 77 ..int.length.=.end.-.begin;...sw
33960 69 74 63 68 28 6c 65 6e 67 74 68 29 20 7b 0a 09 09 09 63 61 73 65 20 30 3a 20 72 65 74 75 72 6e itch(length).{....case.0:.return
33980 20 44 6f 75 62 6c 65 2e 4e 45 47 41 54 49 56 45 5f 49 4e 46 49 4e 49 54 59 3b 0a 09 09 09 63 61 .Double.NEGATIVE_INFINITY;....ca
339a0 73 65 20 31 3a 20 72 65 74 75 72 6e 20 74 65 72 6d 73 5b 62 65 67 69 6e 5d 3b 0a 09 09 09 64 65 se.1:.return.terms[begin];....de
339c0 66 61 75 6c 74 3a 0a 09 09 09 09 69 6e 74 20 6d 69 64 49 6e 64 65 78 20 3d 20 62 65 67 69 6e 20 fault:.....int.midIndex.=.begin.
339e0 2b 20 6c 65 6e 67 74 68 2f 32 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 73 75 6d 28 73 75 6d 41 6c +.length/2;.....return.sum(sumAl
33a00 6c 48 65 6c 70 65 72 28 74 65 72 6d 73 2c 20 62 65 67 69 6e 2c 20 6d 69 64 49 6e 64 65 78 29 2c lHelper(terms,.begin,.midIndex),
33a20 20 73 75 6d 41 6c 6c 48 65 6c 70 65 72 28 74 65 72 6d 73 2c 20 6d 69 64 49 6e 64 65 78 2c 20 65 .sumAllHelper(terms,.midIndex,.e
33a40 6e 64 29 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 7d 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 3f 0b 61 nd));...}..}..}PK.........Y.<?.a
33a60 70 7c 03 00 00 7c 03 00 00 22 00 00 00 75 74 69 6c 2f 53 6f 72 74 65 72 73 24 73 6f 72 74 57 6f p|...|..."...util/Sorters$sortWo
33a80 72 64 73 43 6f 75 6e 74 73 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 2d 07 00 02 01 00 1c 75 rdsCounts.class.......2.-......u
33aa0 74 69 6c 2f 53 6f 72 74 65 72 73 24 73 6f 72 74 57 6f 72 64 73 43 6f 75 6e 74 73 07 00 04 01 00 til/Sorters$sortWordsCounts.....
33ac0 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 06 01 00 14 6a 61 76 61 2f 75 74 69 6c .java/lang/Object......java/util
33ae0 2f 43 6f 6d 70 61 72 61 74 6f 72 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 /Comparator...<init>...()V...Cod
33b00 65 0a 00 03 00 0b 0c 00 07 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 e.............LineNumberTable...
33b20 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 1e 4c 75 74 69 LocalVariableTable...this...Luti
33b40 6c 2f 53 6f 72 74 65 72 73 24 73 6f 72 74 57 6f 72 64 73 43 6f 75 6e 74 73 3b 01 00 07 63 6f 6d l/Sorters$sortWordsCounts;...com
33b60 70 61 72 65 01 00 27 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 4c 6a 61 76 61 2f pare..'(Ljava/lang/Object;Ljava/
33b80 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 49 07 00 13 01 00 09 75 74 69 6c 2f 50 61 69 72 0a 00 12 lang/Object;)I......util/Pair...
33ba0 00 15 0c 00 16 00 17 01 00 06 73 65 63 6f 6e 64 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f ..........second...()Ljava/lang/
33bc0 4f 62 6a 65 63 74 3b 07 00 19 01 00 11 6a 61 76 61 2f 6c 61 6e 67 2f 49 6e 74 65 67 65 72 0a 00 Object;......java/lang/Integer..
33be0 18 00 1b 0c 00 1c 00 1d 01 00 08 69 6e 74 56 61 6c 75 65 01 00 03 28 29 49 01 00 04 61 72 67 30 ...........intValue...()I...arg0
33c00 01 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 01 00 04 61 72 67 31 01 00 02 70 ...Ljava/lang/Object;...arg1...p
33c20 31 01 00 0b 4c 75 74 69 6c 2f 50 61 69 72 3b 01 00 02 70 32 01 00 16 4c 6f 63 61 6c 56 61 72 69 1...Lutil/Pair;...p2...LocalVari
33c40 61 62 6c 65 54 79 70 65 54 61 62 6c 65 01 00 33 4c 75 74 69 6c 2f 50 61 69 72 3c 4c 6a 61 76 61 ableTypeTable..3Lutil/Pair<Ljava
33c60 2f 6c 61 6e 67 2f 49 6e 74 65 67 65 72 3b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 49 6e 74 65 67 65 72 /lang/Integer;Ljava/lang/Integer
33c80 3b 3e 3b 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 ;>;...StackMapTable...SourceFile
33ca0 01 00 0c 53 6f 72 74 65 72 73 2e 6a 61 76 61 01 00 0c 49 6e 6e 65 72 43 6c 61 73 73 65 73 07 00 ...Sorters.java...InnerClasses..
33cc0 2b 01 00 0c 75 74 69 6c 2f 53 6f 72 74 65 72 73 01 00 0f 73 6f 72 74 57 6f 72 64 73 43 6f 75 6e +...util/Sorters...sortWordsCoun
33ce0 74 73 00 21 00 01 00 03 00 01 00 05 00 00 00 02 00 01 00 07 00 08 00 01 00 09 00 00 00 2f 00 01 ts.!........................./..
33d00 00 01 00 00 00 05 2a b7 00 0a b1 00 00 00 02 00 0c 00 00 00 06 00 01 00 00 00 06 00 0d 00 00 00 ......*.........................
33d20 0c 00 01 00 00 00 05 00 0e 00 0f 00 00 00 01 00 10 00 11 00 01 00 09 00 00 00 b6 00 02 00 05 00 ................................
33d40 00 00 27 2b c0 00 12 4e 2c c0 00 12 3a 04 2d b6 00 14 c0 00 18 b6 00 1a 19 04 b6 00 14 c0 00 18 ..'+...N,...:.-.................
33d60 b6 00 1a a4 00 05 04 ac 02 ac 00 00 00 04 00 0c 00 00 00 16 00 05 00 00 00 0c 00 05 00 0d 00 0b ................................
33d80 00 0e 00 23 00 0f 00 25 00 11 00 0d 00 00 00 34 00 05 00 00 00 27 00 0e 00 0f 00 00 00 00 00 27 ...#...%.......4.....'.........'
33da0 00 1e 00 1f 00 01 00 00 00 27 00 20 00 1f 00 02 00 05 00 22 00 21 00 22 00 03 00 0b 00 1c 00 23 .........'.........".!.".......#
33dc0 00 22 00 04 00 24 00 00 00 16 00 02 00 05 00 22 00 21 00 25 00 03 00 0b 00 1c 00 23 00 25 00 04 ."...$.........".!.%.......#.%..
33de0 00 26 00 00 00 0b 00 01 fd 00 25 07 00 12 07 00 12 00 02 00 27 00 00 00 02 00 28 00 29 00 00 00 .&........%.........'.....(.)...
33e00 0a 00 01 00 01 00 2a 00 2c 00 09 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c fc 0f c2 12 7e 03 00 ......*.,..PK.........Y.<....~..
33e20 00 7e 03 00 00 22 00 00 00 75 74 69 6c 2f 53 6f 72 74 65 72 73 24 73 6f 72 74 57 6f 72 64 73 44 .~..."...util/Sorters$sortWordsD
33e40 6f 75 62 6c 65 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 2d 07 00 02 01 00 1c 75 74 69 6c 2f ouble.class.......2.-......util/
33e60 53 6f 72 74 65 72 73 24 73 6f 72 74 57 6f 72 64 73 44 6f 75 62 6c 65 07 00 04 01 00 10 6a 61 76 Sorters$sortWordsDouble......jav
33e80 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 07 00 06 01 00 14 6a 61 76 61 2f 75 74 69 6c 2f 43 6f 6d a/lang/Object......java/util/Com
33ea0 70 61 72 61 74 6f 72 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 parator...<init>...()V...Code...
33ec0 00 0b 0c 00 07 00 08 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 ..........LineNumberTable...Loca
33ee0 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 1e 4c 75 74 69 6c 2f 53 6f lVariableTable...this...Lutil/So
33f00 72 74 65 72 73 24 73 6f 72 74 57 6f 72 64 73 44 6f 75 62 6c 65 3b 01 00 07 63 6f 6d 70 61 72 65 rters$sortWordsDouble;...compare
33f20 01 00 27 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 4c 6a 61 76 61 2f 6c 61 6e 67 ..'(Ljava/lang/Object;Ljava/lang
33f40 2f 4f 62 6a 65 63 74 3b 29 49 07 00 13 01 00 09 75 74 69 6c 2f 50 61 69 72 0a 00 12 00 15 0c 00 /Object;)I......util/Pair.......
33f60 16 00 17 01 00 06 73 65 63 6f 6e 64 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 ......second...()Ljava/lang/Obje
33f80 63 74 3b 07 00 19 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 0a 00 18 00 1b 0c 00 ct;......java/lang/Double.......
33fa0 1c 00 1d 01 00 0b 64 6f 75 62 6c 65 56 61 6c 75 65 01 00 03 28 29 44 01 00 04 61 72 67 30 01 00 ......doubleValue...()D...arg0..
33fc0 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 01 00 04 61 72 67 31 01 00 02 70 31 01 .Ljava/lang/Object;...arg1...p1.
33fe0 00 0b 4c 75 74 69 6c 2f 50 61 69 72 3b 01 00 02 70 32 01 00 16 4c 6f 63 61 6c 56 61 72 69 61 62 ..Lutil/Pair;...p2...LocalVariab
34000 6c 65 54 79 70 65 54 61 62 6c 65 01 00 32 4c 75 74 69 6c 2f 50 61 69 72 3c 4c 6a 61 76 61 2f 6c leTypeTable..2Lutil/Pair<Ljava/l
34020 61 6e 67 2f 49 6e 74 65 67 65 72 3b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 3b 3e 3b ang/Integer;Ljava/lang/Double;>;
34040 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0c ...StackMapTable...SourceFile...
34060 53 6f 72 74 65 72 73 2e 6a 61 76 61 01 00 0c 49 6e 6e 65 72 43 6c 61 73 73 65 73 07 00 2b 01 00 Sorters.java...InnerClasses..+..
34080 0c 75 74 69 6c 2f 53 6f 72 74 65 72 73 01 00 0f 73 6f 72 74 57 6f 72 64 73 44 6f 75 62 6c 65 00 .util/Sorters...sortWordsDouble.
340a0 21 00 01 00 03 00 01 00 05 00 00 00 02 00 01 00 07 00 08 00 01 00 09 00 00 00 2f 00 01 00 01 00 !........................./.....
340c0 00 00 05 2a b7 00 0a b1 00 00 00 02 00 0c 00 00 00 06 00 01 00 00 00 17 00 0d 00 00 00 0c 00 01 ...*............................
340e0 00 00 00 05 00 0e 00 0f 00 00 00 01 00 10 00 11 00 01 00 09 00 00 00 b7 00 04 00 05 00 00 00 28 ...............................(
34100 2b c0 00 12 4e 2c c0 00 12 3a 04 2d b6 00 14 c0 00 18 b6 00 1a 19 04 b6 00 14 c0 00 18 b6 00 1a +...N,...:.-....................
34120 98 9c 00 05 04 ac 02 ac 00 00 00 04 00 0c 00 00 00 16 00 05 00 00 00 1d 00 05 00 1e 00 0b 00 1f ................................
34140 00 24 00 20 00 26 00 22 00 0d 00 00 00 34 00 05 00 00 00 28 00 0e 00 0f 00 00 00 00 00 28 00 1e .$...&.".....4.....(.........(..
34160 00 1f 00 01 00 00 00 28 00 20 00 1f 00 02 00 05 00 23 00 21 00 22 00 03 00 0b 00 1d 00 23 00 22 .......(.........#.!.".......#."
34180 00 04 00 24 00 00 00 16 00 02 00 05 00 23 00 21 00 25 00 03 00 0b 00 1d 00 23 00 25 00 04 00 26 ...$.........#.!.%.......#.%...&
341a0 00 00 00 0b 00 01 fd 00 26 07 00 12 07 00 12 00 02 00 27 00 00 00 02 00 28 00 29 00 00 00 0a 00 ........&.........'.....(.).....
341c0 01 00 01 00 2a 00 2c 00 09 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 02 c9 f1 93 8f 01 00 00 8f ....*.,..PK.........Y.<.........
341e0 01 00 00 12 00 00 00 75 74 69 6c 2f 53 6f 72 74 65 72 73 2e 63 6c 61 73 73 ca fe ba be 00 00 00 .......util/Sorters.class.......
34200 32 00 17 07 00 02 01 00 0c 75 74 69 6c 2f 53 6f 72 74 65 72 73 07 00 04 01 00 10 6a 61 76 61 2f 2........util/Sorters......java/
34220 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 lang/Object...<init>...()V...Cod
34240 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 e.............LineNumberTable...
34260 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 0e 4c 75 74 69 LocalVariableTable...this...Luti
34280 6c 2f 53 6f 72 74 65 72 73 3b 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0c 53 6f 72 74 65 72 l/Sorters;...SourceFile...Sorter
342a0 73 2e 6a 61 76 61 01 00 0c 49 6e 6e 65 72 43 6c 61 73 73 65 73 07 00 12 01 00 1c 75 74 69 6c 2f s.java...InnerClasses......util/
342c0 53 6f 72 74 65 72 73 24 73 6f 72 74 57 6f 72 64 73 43 6f 75 6e 74 73 01 00 0f 73 6f 72 74 57 6f Sorters$sortWordsCounts...sortWo
342e0 72 64 73 43 6f 75 6e 74 73 07 00 15 01 00 1c 75 74 69 6c 2f 53 6f 72 74 65 72 73 24 73 6f 72 74 rdsCounts......util/Sorters$sort
34300 57 6f 72 64 73 44 6f 75 62 6c 65 01 00 0f 73 6f 72 74 57 6f 72 64 73 44 6f 75 62 6c 65 00 21 00 WordsDouble...sortWordsDouble.!.
34320 01 00 03 00 00 00 00 00 01 00 01 00 05 00 06 00 01 00 07 00 00 00 2f 00 01 00 01 00 00 00 05 2a ....................../........*
34340 b7 00 08 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 00 05 00 0b 00 00 00 0c 00 01 00 00 00 05 ................................
34360 00 0c 00 0d 00 00 00 02 00 0e 00 00 00 02 00 0f 00 10 00 00 00 12 00 02 00 11 00 01 00 13 00 09 ................................
34380 00 14 00 01 00 16 00 09 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c d0 92 ee fb 55 03 00 00 55 03 ........PK.........i.<....U...U.
343a0 00 00 11 00 00 00 75 74 69 6c 2f 53 6f 72 74 65 72 73 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 ......util/Sorters.javapackage.u
343c0 74 69 6c 3b 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 43 6f 6d 70 61 72 61 74 6f til;..import.java.util.Comparato
343e0 72 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 53 6f 72 74 65 72 73 20 7b 0a 09 70 75 62 6c r;..public.class.Sorters.{..publ
34400 69 63 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 73 6f 72 74 57 6f 72 64 73 43 6f 75 6e 74 73 20 ic.static.class.sortWordsCounts.
34420 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6d 70 61 72 61 74 6f 72 7b 0a 09 09 0a 09 09 2f 2a 2a 0a implements.Comparator{....../**.
34440 09 09 20 2a 20 53 6f 72 74 65 72 20 66 6f 72 20 61 20 70 61 69 72 20 6f 66 20 77 6f 72 64 20 69 ...*.Sorter.for.a.pair.of.word.i
34460 64 2c 20 63 6f 75 6e 74 73 2e 20 53 6f 72 74 20 61 73 63 65 6e 64 69 6e 67 20 62 79 20 63 6f 75 d,.counts..Sort.ascending.by.cou
34480 6e 74 73 0a 09 09 20 2a 2f 0a 09 09 70 75 62 6c 69 63 20 69 6e 74 20 63 6f 6d 70 61 72 65 28 4f nts....*/...public.int.compare(O
344a0 62 6a 65 63 74 20 61 72 67 30 2c 20 4f 62 6a 65 63 74 20 61 72 67 31 29 20 7b 0a 09 09 09 50 61 bject.arg0,.Object.arg1).{....Pa
344c0 69 72 3c 49 6e 74 65 67 65 72 2c 49 6e 74 65 67 65 72 3e 20 70 31 20 3d 20 28 50 61 69 72 3c 49 ir<Integer,Integer>.p1.=.(Pair<I
344e0 6e 74 65 67 65 72 2c 49 6e 74 65 67 65 72 3e 29 61 72 67 30 3b 0a 09 09 09 50 61 69 72 3c 49 6e nteger,Integer>)arg0;....Pair<In
34500 74 65 67 65 72 2c 49 6e 74 65 67 65 72 3e 20 70 32 20 3d 20 28 50 61 69 72 3c 49 6e 74 65 67 65 teger,Integer>.p2.=.(Pair<Intege
34520 72 2c 49 6e 74 65 67 65 72 3e 29 61 72 67 31 3b 0a 09 09 09 69 66 28 70 31 2e 73 65 63 6f 6e 64 r,Integer>)arg1;....if(p1.second
34540 28 29 20 3e 20 70 32 2e 73 65 63 6f 6e 64 28 29 29 7b 0a 09 09 09 09 72 65 74 75 72 6e 20 31 3b ().>.p2.second()){.....return.1;
34560 0a 09 09 09 7d 65 6c 73 65 7b 0a 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 09 09 09 7d 0a 09 ....}else{.....return.-1;....}..
34580 09 7d 0a 09 09 0a 09 7d 0a 09 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 73 .}.....}...public.static.class.s
345a0 6f 72 74 57 6f 72 64 73 44 6f 75 62 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6d 70 61 72 ortWordsDouble.implements.Compar
345c0 61 74 6f 72 7b 0a 09 09 0a 09 09 2f 2a 2a 0a 09 09 20 2a 20 53 6f 72 74 65 72 20 66 6f 72 20 61 ator{....../**....*.Sorter.for.a
345e0 20 70 61 69 72 20 6f 66 20 77 6f 72 64 20 69 64 2c 20 63 6f 75 6e 74 73 2e 20 53 6f 72 74 20 62 .pair.of.word.id,.counts..Sort.b
34600 79 20 63 6f 75 6e 74 73 0a 09 09 20 2a 2f 0a 09 09 70 75 62 6c 69 63 20 69 6e 74 20 63 6f 6d 70 y.counts....*/...public.int.comp
34620 61 72 65 28 4f 62 6a 65 63 74 20 61 72 67 30 2c 20 4f 62 6a 65 63 74 20 61 72 67 31 29 20 7b 0a are(Object.arg0,.Object.arg1).{.
34640 09 09 09 50 61 69 72 3c 49 6e 74 65 67 65 72 2c 44 6f 75 62 6c 65 3e 20 70 31 20 3d 20 28 50 61 ...Pair<Integer,Double>.p1.=.(Pa
34660 69 72 3c 49 6e 74 65 67 65 72 2c 44 6f 75 62 6c 65 3e 29 61 72 67 30 3b 0a 09 09 09 50 61 69 72 ir<Integer,Double>)arg0;....Pair
34680 3c 49 6e 74 65 67 65 72 2c 44 6f 75 62 6c 65 3e 20 70 32 20 3d 20 28 50 61 69 72 3c 49 6e 74 65 <Integer,Double>.p2.=.(Pair<Inte
346a0 67 65 72 2c 44 6f 75 62 6c 65 3e 29 61 72 67 31 3b 0a 09 09 09 69 66 28 70 31 2e 73 65 63 6f 6e ger,Double>)arg1;....if(p1.secon
346c0 64 28 29 20 3c 20 70 32 2e 73 65 63 6f 6e 64 28 29 29 7b 0a 09 09 09 09 72 65 74 75 72 6e 20 31 d().<.p2.second()){.....return.1
346e0 3b 0a 09 09 09 7d 65 6c 73 65 7b 0a 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 09 09 09 7d 0a ;....}else{.....return.-1;....}.
34700 09 09 7d 0a 09 09 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c 3a a8 6a 58 5b 03 ..}.....}.}.PK.........Y.<:.jX[.
34720 00 00 5b 03 00 00 1a 00 00 00 75 74 69 6c 2f 44 69 67 61 6d 6d 61 46 75 6e 63 74 69 6f 6e 2e 63 ..[.......util/DigammaFunction.c
34740 6c 61 73 73 ca fe ba be 00 00 00 32 00 3c 07 00 02 01 00 14 75 74 69 6c 2f 44 69 67 61 6d 6d 61 lass.......2.<......util/Digamma
34760 46 75 6e 63 74 69 6f 6e 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 Function......java/lang/Object..
34780 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 .<init>...()V...Code............
347a0 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 .LineNumberTable...LocalVariable
347c0 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 16 4c 75 74 69 6c 2f 44 69 67 61 6d 6d 61 46 75 6e 63 Table...this...Lutil/DigammaFunc
347e0 74 69 6f 6e 3b 01 00 0a 65 78 70 44 69 67 61 6d 6d 61 01 00 04 28 44 29 44 0a 00 01 00 11 0c 00 tion;...expDigamma...(D)D.......
34800 12 00 0f 01 00 07 64 69 67 61 6d 6d 61 0a 00 14 00 16 07 00 15 01 00 0e 6a 61 76 61 2f 6c 61 6e ......digamma...........java/lan
34820 67 2f 4d 61 74 68 0c 00 17 00 0f 01 00 03 65 78 70 01 00 06 6e 75 6d 62 65 72 01 00 01 44 01 00 g/Math........exp...number...D..
34840 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 06 40 1c 00 00 00 00 00 00 06 3f e0 00 00 00 00 00 00 .StackMapTable.@........?.......
34860 0a 00 01 00 20 0c 00 21 00 0f 01 00 0c 64 69 67 61 6d 6d 41 70 70 72 6f 78 0a 00 14 00 23 0c 00 .......!.....digammApprox....#..
34880 24 00 0f 01 00 03 6c 6f 67 06 3f a5 55 c5 2e 72 da 12 06 c0 00 00 00 00 00 00 00 0a 00 14 00 2a $.....log.?.U..r...............*
348a0 0c 00 2b 00 2c 01 00 03 70 6f 77 01 00 05 28 44 44 29 44 06 3f 7d dc 1e 79 67 ca ea 06 c0 10 00 ..+.,...pow...(DD)D.?}..yg......
348c0 00 00 00 00 00 06 3f 6f 75 10 4d 55 1d 69 06 c0 18 00 00 00 00 00 00 06 3f 70 ea 9e 6e eb 70 26 ......?ou.MU.i..........?p..n.p&
348e0 06 c0 20 00 00 00 00 00 00 01 00 05 76 61 6c 75 65 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 ............value...SourceFile..
34900 14 44 69 67 61 6d 6d 61 46 75 6e 63 74 69 6f 6e 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 .DigammaFunction.java.!.........
34920 04 00 01 00 05 00 06 00 01 00 07 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 08 b1 00 00 00 02 ............../........*........
34940 00 0a 00 00 00 06 00 01 00 00 00 03 00 0b 00 00 00 0c 00 01 00 00 00 05 00 0c 00 0d 00 00 00 09 ................................
34960 00 0e 00 0f 00 01 00 07 00 00 00 47 00 04 00 02 00 00 00 10 26 0e 97 9a 00 05 26 af 26 b8 00 10 ...........G........&.....&.&...
34980 b8 00 13 af 00 00 00 03 00 0a 00 00 00 0a 00 02 00 00 00 05 00 08 00 06 00 0b 00 00 00 0c 00 01 ................................
349a0 00 00 00 10 00 18 00 19 00 00 00 1a 00 00 00 03 00 01 08 00 09 00 12 00 0f 00 01 00 07 00 00 00 ................................
349c0 57 00 06 00 02 00 00 00 1c 26 14 00 1b 97 9e 00 0c 26 14 00 1d 67 b8 00 1f af 26 0f 63 b8 00 10 W........&.......&...g....&.c...
349e0 0f 26 6f 67 af 00 00 00 03 00 0a 00 00 00 0e 00 03 00 00 00 0a 00 08 00 0b 00 11 00 0d 00 0b 00 .&og............................
34a00 00 00 0c 00 01 00 00 00 1c 00 18 00 19 00 00 00 1a 00 00 00 03 00 01 11 00 0a 00 21 00 0f 00 01 ...........................!....
34a20 00 07 00 00 00 6f 00 08 00 02 00 00 00 35 26 b8 00 22 14 00 25 26 14 00 27 b8 00 29 6b 63 14 00 .....o.......5&.."..%&..'..)kc..
34a40 2d 26 14 00 2f b8 00 29 6b 67 14 00 31 26 14 00 33 b8 00 29 6b 63 14 00 35 26 14 00 37 b8 00 29 -&../..)kg..1&..3..)kc..5&..7..)
34a60 6b 67 af 00 00 00 02 00 0a 00 00 00 16 00 05 00 00 00 12 00 1c 00 13 00 27 00 12 00 28 00 13 00 kg......................'...(...
34a80 33 00 12 00 0b 00 00 00 0c 00 01 00 00 00 35 00 39 00 19 00 00 00 01 00 3a 00 00 00 02 00 3b 50 3.............5.9.......:.....;P
34aa0 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c d8 b5 0d 3d 14 02 00 00 14 02 00 00 19 00 00 00 75 74 69 K.........i.<...=............uti
34ac0 6c 2f 44 69 67 61 6d 6d 61 46 75 6e 63 74 69 6f 6e 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 74 l/DigammaFunction.javapackage.ut
34ae0 69 6c 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 44 69 67 61 6d 6d 61 46 75 6e 63 74 69 6f il;..public.class.DigammaFunctio
34b00 6e 20 7b 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 65 78 70 44 69 67 n.{..public.static.double.expDig
34b20 61 6d 6d 61 28 64 6f 75 62 6c 65 20 6e 75 6d 62 65 72 29 7b 0a 09 09 69 66 28 6e 75 6d 62 65 72 amma(double.number){...if(number
34b40 3d 3d 30 29 72 65 74 75 72 6e 20 6e 75 6d 62 65 72 3b 0a 09 09 72 65 74 75 72 6e 20 4d 61 74 68 ==0)return.number;...return.Math
34b60 2e 65 78 70 28 64 69 67 61 6d 6d 61 28 6e 75 6d 62 65 72 29 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 .exp(digamma(number));..}....pub
34b80 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 64 69 67 61 6d 6d 61 28 64 6f 75 62 6c 65 lic.static.double.digamma(double
34ba0 20 6e 75 6d 62 65 72 29 7b 0a 09 09 69 66 28 6e 75 6d 62 65 72 20 3e 20 37 29 7b 0a 09 09 09 72 .number){...if(number.>.7){....r
34bc0 65 74 75 72 6e 20 64 69 67 61 6d 6d 41 70 70 72 6f 78 28 6e 75 6d 62 65 72 2d 30 2e 35 29 3b 0a eturn.digammApprox(number-0.5);.
34be0 09 09 7d 65 6c 73 65 7b 0a 09 09 09 72 65 74 75 72 6e 20 64 69 67 61 6d 6d 61 28 6e 75 6d 62 65 ..}else{....return.digamma(numbe
34c00 72 2b 31 29 20 2d 20 31 2e 30 2f 6e 75 6d 62 65 72 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 72 69 r+1).-.1.0/number;...}..}....pri
34c20 76 61 74 65 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 64 69 67 61 6d 6d 41 70 70 72 6f 78 28 vate.static.double.digammApprox(
34c40 64 6f 75 62 6c 65 20 76 61 6c 75 65 29 7b 0a 09 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 6c 6f 67 double.value){...return.Math.log
34c60 28 76 61 6c 75 65 29 20 2b 20 30 2e 30 34 31 36 37 2a 4d 61 74 68 2e 70 6f 77 28 76 61 6c 75 65 (value).+.0.04167*Math.pow(value
34c80 2c 20 2d 32 29 20 2d 20 30 2e 30 30 37 32 39 2a 4d 61 74 68 2e 70 6f 77 28 76 61 6c 75 65 2c 20 ,.-2).-.0.00729*Math.pow(value,.
34ca0 2d 34 29 20 0a 09 09 2b 20 20 30 2e 30 30 33 38 34 2a 4d 61 74 68 2e 70 6f 77 28 76 61 6c 75 65 -4)....+..0.00384*Math.pow(value
34cc0 2c 20 2d 36 29 20 2d 20 30 2e 30 30 34 31 33 2a 4d 61 74 68 2e 70 6f 77 28 76 61 6c 75 65 2c 20 ,.-6).-.0.00413*Math.pow(value,.
34ce0 2d 38 29 3b 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c f6 30 95 7a 91 01 00 00 -8);..}.}.PK.........Y.<.0.z....
34d00 91 01 00 00 11 00 00 00 75 74 69 6c 2f 4d 61 74 72 69 78 2e 63 6c 61 73 73 ca fe ba be 00 00 00 ........util/Matrix.class.......
34d20 32 00 1d 07 00 02 01 00 0b 75 74 69 6c 2f 4d 61 74 72 69 78 07 00 04 01 00 10 6a 61 76 61 2f 6c 2........util/Matrix......java/l
34d40 61 6e 67 2f 4f 62 6a 65 63 74 01 00 01 78 01 00 01 49 01 00 01 79 01 00 06 76 61 6c 75 65 73 01 ang/Object...x...I...y...values.
34d60 00 03 5b 5b 44 01 00 06 3c 69 6e 69 74 3e 01 00 05 28 49 49 29 56 01 00 04 43 6f 64 65 0a 00 03 ..[[D...<init>...(II)V...Code...
34d80 00 0e 0c 00 0a 00 0f 01 00 03 28 29 56 09 00 01 00 11 0c 00 05 00 06 09 00 01 00 13 0c 00 07 00 ..........()V...................
34da0 06 07 00 09 09 00 01 00 16 0c 00 08 00 09 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 .................LineNumberTable
34dc0 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 0d 4c ...LocalVariableTable...this...L
34de0 75 74 69 6c 2f 4d 61 74 72 69 78 3b 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0b 4d 61 74 72 util/Matrix;...SourceFile...Matr
34e00 69 78 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 03 00 00 00 05 00 06 00 00 00 00 00 07 00 06 00 ix.java.!.......................
34e20 00 00 00 00 08 00 09 00 00 00 01 00 01 00 0a 00 0b 00 01 00 0c 00 00 00 67 00 03 00 03 00 00 00 ........................g.......
34e40 19 2a b7 00 0d 2a 1b b5 00 10 2a 1c b5 00 12 2a 1b 1c c5 00 14 02 b5 00 15 b1 00 00 00 02 00 17 .*...*....*....*................
34e60 00 00 00 16 00 05 00 00 00 08 00 04 00 09 00 09 00 0a 00 0e 00 0b 00 18 00 0c 00 18 00 00 00 20 ................................
34e80 00 03 00 00 00 19 00 19 00 1a 00 00 00 00 00 19 00 05 00 06 00 01 00 00 00 19 00 07 00 06 00 02 ................................
34ea0 00 01 00 1b 00 00 00 02 00 1c 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 78 ae df a5 ab 00 00 00 ..........PK.........i.<x.......
34ec0 ab 00 00 00 10 00 00 00 75 74 69 6c 2f 4d 61 74 72 69 78 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 ........util/Matrix.javapackage.
34ee0 75 74 69 6c 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 4d 61 74 72 69 78 20 7b 0a 09 69 6e util;..public.class.Matrix.{..in
34f00 74 20 78 3b 0a 09 69 6e 74 20 79 3b 0a 09 64 6f 75 62 6c 65 5b 5d 5b 5d 20 76 61 6c 75 65 73 3b t.x;..int.y;..double[][].values;
34f20 0a 09 0a 09 70 75 62 6c 69 63 20 4d 61 74 72 69 78 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 7b ....public.Matrix(int.x,.int.y){
34f40 0a 09 09 74 68 69 73 2e 78 20 3d 20 78 3b 0a 09 09 74 68 69 73 2e 79 3d 79 3b 0a 09 09 76 61 6c ...this.x.=.x;...this.y=y;...val
34f60 75 65 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 78 5d 5b 79 5d 3b 0a 09 7d 0a 09 0a 09 0a 09 ues.=.new.double[x][y];..}......
34f80 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c eb 0c a8 01 d2 04 00 00 d2 04 00 00 10 00 00 .}.PK.........Y.<...............
34fa0 00 75 74 69 6c 2f 41 72 72 61 79 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 39 07 00 02 01 00 .util/Array.class.......2.9.....
34fc0 0a 75 74 69 6c 2f 41 72 72 61 79 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 .util/Array......java/lang/Objec
34fe0 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 t...<init>...()V...Code.........
35000 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 ....LineNumberTable...LocalVaria
35020 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 0c 4c 75 74 69 6c 2f 41 72 72 61 79 3b 01 00 bleTable...this...Lutil/Array;..
35040 0e 73 6f 72 74 44 65 73 63 65 6e 64 69 6e 67 01 00 05 28 5b 44 29 56 0a 00 11 00 13 07 00 12 01 .sortDescending...([D)V.........
35060 00 10 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 73 0c 00 14 00 0f 01 00 04 73 6f 72 74 01 00 ..java/util/Arrays........sort..
35080 02 64 73 01 00 02 5b 44 01 00 01 69 01 00 01 49 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 .ds...[D...i...I...StackMapTable
350a0 01 00 0f 72 65 76 65 72 73 65 49 6e 74 41 72 72 61 79 01 00 06 28 5b 49 29 5b 49 01 00 05 61 72 ...reverseIntArray...([I)[I...ar
350c0 72 61 79 01 00 02 5b 49 01 00 08 72 65 76 65 72 73 65 64 07 00 1d 01 00 08 73 75 6d 41 72 72 61 ray...[I...reversed......sumArra
350e0 79 01 00 29 28 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 49 29 5b 4c 6a 61 76 61 y..)([Ljava/lang/String;I)[Ljava
35100 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 07 00 23 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 /lang/String;..#...java/lang/Str
35120 69 6e 67 01 00 02 69 6e 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 ing...in...[Ljava/lang/String;..
35140 04 66 72 6f 6d 01 00 03 72 65 73 07 00 25 01 00 04 6d 61 69 6e 01 00 16 28 5b 4c 6a 61 76 61 2f .from...res..%...main...([Ljava/
35160 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 08 00 2c 01 00 08 6f 72 69 67 69 6e 61 6c 0a 00 2e 00 lang/String;)V..,...original....
35180 30 07 00 2f 01 00 0d 75 74 69 6c 2f 50 72 69 6e 74 69 6e 67 0c 00 31 00 32 01 00 0d 70 72 69 6e 0../...util/Printing..1.2...prin
351a0 74 49 6e 74 41 72 72 61 79 01 00 2a 28 5b 49 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e tIntArray..*([I[Ljava/lang/Strin
351c0 67 3b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 01 00 34 0c 00 1a 00 1b g;Ljava/lang/String;)V....4.....
351e0 08 00 1e 01 00 04 61 72 67 73 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0a 41 72 72 61 79 2e ......args...SourceFile...Array.
35200 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 05 00 01 00 05 00 06 00 01 00 07 00 00 00 2f 00 01 java.!......................./..
35220 00 01 00 00 00 05 2a b7 00 08 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 00 05 00 0b 00 00 00 ......*.........................
35240 0c 00 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0e 00 0f 00 01 00 07 00 00 00 88 00 04 00 02 00 ................................
35260 00 00 2f 03 3c a7 00 0d 2a 1b 2a 1b 31 77 52 84 01 01 1b 2a be a1 ff f3 2a b8 00 10 03 3c a7 00 ../.<...*.*.1wR....*....*....<..
35280 0d 2a 1b 2a 1b 31 77 52 84 01 01 1b 2a be a1 ff f3 b1 00 00 00 03 00 0a 00 00 00 12 00 04 00 00 .*.*.1wR....*...................
352a0 00 0a 00 15 00 0b 00 19 00 0c 00 2e 00 0d 00 0b 00 00 00 20 00 03 00 00 00 2f 00 15 00 16 00 00 ........................./......
352c0 00 02 00 13 00 17 00 18 00 01 00 1b 00 13 00 17 00 18 00 01 00 19 00 00 00 09 00 04 fc 00 05 01 ................................
352e0 09 0e 09 00 09 00 1a 00 1b 00 01 00 07 00 00 00 7e 00 05 00 03 00 00 00 20 2a be bc 0a 4c 03 3d ................~........*...L.=
35300 a7 00 11 2b 1c 2a 2b be 04 64 1c 64 2e 4f 84 02 01 1c 2b be a1 ff ef 2b b0 00 00 00 03 00 0a 00 ...+.*+..d.d.O....+....+........
35320 00 00 16 00 05 00 00 00 15 00 05 00 16 00 0a 00 17 00 15 00 16 00 1e 00 19 00 0b 00 00 00 20 00 ................................
35340 03 00 00 00 20 00 1c 00 1d 00 00 00 05 00 1b 00 1e 00 1d 00 01 00 07 00 17 00 17 00 18 00 02 00 ................................
35360 19 00 00 00 0a 00 02 fd 00 0a 07 00 1f 01 0d 00 09 00 20 00 21 00 01 00 07 00 00 00 88 00 04 00 ....................!...........
35380 04 00 00 00 20 2a be 1b 64 bd 00 22 4d 1b 3e a7 00 0e 2c 1d 1b 64 2a 1d 32 53 84 03 01 1d 2a be .....*..d.."M.>...,..d*.2S....*.
353a0 a1 ff f2 2c b0 00 00 00 03 00 0a 00 00 00 16 00 05 00 00 00 1d 00 08 00 1e 00 0d 00 1f 00 15 00 ...,............................
353c0 1e 00 1e 00 21 00 0b 00 00 00 2a 00 04 00 00 00 20 00 24 00 25 00 00 00 00 00 20 00 26 00 18 00 ....!.....*.......$.%.......&...
353e0 01 00 08 00 18 00 27 00 25 00 02 00 0a 00 14 00 17 00 18 00 03 00 19 00 00 00 0a 00 02 fd 00 0d ......'.%.......................
35400 07 00 28 01 0a 00 09 00 29 00 2a 00 01 00 07 00 00 00 66 00 04 00 02 00 00 00 26 07 bc 0a 59 03 ..(.....).*.......f.......&...Y.
35420 04 4f 59 04 05 4f 59 05 06 4f 59 06 07 4f 4c 2b 01 12 2b b8 00 2d 2b b8 00 33 01 12 35 b8 00 2d .OY..OY..OY..OL+..+..-+..3..5..-
35440 b1 00 00 00 02 00 0a 00 00 00 12 00 04 00 00 00 25 00 14 00 26 00 1b 00 27 00 25 00 28 00 0b 00 ................%...&...'.%.(...
35460 00 00 16 00 02 00 00 00 26 00 36 00 25 00 00 00 14 00 12 00 17 00 1d 00 01 00 01 00 37 00 00 00 ........&.6.%...............7...
35480 02 00 38 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 38 03 60 81 94 03 00 00 94 03 00 00 0f 00 00 ..8PK.........i.<8.`............
354a0 00 75 74 69 6c 2f 41 72 72 61 79 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 74 69 6c 3b 0a 0a 69 .util/Array.javapackage.util;..i
354c0 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 73 3b 0a 0a 70 75 62 6c 69 63 20 mport.java.util.Arrays;..public.
354e0 63 6c 61 73 73 20 41 72 72 61 79 20 7b 0a 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 20 73 74 61 74 class.Array.{.......public..stat
35500 69 63 20 76 6f 69 64 20 73 6f 72 74 44 65 73 63 65 6e 64 69 6e 67 28 64 6f 75 62 6c 65 5b 5d 20 ic.void.sortDescending(double[].
35520 64 73 29 7b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 64 73 2e 6c 65 ds){...for.(int.i.=.0;.i.<.ds.le
35540 6e 67 74 68 3b 20 69 2b 2b 29 20 64 73 5b 69 5d 20 3d 20 2d 64 73 5b 69 5d 3b 0a 09 09 41 72 72 ngth;.i++).ds[i].=.-ds[i];...Arr
35560 61 79 73 2e 73 6f 72 74 28 64 73 29 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 ays.sort(ds);...for.(int.i.=.0;.
35580 69 20 3c 20 64 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 64 73 5b 69 5d 20 3d 20 2d 64 73 5b i.<.ds.length;.i++).ds[i].=.-ds[
355a0 69 5d 3b 0a 09 7d 0a 09 0a 09 2f 2a 2a 20 0a 09 20 2a 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 i];..}..../**....*.Return.a.new.
355c0 72 65 76 65 72 73 65 64 20 61 72 72 61 79 0a 09 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 0a reversed.array...*.@param.array.
355e0 09 20 2a 20 40 72 65 74 75 72 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 ..*.@return...*/..public.static.
35600 69 6e 74 5b 5d 20 72 65 76 65 72 73 65 49 6e 74 41 72 72 61 79 28 69 6e 74 5b 5d 20 61 72 72 61 int[].reverseIntArray(int[].arra
35620 79 29 7b 0a 09 09 69 6e 74 5b 5d 20 72 65 76 65 72 73 65 64 20 3d 20 6e 65 77 20 69 6e 74 5b 61 y){...int[].reversed.=.new.int[a
35640 72 72 61 79 2e 6c 65 6e 67 74 68 5d 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 rray.length];...for.(int.i.=.0;.
35660 69 20 3c 20 72 65 76 65 72 73 65 64 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 72 i.<.reversed.length;.i++).{....r
35680 65 76 65 72 73 65 64 5b 69 5d 20 3d 20 61 72 72 61 79 5b 72 65 76 65 72 73 65 64 2e 6c 65 6e 67 eversed[i].=.array[reversed.leng
356a0 74 68 2d 31 2d 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 76 65 72 73 65 64 3b 0a th-1-i];...}...return.reversed;.
356c0 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 53 74 72 69 6e 67 5b 5d 20 73 75 6d .}....public.static.String[].sum
356e0 41 72 72 61 79 28 53 74 72 69 6e 67 5b 5d 20 69 6e 2c 20 69 6e 74 20 66 72 6f 6d 29 7b 0a 09 09 Array(String[].in,.int.from){...
35700 53 74 72 69 6e 67 5b 5d 20 72 65 73 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 5b 69 6e 2e 6c 65 6e String[].res.=.new.String[in.len
35720 67 74 68 2d 66 72 6f 6d 5d 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 66 72 6f 6d 3b 20 gth-from];...for.(int.i.=.from;.
35740 69 20 3c 20 69 6e 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 72 65 73 5b 69 2d 66 i.<.in.length;.i++).{....res[i-f
35760 72 6f 6d 5d 20 3d 20 69 6e 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 3b 0a rom].=.in[i];...}...return.res;.
35780 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 61 69 6e 28 53 74 .}....public.static.void.main(St
357a0 72 69 6e 67 5b 5d 20 61 72 67 73 29 20 7b 0a 09 09 69 6e 74 5b 5d 20 69 20 3d 20 7b 31 2c 32 2c ring[].args).{...int[].i.=.{1,2,
357c0 33 2c 34 7d 3b 0a 09 09 75 74 69 6c 2e 50 72 69 6e 74 69 6e 67 2e 70 72 69 6e 74 49 6e 74 41 72 3,4};...util.Printing.printIntAr
357e0 72 61 79 28 69 2c 20 6e 75 6c 6c 2c 20 22 6f 72 69 67 69 6e 61 6c 22 29 3b 0a 09 09 75 74 69 6c ray(i,.null,."original");...util
35800 2e 50 72 69 6e 74 69 6e 67 2e 70 72 69 6e 74 49 6e 74 41 72 72 61 79 28 72 65 76 65 72 73 65 49 .Printing.printIntArray(reverseI
35820 6e 74 41 72 72 61 79 28 69 29 2c 20 6e 75 6c 6c 2c 20 22 72 65 76 65 72 73 65 64 22 29 3b 0a 09 ntArray(i),.null,."reversed");..
35840 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c a8 6a 5a 34 4e 0e 00 00 4e 0e 00 00 13 00 }.}.PK.........Y.<.jZ4N...N.....
35860 00 00 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 ad 07 ..util/MathUtil.class.......2...
35880 00 02 01 00 0d 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e .....util/MathUtil......java/lan
358a0 67 2f 4f 62 6a 65 63 74 01 00 0a 65 75 6c 65 72 47 61 6d 6d 61 01 00 01 44 01 00 08 3c 63 6c 69 g/Object...eulerGamma...D...<cli
358c0 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 06 3f e2 78 8c fc 6f b5 c8 09 00 01 00 0d 0c nit>...()V...Code.?.x..o........
358e0 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 .......LineNumberTable...LocalVa
35900 72 69 61 62 6c 65 54 61 62 6c 65 01 00 06 3c 69 6e 69 74 3e 0a 00 03 00 12 0c 00 10 00 08 01 00 riableTable...<init>............
35920 04 74 68 69 73 01 00 0f 4c 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 3b 01 00 0a 63 6c 6f 73 65 54 .this...Lutil/MathUtil;...closeT
35940 6f 4f 6e 65 01 00 04 28 44 29 5a 0a 00 18 00 1a 07 00 19 01 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f oOne...(D)Z...........java/lang/
35960 4d 61 74 68 0c 00 1b 00 1c 01 00 03 61 62 73 01 00 04 28 44 29 44 06 3d db 7c df d9 d7 bd bb 01 Math........abs...(D)D.=.|......
35980 00 06 6e 75 6d 62 65 72 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0b 63 6c 6f 73 65 ..number...StackMapTable...close
359a0 54 6f 5a 65 72 6f 06 3e e4 f8 b5 88 e3 68 f1 01 00 0c 72 61 6e 64 6f 6d 56 65 63 74 6f 72 01 00 ToZero.>.....h....randomVector..
359c0 17 28 49 4c 6a 61 76 61 2f 75 74 69 6c 2f 52 61 6e 64 6f 6d 3b 29 5b 44 0a 00 27 00 29 07 00 28 .(ILjava/util/Random;)[D..'.)..(
359e0 01 00 10 6a 61 76 61 2f 75 74 69 6c 2f 52 61 6e 64 6f 6d 0c 00 2a 00 2b 01 00 0a 6e 65 78 74 44 ...java/util/Random..*.+...nextD
35a00 6f 75 62 6c 65 01 00 03 28 29 44 01 00 04 73 69 7a 65 01 00 01 49 01 00 01 72 01 00 12 4c 6a 61 ouble...()D...size...I...r...Lja
35a20 76 61 2f 75 74 69 6c 2f 52 61 6e 64 6f 6d 3b 01 00 06 72 61 6e 64 6f 6d 01 00 02 5b 44 01 00 03 va/util/Random;...random...[D...
35a40 73 75 6d 01 00 01 69 07 00 31 01 00 05 28 5b 44 29 44 01 00 02 64 73 01 00 03 72 65 73 01 00 03 sum...i..1...([D)D...ds...res...
35a60 6d 61 78 06 ff f0 00 00 00 00 00 00 0a 00 18 00 3c 0c 00 38 00 3d 01 00 05 28 44 44 29 44 01 00 max.............<..8.=...(DD)D..
35a80 03 6d 69 6e 06 7f f0 00 00 00 00 00 00 0a 00 18 00 42 0c 00 3e 00 3d 01 00 0a 4b 4c 44 69 73 74 .min.............B..>.=...KLDist
35aa0 61 6e 63 65 01 00 07 28 5b 44 5b 44 29 44 0a 00 18 00 46 0c 00 47 00 1c 01 00 03 6c 6f 67 01 00 ance...([D[D)D....F..G.....log..
35ac0 01 70 01 00 01 71 01 00 03 6c 65 6e 01 00 02 6b 6c 01 00 01 6a 01 00 0a 4c 32 44 69 73 74 61 6e .p...q...len...kl...j...L2Distan
35ae0 63 65 0a 00 18 00 4f 0c 00 50 00 1c 01 00 04 73 71 72 74 01 00 02 6c 32 01 00 0a 4c 31 44 69 73 ce....O..P.....sqrt...l2...L1Dis
35b00 74 61 6e 63 65 01 00 02 6c 31 01 00 03 64 6f 74 01 00 03 64 73 32 01 00 0a 65 78 70 44 69 67 61 tance...l1...dot...ds2...expDiga
35b20 6d 6d 61 0a 00 01 00 58 0c 00 59 00 1c 01 00 07 64 69 67 61 6d 6d 61 0a 00 18 00 5b 0c 00 5c 00 mma....X..Y.....digamma....[..\.
35b40 1c 01 00 03 65 78 70 06 40 1c 00 00 00 00 00 00 06 3f e0 00 00 00 00 00 00 0a 00 01 00 62 0c 00 ....exp.@........?...........b..
35b60 63 00 1c 01 00 0c 64 69 67 61 6d 6d 41 70 70 72 6f 78 06 3f a5 55 c5 2e 72 da 12 06 c0 00 00 00 c.....digammApprox.?.U..r.......
35b80 00 00 00 00 0a 00 18 00 69 0c 00 6a 00 3d 01 00 03 70 6f 77 06 3f 7d dc 1e 79 67 ca ea 06 c0 10 ........i..j.=...pow.?}..yg.....
35ba0 00 00 00 00 00 00 06 3f 6f 75 10 4d 55 1d 69 06 c0 18 00 00 00 00 00 00 06 3f 70 ea 9e 6e eb 70 .......?ou.MU.i..........?p..n.p
35bc0 26 06 c0 20 00 00 00 00 00 00 01 00 05 76 61 6c 75 65 01 00 0a 69 6e 76 44 69 67 61 6d 6d 61 06 &............value...invDigamma.
35be0 c0 01 c2 8f 5c 28 f5 c3 06 bf f0 00 00 00 00 00 00 01 00 01 79 01 00 04 6d 61 69 6e 01 00 16 28 ....\(..............y...main...(
35c00 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 09 00 81 00 83 07 00 82 01 00 10 [Ljava/lang/String;)V...........
35c20 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 84 00 85 01 00 03 6f 75 74 01 00 15 4c 6a java/lang/System........out...Lj
35c40 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 00 87 01 00 17 6a 61 76 61 2f 6c 61 ava/io/PrintStream;......java/la
35c60 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 0a 00 89 00 8b 07 00 8a 01 00 10 6a 61 76 61 2f ng/StringBuilder...........java/
35c80 6c 61 6e 67 2f 53 74 72 69 6e 67 0c 00 8c 00 8d 01 00 07 76 61 6c 75 65 4f 66 01 00 15 28 44 29 lang/String........valueOf...(D)
35ca0 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 86 00 8f 0c 00 10 00 90 01 00 15 28 Ljava/lang/String;.............(
35cc0 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 08 00 92 01 00 01 09 0a 00 86 00 94 Ljava/lang/String;)V............
35ce0 0c 00 95 00 96 01 00 06 61 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 ........append..-(Ljava/lang/Str
35d00 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 ing;)Ljava/lang/StringBuilder;..
35d20 01 00 98 0c 00 56 00 1c 0a 00 86 00 9a 0c 00 95 00 9b 01 00 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 .....V...............(D)Ljava/la
35d40 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 86 00 9d 0c 00 9e 00 9f 01 00 08 74 6f ng/StringBuilder;.............to
35d60 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 a1 String...()Ljava/lang/String;...
35d80 00 a3 07 00 a2 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 a4 00 90 ........java/io/PrintStream.....
35da0 01 00 07 70 72 69 6e 74 6c 6e 06 3f b9 99 99 99 99 99 9a 06 40 24 00 00 00 00 00 00 01 00 04 61 ...println.?........@$.........a
35dc0 72 67 73 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 0a 53 6f 75 72 rgs...[Ljava/lang/String;...Sour
35de0 63 65 46 69 6c 65 01 00 0d 4d 61 74 68 55 74 69 6c 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 01 ceFile...MathUtil.java.!........
35e00 00 09 00 05 00 06 00 00 00 11 00 08 00 07 00 08 00 01 00 09 00 00 00 2b 00 02 00 00 00 00 00 07 .......................+........
35e20 14 00 0a b3 00 0c b1 00 00 00 02 00 0e 00 00 00 0a 00 02 00 00 00 80 00 06 00 05 00 0f 00 00 00 ................................
35e40 02 00 00 00 01 00 10 00 08 00 01 00 09 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 11 b1 00 00 ................/........*......
35e60 00 02 00 0e 00 00 00 06 00 01 00 00 00 05 00 0f 00 00 00 0c 00 01 00 00 00 05 00 13 00 14 00 00 ................................
35e80 00 19 00 15 00 16 00 01 00 09 00 00 00 44 00 04 00 02 00 00 00 11 26 0f 67 b8 00 17 14 00 1d 98 .............D........&.g.......
35ea0 9c 00 05 04 ac 03 ac 00 00 00 03 00 0e 00 00 00 06 00 01 00 00 00 07 00 0f 00 00 00 0c 00 01 00 ................................
35ec0 00 00 11 00 1f 00 06 00 00 00 20 00 00 00 03 00 01 0f 00 19 00 21 00 16 00 01 00 09 00 00 00 42 .....................!.........B
35ee0 00 04 00 02 00 00 00 0f 26 b8 00 17 14 00 22 98 9c 00 05 04 ac 03 ac 00 00 00 03 00 0e 00 00 00 ........&.....".................
35f00 06 00 01 00 00 00 0b 00 0f 00 00 00 0c 00 01 00 00 00 0f 00 1f 00 06 00 00 00 20 00 00 00 03 00 ................................
35f20 01 0d 00 19 00 24 00 25 00 01 00 09 00 00 00 e2 00 06 00 08 00 00 00 41 1a bc 07 4d 0e 4a 03 36 .....$.%...............A...M.J.6
35f40 05 a7 00 17 2b b6 00 26 39 06 2c 15 05 18 06 52 29 18 06 63 4a 84 05 01 15 05 1a a1 ff e9 03 36 ....+..&9.,....R)..cJ..........6
35f60 05 a7 00 10 2c 15 05 2c 15 05 31 29 6f 52 84 05 01 15 05 1a a1 ff f0 2c b0 00 00 00 03 00 0e 00 ....,..,..1)oR.........,........
35f80 00 00 2e 00 0b 00 00 00 15 00 04 00 16 00 06 00 17 00 0c 00 18 00 12 00 19 00 18 00 1a 00 1d 00 ................................
35fa0 17 00 26 00 1c 00 2c 00 1d 00 36 00 1c 00 3f 00 1f 00 0f 00 00 00 48 00 07 00 00 00 41 00 2c 00 ..&...,...6...?.......H.....A.,.
35fc0 2d 00 00 00 00 00 41 00 2e 00 2f 00 01 00 04 00 3d 00 30 00 31 00 02 00 06 00 3b 00 32 00 06 00 -.....A.../.....=.0.1.....;.2...
35fe0 03 00 09 00 1d 00 33 00 2d 00 05 00 12 00 0b 00 1f 00 06 00 06 00 29 00 16 00 33 00 2d 00 05 00 ......3.-.............)...3.-...
36000 20 00 00 00 0d 00 04 fe 00 0c 07 00 34 03 01 13 0b 0c 00 09 00 32 00 35 00 01 00 09 00 00 00 74 ............4........2.5.......t
36020 00 04 00 04 00 00 00 18 0e 48 03 3e a7 00 0c 27 2a 1d 31 63 48 84 03 01 1d 2a be a1 ff f4 27 af .........H.>...'*.1cH....*....'.
36040 00 00 00 03 00 0e 00 00 00 16 00 05 00 00 00 25 00 02 00 26 00 07 00 27 00 0d 00 26 00 16 00 29 ...............%...&...'...&...)
36060 00 0f 00 00 00 20 00 03 00 00 00 18 00 36 00 31 00 00 00 02 00 16 00 37 00 06 00 01 00 04 00 12 .............6.1.......7........
36080 00 33 00 2d 00 03 00 20 00 00 00 08 00 02 fd 00 07 03 01 08 00 09 00 38 00 35 00 01 00 09 00 00 .3.-...................8.5......
360a0 00 78 00 04 00 04 00 00 00 1c 14 00 39 48 03 3e a7 00 0e 27 2a 1d 31 b8 00 3b 48 84 03 01 1d 2a .x..........9H.>...'*.1..;H....*
360c0 be a1 ff f2 27 af 00 00 00 03 00 0e 00 00 00 16 00 05 00 00 00 2d 00 04 00 2e 00 09 00 2f 00 11 ....'................-......./..
360e0 00 2e 00 1a 00 31 00 0f 00 00 00 20 00 03 00 00 00 1c 00 36 00 31 00 00 00 04 00 18 00 37 00 06 .....1.............6.1.......7..
36100 00 01 00 06 00 14 00 33 00 2d 00 03 00 20 00 00 00 08 00 02 fd 00 09 03 01 0a 00 09 00 3e 00 35 .......3.-...................>.5
36120 00 01 00 09 00 00 00 78 00 04 00 04 00 00 00 1c 14 00 3f 48 03 3e a7 00 0e 27 2a 1d 31 b8 00 41 .......x..........?H.>...'*.1..A
36140 48 84 03 01 1d 2a be a1 ff f2 27 af 00 00 00 03 00 0e 00 00 00 16 00 05 00 00 00 35 00 04 00 36 H....*....'................5...6
36160 00 09 00 37 00 11 00 36 00 1a 00 39 00 0f 00 00 00 20 00 03 00 00 00 1c 00 36 00 31 00 00 00 04 ...7...6...9.............6.1....
36180 00 18 00 37 00 06 00 01 00 06 00 14 00 33 00 2d 00 03 00 20 00 00 00 08 00 02 fd 00 09 03 01 0a ...7.........3.-................
361a0 00 09 00 43 00 44 00 01 00 09 00 00 00 bf 00 08 00 06 00 00 00 3f 2a be 3d 0e 4a 03 36 05 a7 00 ...C.D...............?*.=.J.6...
361c0 2f 2a 15 05 31 0e 97 99 00 23 2b 15 05 31 0e 97 9a 00 06 a7 00 17 29 2b 15 05 31 2b 15 05 31 2a /*..1....#+..1........)+..1+..1*
361e0 15 05 31 6f b8 00 45 6b 63 4a 84 05 01 15 05 1c a1 ff d1 29 af 00 00 00 03 00 0e 00 00 00 22 00 ..1o..EkcJ.........)..........".
36200 08 00 00 00 3e 00 03 00 3f 00 05 00 40 00 0b 00 41 00 1d 00 42 00 20 00 44 00 34 00 40 00 3d 00 ....>...?...@...A...B...D.4.@.=.
36220 48 00 0f 00 00 00 34 00 05 00 00 00 3f 00 48 00 31 00 00 00 00 00 3f 00 49 00 31 00 01 00 03 00 H.....4.....?.H.1.....?.I.1.....
36240 3c 00 4a 00 2d 00 02 00 05 00 3a 00 4b 00 06 00 03 00 08 00 35 00 4c 00 2d 00 05 00 20 00 00 00 <.J.-.....:.K.......5.L.-.......
36260 0c 00 05 fe 00 0b 01 03 01 11 02 13 02 00 09 00 4d 00 44 00 01 00 09 00 00 00 c4 00 08 00 06 00 ................M.D.............
36280 00 00 44 2a be 3d 0e 4a 03 36 05 a7 00 31 2a 15 05 31 0e 97 99 00 25 2b 15 05 31 0e 97 9a 00 06 ..D*.=.J.6...1*..1....%+..1.....
362a0 a7 00 19 29 2b 15 05 31 2a 15 05 31 67 2b 15 05 31 2a 15 05 31 67 6b 63 4a 84 05 01 15 05 1c a1 ...)+..1*..1g+..1*..1gkcJ.......
362c0 ff cf 29 b8 00 4e af 00 00 00 03 00 0e 00 00 00 22 00 08 00 00 00 4c 00 03 00 4d 00 05 00 4e 00 ..)..N..........".....L...M...N.
362e0 0b 00 4f 00 1d 00 50 00 20 00 52 00 36 00 4e 00 3f 00 56 00 0f 00 00 00 34 00 05 00 00 00 44 00 ..O...P...R.6.N.?.V.....4.....D.
36300 48 00 31 00 00 00 00 00 44 00 49 00 31 00 01 00 03 00 41 00 4a 00 2d 00 02 00 05 00 3f 00 51 00 H.1.....D.I.1.....A.J.-.....?.Q.
36320 06 00 03 00 08 00 37 00 4c 00 2d 00 05 00 20 00 00 00 0c 00 05 fe 00 0b 01 03 01 11 02 15 02 00 ......7.L.-.....................
36340 09 00 52 00 44 00 01 00 09 00 00 00 ba 00 06 00 06 00 00 00 3a 2a be 3d 0e 4a 03 36 05 a7 00 2a ..R.D...............:*.=.J.6...*
36360 2a 15 05 31 0e 97 99 00 1e 2b 15 05 31 0e 97 9a 00 06 a7 00 12 29 2b 15 05 31 2a 15 05 31 67 b8 *..1.....+..1........)+..1*..1g.
36380 00 17 63 4a 84 05 01 15 05 1c a1 ff d6 29 af 00 00 00 03 00 0e 00 00 00 22 00 08 00 00 00 5a 00 ..cJ.........)..........".....Z.
363a0 03 00 5b 00 05 00 5c 00 0b 00 5d 00 1d 00 5e 00 20 00 60 00 2f 00 5c 00 38 00 64 00 0f 00 00 00 ..[...\...]...^...`./.\.8.d.....
363c0 34 00 05 00 00 00 3a 00 48 00 31 00 00 00 00 00 3a 00 49 00 31 00 01 00 03 00 37 00 4a 00 2d 00 4.....:.H.1.....:.I.1.....7.J.-.
363e0 02 00 05 00 35 00 53 00 06 00 03 00 08 00 30 00 4c 00 2d 00 05 00 20 00 00 00 0c 00 05 fe 00 0b ....5.S.......0.L.-.............
36400 01 03 01 11 02 0e 02 00 09 00 54 00 44 00 01 00 09 00 00 00 86 00 06 00 05 00 00 00 20 0e 49 03 ..........T.D.................I.
36420 36 04 a7 00 12 28 2a 15 04 31 2b 15 04 31 6b 63 49 84 04 01 15 04 2b be a1 ff ed 28 af 00 00 00 6....(*..1+..1kcI.....+....(....
36440 03 00 0e 00 00 00 16 00 05 00 00 00 68 00 02 00 69 00 08 00 6a 00 14 00 69 00 1e 00 6c 00 0f 00 ............h...i...j...i...l...
36460 00 00 2a 00 04 00 00 00 20 00 36 00 31 00 00 00 00 00 20 00 55 00 31 00 01 00 02 00 1e 00 37 00 ..*.......6.1.......U.1.......7.
36480 06 00 02 00 05 00 19 00 33 00 2d 00 04 00 20 00 00 00 08 00 02 fd 00 08 03 01 0e 00 09 00 56 00 ........3.-...................V.
364a0 1c 00 01 00 09 00 00 00 32 00 02 00 02 00 00 00 08 26 b8 00 57 b8 00 5a af 00 00 00 02 00 0e 00 ........2........&..W..Z........
364c0 00 00 06 00 01 00 00 00 70 00 0f 00 00 00 0c 00 01 00 00 00 08 00 1f 00 06 00 00 00 09 00 59 00 ........p.....................Y.
364e0 1c 00 01 00 09 00 00 00 57 00 06 00 02 00 00 00 1c 26 14 00 5d 97 9e 00 0c 26 14 00 5f 67 b8 00 ........W........&..]....&.._g..
36500 61 af 26 0f 63 b8 00 57 0f 26 6f 67 af 00 00 00 03 00 0e 00 00 00 0e 00 03 00 00 00 74 00 08 00 a.&.c..W.&og................t...
36520 75 00 11 00 77 00 0f 00 00 00 0c 00 01 00 00 00 1c 00 1f 00 06 00 00 00 20 00 00 00 03 00 01 11 u...w...........................
36540 00 0a 00 63 00 1c 00 01 00 09 00 00 00 6f 00 08 00 02 00 00 00 35 26 b8 00 45 14 00 64 26 14 00 ...c.........o.......5&..E..d&..
36560 66 b8 00 68 6b 63 14 00 6b 26 14 00 6d b8 00 68 6b 67 14 00 6f 26 14 00 71 b8 00 68 6b 63 14 00 f..hkc..k&..m..hkg..o&..q..hkc..
36580 73 26 14 00 75 b8 00 68 6b 67 af 00 00 00 02 00 0e 00 00 00 16 00 05 00 00 00 7c 00 1c 00 7d 00 s&..u..hkg................|...}.
365a0 27 00 7c 00 28 00 7d 00 33 00 7c 00 0f 00 00 00 0c 00 01 00 00 00 35 00 77 00 06 00 00 00 09 00 '.|.(.}.3.|...........5.w.......
365c0 78 00 1c 00 01 00 09 00 00 00 52 00 06 00 02 00 00 00 1b 26 14 00 79 97 9b 00 0c 26 b8 00 5a 14 x.........R........&..y....&..Z.
365e0 00 5f 63 af 14 00 7b 26 b2 00 0c 63 6f af 00 00 00 03 00 0e 00 00 00 0a 00 02 00 00 00 83 00 11 ._c...{&...co...................
36600 00 84 00 0f 00 00 00 0c 00 01 00 00 00 1b 00 7d 00 06 00 00 00 20 00 00 00 03 00 01 11 00 09 00 ...............}................
36620 7e 00 7f 00 01 00 09 00 00 00 8e 00 06 00 03 00 00 00 41 0e 48 a7 00 36 b2 00 80 bb 00 86 59 27 ~.................A.H..6......Y'
36640 b8 00 88 b7 00 8e 12 91 b6 00 93 27 b8 00 97 b6 00 99 12 91 b6 00 93 27 14 00 5f 67 b6 00 99 b6 ...........'...........'.._g....
36660 00 9c b6 00 a0 27 14 00 a5 63 48 27 14 00 a7 98 9b ff c8 b1 00 00 00 03 00 0e 00 00 00 12 00 04 .....'...cH'....................
36680 00 00 00 8a 00 05 00 8b 00 32 00 8a 00 40 00 90 00 0f 00 00 00 16 00 02 00 00 00 41 00 a9 00 aa .........2...@.............A....
366a0 00 00 00 02 00 3e 00 33 00 06 00 01 00 20 00 00 00 07 00 02 fc 00 05 03 32 00 01 00 ab 00 00 00 .....>.3................2.......
366c0 02 00 ac 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 83 a6 4b f7 b7 0c 00 00 b7 0c 00 00 12 00 00 ...PK.........i.<..K............
366e0 00 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 74 69 6c 3b .util/MathUtil.javapackage.util;
36700 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 52 61 6e 64 6f 6d 3b 0a 0a 70 75 62 6c ..import.java.util.Random;..publ
36720 69 63 20 63 6c 61 73 73 20 4d 61 74 68 55 74 69 6c 20 7b 0a 09 70 75 62 6c 69 63 20 73 74 61 74 ic.class.MathUtil.{..public.stat
36740 69 63 20 66 69 6e 61 6c 20 62 6f 6f 6c 65 61 6e 20 63 6c 6f 73 65 54 6f 4f 6e 65 28 64 6f 75 62 ic.final.boolean.closeToOne(doub
36760 6c 65 20 6e 75 6d 62 65 72 29 7b 0a 09 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 61 62 73 28 6e 75 le.number){...return.Math.abs(nu
36780 6d 62 65 72 2d 31 29 20 3c 20 31 2e 45 2d 31 30 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 mber-1).<.1.E-10;..}....public.s
367a0 74 61 74 69 63 20 66 69 6e 61 6c 20 62 6f 6f 6c 65 61 6e 20 63 6c 6f 73 65 54 6f 5a 65 72 6f 28 tatic.final.boolean.closeToZero(
367c0 64 6f 75 62 6c 65 20 6e 75 6d 62 65 72 29 7b 0a 09 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 61 62 double.number){...return.Math.ab
367e0 73 28 6e 75 6d 62 65 72 29 20 3c 20 31 2e 45 2d 35 3b 0a 09 7d 0a 09 0a 09 2f 2a 2a 0a 09 20 2a s(number).<.1.E-5;..}..../**...*
36800 20 52 65 74 75 72 6e 20 61 20 72 61 6d 64 6f 6d 20 6d 75 6c 74 69 6e 6f 6d 69 6e 61 6c 20 64 69 .Return.a.ramdom.multinominal.di
36820 73 74 72 69 62 75 74 69 6f 6e 2e 0a 09 20 2a 20 0a 09 20 2a 20 40 70 61 72 61 6d 20 73 69 7a 65 stribution....*....*.@param.size
36840 0a 09 20 2a 20 40 72 65 74 75 72 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 ...*.@return...*/..public.static
36860 20 66 69 6e 61 6c 20 64 6f 75 62 6c 65 5b 5d 20 72 61 6e 64 6f 6d 56 65 63 74 6f 72 28 69 6e 74 .final.double[].randomVector(int
36880 20 73 69 7a 65 2c 20 52 61 6e 64 6f 6d 20 72 29 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 20 72 61 6e .size,.Random.r){...double[].ran
368a0 64 6f 6d 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 73 69 7a 65 5d 3b 0a 09 09 64 6f 75 62 6c 65 dom.=.new.double[size];...double
368c0 20 73 75 6d 3d 30 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a .sum=0;...for(int.i.=.0;.i.<.siz
368e0 65 3b 20 69 2b 2b 29 7b 0a 09 09 09 64 6f 75 62 6c 65 20 6e 75 6d 62 65 72 20 3d 20 72 2e 6e 65 e;.i++){....double.number.=.r.ne
36900 78 74 44 6f 75 62 6c 65 28 29 3b 0a 09 09 09 72 61 6e 64 6f 6d 5b 69 5d 20 3d 20 6e 75 6d 62 65 xtDouble();....random[i].=.numbe
36920 72 3b 0a 09 09 09 73 75 6d 2b 3d 6e 75 6d 62 65 72 3b 0a 09 09 7d 0a 09 09 66 6f 72 28 69 6e 74 r;....sum+=number;...}...for(int
36940 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 69 2b 2b 29 7b 0a 09 09 09 72 61 6e 64 6f .i.=.0;.i.<.size;.i++){....rando
36960 6d 5b 69 5d 20 3d 20 72 61 6e 64 6f 6d 5b 69 5d 2f 73 75 6d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 m[i].=.random[i]/sum;...}...retu
36980 72 6e 20 72 61 6e 64 6f 6d 3b 0a 09 7d 0a 09 0a 09 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 rn.random;..}.......public.stati
369a0 63 20 64 6f 75 62 6c 65 20 73 75 6d 28 64 6f 75 62 6c 65 5b 5d 20 64 73 29 20 7b 0a 09 09 64 6f c.double.sum(double[].ds).{...do
369c0 75 62 6c 65 20 72 65 73 20 3d 20 30 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 uble.res.=.0;...for.(int.i.=.0;.
369e0 69 20 3c 20 64 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 72 65 73 2b 3d 64 73 i.<.ds.length;.i++).{....res+=ds
36a00 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 3b 0a 09 7d 0a 0a 09 70 75 62 6c [i];...}...return.res;..}...publ
36a20 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 6d 61 78 28 64 6f 75 62 6c 65 5b 5d 20 64 73 ic.static.double.max(double[].ds
36a40 29 20 7b 0a 09 09 64 6f 75 62 6c 65 20 72 65 73 20 3d 20 44 6f 75 62 6c 65 2e 4e 45 47 41 54 49 ).{...double.res.=.Double.NEGATI
36a60 56 45 5f 49 4e 46 49 4e 49 54 59 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 VE_INFINITY;...for.(int.i.=.0;.i
36a80 20 3c 20 64 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 72 65 73 20 3d 20 4d 61 .<.ds.length;.i++).{....res.=.Ma
36aa0 74 68 2e 6d 61 78 28 72 65 73 2c 20 64 73 5b 69 5d 29 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e th.max(res,.ds[i]);...}...return
36ac0 20 72 65 73 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 .res;..}...public.static.double.
36ae0 6d 69 6e 28 64 6f 75 62 6c 65 5b 5d 20 64 73 29 20 7b 0a 09 09 64 6f 75 62 6c 65 20 72 65 73 20 min(double[].ds).{...double.res.
36b00 3d 20 44 6f 75 62 6c 65 2e 50 4f 53 49 54 49 56 45 5f 49 4e 46 49 4e 49 54 59 3b 0a 09 09 66 6f =.Double.POSITIVE_INFINITY;...fo
36b20 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 64 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b r.(int.i.=.0;.i.<.ds.length;.i++
36b40 29 20 7b 0a 09 09 09 72 65 73 20 3d 20 4d 61 74 68 2e 6d 69 6e 28 72 65 73 2c 20 64 73 5b 69 5d ).{....res.=.Math.min(res,.ds[i]
36b60 29 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 3b 0a 09 7d 0a 0a 09 0a 09 70 75 62 6c );...}...return.res;..}.....publ
36b80 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 4b 4c 44 69 73 74 61 6e 63 65 28 64 6f 75 62 ic.static.double.KLDistance(doub
36ba0 6c 65 5b 5d 20 70 2c 20 64 6f 75 62 6c 65 5b 5d 20 71 29 20 7b 0a 09 09 69 6e 74 20 6c 65 6e 20 le[].p,.double[].q).{...int.len.
36bc0 3d 20 70 2e 6c 65 6e 67 74 68 3b 0a 09 09 64 6f 75 62 6c 65 20 6b 6c 20 3d 20 30 3b 0a 09 09 66 =.p.length;...double.kl.=.0;...f
36be0 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 6c 65 6e 3b 20 6a 2b 2b 29 20 7b 0a 09 or.(int.j.=.0;.j.<.len;.j++).{..
36c00 09 09 09 69 66 20 28 70 5b 6a 5d 20 3d 3d 20 30 20 7c 7c 20 71 5b 6a 5d 20 3d 3d 20 30 29 20 7b ...if.(p[j].==.0.||.q[j].==.0).{
36c20 0a 09 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 ......continue;.....}.else.{....
36c40 09 09 6b 6c 20 2b 3d 20 71 5b 6a 5d 20 2a 20 4d 61 74 68 2e 6c 6f 67 28 71 5b 6a 5d 20 2f 20 70 ..kl.+=.q[j].*.Math.log(q[j]./.p
36c60 5b 6a 5d 29 3b 0a 09 09 09 09 7d 0a 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 6b 6c 3b 0a 09 7d [j]);.....}....}...return.kl;..}
36c80 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 4c 32 44 69 73 74 61 ....public.static.double.L2Dista
36ca0 6e 63 65 28 64 6f 75 62 6c 65 5b 5d 20 70 2c 20 64 6f 75 62 6c 65 5b 5d 20 71 29 20 7b 0a 09 09 nce(double[].p,.double[].q).{...
36cc0 69 6e 74 20 6c 65 6e 20 3d 20 70 2e 6c 65 6e 67 74 68 3b 0a 09 09 64 6f 75 62 6c 65 20 6c 32 20 int.len.=.p.length;...double.l2.
36ce0 3d 20 30 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 6c 65 6e 3b 20 =.0;...for.(int.j.=.0;.j.<.len;.
36d00 6a 2b 2b 29 20 7b 0a 09 09 09 09 69 66 20 28 70 5b 6a 5d 20 3d 3d 20 30 20 7c 7c 20 71 5b 6a 5d j++).{.....if.(p[j].==.0.||.q[j]
36d20 20 3d 3d 20 30 29 20 7b 0a 09 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 09 7d 20 65 6c .==.0).{......continue;.....}.el
36d40 73 65 20 7b 0a 09 09 09 09 09 6c 32 20 2b 3d 20 28 71 5b 6a 5d 20 2d 20 70 5b 6a 5d 29 2a 28 71 se.{......l2.+=.(q[j].-.p[j])*(q
36d60 5b 6a 5d 20 2d 20 70 5b 6a 5d 29 3b 0a 09 09 09 09 7d 0a 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e [j].-.p[j]);.....}....}...return
36d80 20 4d 61 74 68 2e 73 71 72 74 28 6c 32 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 .Math.sqrt(l2);..}....public.sta
36da0 74 69 63 20 64 6f 75 62 6c 65 20 4c 31 44 69 73 74 61 6e 63 65 28 64 6f 75 62 6c 65 5b 5d 20 70 tic.double.L1Distance(double[].p
36dc0 2c 20 64 6f 75 62 6c 65 5b 5d 20 71 29 20 7b 0a 09 09 69 6e 74 20 6c 65 6e 20 3d 20 70 2e 6c 65 ,.double[].q).{...int.len.=.p.le
36de0 6e 67 74 68 3b 0a 09 09 64 6f 75 62 6c 65 20 6c 31 20 3d 20 30 3b 0a 09 09 66 6f 72 20 28 69 6e ngth;...double.l1.=.0;...for.(in
36e00 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 6c 65 6e 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 09 69 66 20 t.j.=.0;.j.<.len;.j++).{.....if.
36e20 28 70 5b 6a 5d 20 3d 3d 20 30 20 7c 7c 20 71 5b 6a 5d 20 3d 3d 20 30 29 20 7b 0a 09 09 09 09 09 (p[j].==.0.||.q[j].==.0).{......
36e40 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 6c 31 20 2b continue;.....}.else.{......l1.+
36e60 3d 20 4d 61 74 68 2e 61 62 73 28 71 5b 6a 5d 20 2d 20 70 5b 6a 5d 29 3b 0a 09 09 09 09 7d 0a 0a =.Math.abs(q[j].-.p[j]);.....}..
36e80 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 6c 31 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 ..}...return.l1;..}...public.sta
36ea0 74 69 63 20 64 6f 75 62 6c 65 20 64 6f 74 28 64 6f 75 62 6c 65 5b 5d 20 64 73 2c 20 64 6f 75 62 tic.double.dot(double[].ds,.doub
36ec0 6c 65 5b 5d 20 64 73 32 29 20 7b 0a 09 09 64 6f 75 62 6c 65 20 72 65 73 20 3d 20 30 3b 0a 09 09 le[].ds2).{...double.res.=.0;...
36ee0 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 64 73 32 2e 6c 65 6e 67 74 68 3b 20 for.(int.i.=.0;.i.<.ds2.length;.
36f00 69 2b 2b 29 20 7b 0a 09 09 09 72 65 73 2b 3d 20 64 73 5b 69 5d 2a 64 73 32 5b 69 5d 3b 0a 09 09 i++).{....res+=.ds[i]*ds2[i];...
36f20 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 }...return.res;..}....public.sta
36f40 74 69 63 20 64 6f 75 62 6c 65 20 65 78 70 44 69 67 61 6d 6d 61 28 64 6f 75 62 6c 65 20 6e 75 6d tic.double.expDigamma(double.num
36f60 62 65 72 29 7b 0a 09 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 65 78 70 28 64 69 67 61 6d 6d 61 28 ber){...return.Math.exp(digamma(
36f80 6e 75 6d 62 65 72 29 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f number));..}....public.static.do
36fa0 75 62 6c 65 20 64 69 67 61 6d 6d 61 28 64 6f 75 62 6c 65 20 6e 75 6d 62 65 72 29 7b 0a 09 09 69 uble.digamma(double.number){...i
36fc0 66 28 6e 75 6d 62 65 72 20 3e 20 37 29 7b 0a 09 09 09 72 65 74 75 72 6e 20 64 69 67 61 6d 6d 41 f(number.>.7){....return.digammA
36fe0 70 70 72 6f 78 28 6e 75 6d 62 65 72 2d 30 2e 35 29 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 72 pprox(number-0.5);...}else{....r
37000 65 74 75 72 6e 20 64 69 67 61 6d 6d 61 28 6e 75 6d 62 65 72 2b 31 29 20 2d 20 31 2e 30 2f 6e 75 eturn.digamma(number+1).-.1.0/nu
37020 6d 62 65 72 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 64 mber;...}..}....private.static.d
37040 6f 75 62 6c 65 20 64 69 67 61 6d 6d 41 70 70 72 6f 78 28 64 6f 75 62 6c 65 20 76 61 6c 75 65 29 ouble.digammApprox(double.value)
37060 7b 0a 09 09 72 65 74 75 72 6e 20 4d 61 74 68 2e 6c 6f 67 28 76 61 6c 75 65 29 20 2b 20 30 2e 30 {...return.Math.log(value).+.0.0
37080 34 31 36 37 2a 4d 61 74 68 2e 70 6f 77 28 76 61 6c 75 65 2c 20 2d 32 29 20 2d 20 30 2e 30 30 37 4167*Math.pow(value,.-2).-.0.007
370a0 32 39 2a 4d 61 74 68 2e 70 6f 77 28 76 61 6c 75 65 2c 20 2d 34 29 20 0a 09 09 2b 20 20 30 2e 30 29*Math.pow(value,.-4)....+..0.0
370c0 30 33 38 34 2a 4d 61 74 68 2e 70 6f 77 28 76 61 6c 75 65 2c 20 2d 36 29 20 2d 20 30 2e 30 30 34 0384*Math.pow(value,.-6).-.0.004
370e0 31 33 2a 4d 61 74 68 2e 70 6f 77 28 76 61 6c 75 65 2c 20 2d 38 29 3b 0a 09 7d 0a 0a 09 70 75 62 13*Math.pow(value,.-8);..}...pub
37100 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 65 75 6c 65 72 47 61 6d 6d 61 20 3d 20 30 lic.static.double.eulerGamma.=.0
37120 2e 35 37 37 32 31 35 36 36 34 39 30 31 35 32 33 38 36 30 36 30 36 35 31 32 30 39 30 30 38 32 34 .5772156649015238606065120900824
37140 30 32 34 33 3b 0a 09 2f 2f 20 46 49 58 4d 45 20 2d 2d 20 73 6f 20 66 61 72 20 6a 75 73 74 20 74 0243;..//.FIXME.--.so.far.just.t
37160 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 72 6f 6d 20 4d 69 6e 6b 61 27 73 20 70 he.initialization.from.Minka's.p
37180 61 70 65 72 20 22 45 73 74 69 6d 61 74 69 6e 67 20 61 20 44 69 72 69 63 68 6c 65 74 20 64 69 73 aper."Estimating.a.Dirichlet.dis
371a0 74 72 69 62 75 74 69 6f 6e 22 2e 20 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 tribution"....public.static.doub
371c0 6c 65 20 69 6e 76 44 69 67 61 6d 6d 61 28 64 6f 75 62 6c 65 20 79 29 20 7b 0a 09 09 69 66 20 28 le.invDigamma(double.y).{...if.(
371e0 79 3e 3d 20 2d 32 2e 32 32 29 20 72 65 74 75 72 6e 20 4d 61 74 68 2e 65 78 70 28 79 29 2b 30 2e y>=.-2.22).return.Math.exp(y)+0.
37200 35 3b 0a 09 09 72 65 74 75 72 6e 20 2d 31 2e 30 2f 28 79 2b 65 75 6c 65 72 47 61 6d 6d 61 29 3b 5;...return.-1.0/(y+eulerGamma);
37220 0a 09 7d 0a 0a 09 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 61 69 ..}.......public.static.void.mai
37240 6e 28 53 74 72 69 6e 67 5b 5d 20 61 72 67 73 29 20 7b 0a 09 09 66 6f 72 28 64 6f 75 62 6c 65 20 n(String[].args).{...for(double.
37260 69 20 3d 20 30 3b 20 69 20 3c 20 31 30 20 3b 20 69 2b 3d 30 2e 31 29 7b 0a 09 09 09 53 79 73 74 i.=.0;.i.<.10.;.i+=0.1){....Syst
37280 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 69 2b 22 5c 74 22 2b 65 78 70 44 69 67 61 6d 6d 61 em.out.println(i+"\t"+expDigamma
372a0 28 69 29 2b 22 5c 74 22 2b 28 69 2d 30 2e 35 29 29 3b 0a 09 09 7d 0a 2f 2f 09 09 64 6f 75 62 6c (i)+"\t"+(i-0.5));...}.//..doubl
372c0 65 20 67 61 6d 6d 61 56 61 6c 75 65 20 3d 20 28 65 78 70 44 69 67 61 6d 6d 61 28 33 29 2f 65 78 e.gammaValue.=.(expDigamma(3)/ex
372e0 70 44 69 67 61 6d 6d 61 28 31 30 29 20 2b 20 65 78 70 44 69 67 61 6d 6d 61 28 33 29 2f 65 78 70 pDigamma(10).+.expDigamma(3)/exp
37300 44 69 67 61 6d 6d 61 28 31 30 29 20 2b 20 65 78 70 44 69 67 61 6d 6d 61 28 34 29 2f 65 78 70 44 Digamma(10).+.expDigamma(4)/expD
37320 69 67 61 6d 6d 61 28 31 30 29 29 3b 0a 2f 2f 09 09 64 6f 75 62 6c 65 20 6e 6f 72 6d 61 6c 56 61 igamma(10));.//..double.normalVa
37340 6c 75 65 20 3d 20 33 2f 31 30 2b 33 2f 34 2b 31 30 2f 31 30 3b 0a 2f 2f 09 09 53 79 73 74 65 6d lue.=.3/10+3/4+10/10;.//..System
37360 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 47 61 6d 6d 61 20 22 20 2b 20 67 61 6d 6d 61 56 61 6c .out.println("Gamma.".+.gammaVal
37380 75 65 20 2b 20 22 20 6e 6f 72 6d 61 6c 20 22 20 2b 20 6e 6f 72 6d 61 6c 56 61 6c 75 65 29 3b 0a ue.+.".normal.".+.normalValue);.
373a0 09 7d 0a 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 e5 3c e8 f3 b9 52 16 04 00 00 .}......}.PK.........Y.<...R....
373c0 16 04 00 00 15 00 00 00 75 74 69 6c 2f 46 69 6c 65 53 79 73 74 65 6d 2e 63 6c 61 73 73 ca fe ba ........util/FileSystem.class...
373e0 be 00 00 00 32 00 41 07 00 02 01 00 0f 75 74 69 6c 2f 46 69 6c 65 53 79 73 74 65 6d 07 00 04 01 ....2.A......util/FileSystem....
37400 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 ..java/lang/Object...<init>...()
37420 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 V...Code.............LineNumberT
37440 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 able...LocalVariableTable...this
37460 01 00 11 4c 75 74 69 6c 2f 46 69 6c 65 53 79 73 74 65 6d 3b 01 00 09 63 72 65 61 74 65 44 69 72 ...Lutil/FileSystem;...createDir
37480 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 5a 07 00 11 01 00 0c 6a 61 ...(Ljava/lang/String;)Z......ja
374a0 76 61 2f 69 6f 2f 46 69 6c 65 0a 00 10 00 13 0c 00 05 00 14 01 00 15 28 4c 6a 61 76 61 2f 6c 61 va/io/File.............(Ljava/la
374c0 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 10 00 16 0c 00 17 00 18 01 00 0b 69 73 44 69 72 65 63 ng/String;)V.............isDirec
374e0 74 6f 72 79 01 00 03 28 29 5a 0a 00 10 00 1a 0c 00 1b 00 18 01 00 06 6d 6b 64 69 72 73 09 00 1d tory...()Z.............mkdirs...
37500 00 1f 07 00 1e 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 20 00 21 01 00 03 ........java/lang/System....!...
37520 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 00 23 01 00 out...Ljava/io/PrintStream;..#..
37540 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 25 01 00 1b 55 6e .java/lang/StringBuilder..%...Un
37560 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 64 69 72 65 63 74 6f 72 79 20 0a 00 22 00 13 0a 00 able.to.create.directory..."....
37580 22 00 28 0c 00 29 00 2a 01 00 06 61 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f ".(..).*...append..-(Ljava/lang/
375a0 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 String;)Ljava/lang/StringBuilder
375c0 3b 0a 00 22 00 2c 0c 00 2d 00 2e 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 ;..".,..-.....toString...()Ljava
375e0 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 30 00 32 07 00 31 01 00 13 6a 61 76 61 2f 69 6f 2f /lang/String;..0.2..1...java/io/
37600 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 33 00 14 01 00 07 70 72 69 6e 74 6c 6e 08 00 35 01 00 12 PrintStream..3.....println..5...
37620 43 72 65 61 74 65 64 20 64 69 72 65 63 74 6f 72 79 20 08 00 37 01 00 12 52 65 75 73 69 6e 67 20 Created.directory...7...Reusing.
37640 64 69 72 65 63 74 6f 72 79 20 01 00 09 64 69 72 65 63 74 6f 72 79 01 00 12 4c 6a 61 76 61 2f 6c directory....directory...Ljava/l
37660 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 03 64 69 72 01 00 0e 4c 6a 61 76 61 2f 69 6f 2f 46 69 6c ang/String;...dir...Ljava/io/Fil
37680 65 3b 01 00 07 73 75 63 63 65 73 73 01 00 01 5a 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 e;...success...Z...StackMapTable
376a0 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0f 46 69 6c 65 53 79 73 74 65 6d 2e 6a 61 76 61 00 ...SourceFile...FileSystem.java.
376c0 21 00 01 00 03 00 00 00 00 00 02 00 01 00 05 00 06 00 01 00 07 00 00 00 2f 00 01 00 01 00 00 00 !......................./.......
376e0 05 2a b7 00 08 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 00 05 00 0b 00 00 00 0c 00 01 00 00 .*..............................
37700 00 05 00 0c 00 0d 00 00 00 09 00 0e 00 0f 00 01 00 07 00 00 00 d3 00 04 00 03 00 00 00 62 bb 00 .............................b..
37720 10 59 2a b7 00 12 4c 2b b6 00 15 9a 00 3d 2b b6 00 19 3d 1c 9a 00 1b b2 00 1c bb 00 22 59 12 24 .Y*...L+.....=+...=........."Y.$
37740 b7 00 26 2a b6 00 27 b6 00 2b b6 00 2f 03 ac b2 00 1c bb 00 22 59 12 34 b7 00 26 2a b6 00 27 b6 ..&*..'..+../......."Y.4..&*..'.
37760 00 2b b6 00 2f a7 00 19 b2 00 1c bb 00 22 59 12 36 b7 00 26 2a b6 00 27 b6 00 2b b6 00 2f 04 ac .+../........"Y.6..&*..'..+../..
37780 00 00 00 03 00 0a 00 00 00 26 00 09 00 00 00 08 00 09 00 09 00 10 00 0a 00 15 00 0b 00 19 00 0c .........&......................
377a0 00 2f 00 0d 00 31 00 0f 00 4a 00 11 00 60 00 13 00 0b 00 00 00 20 00 03 00 00 00 62 00 38 00 39 ./...1...J...`.............b.8.9
377c0 00 00 00 09 00 59 00 3a 00 3b 00 01 00 15 00 35 00 3c 00 3d 00 02 00 3e 00 00 00 0d 00 03 fd 00 .....Y.:.;.....5.<.=...>........
377e0 31 07 00 10 01 fa 00 18 15 00 01 00 3f 00 00 00 02 00 40 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 1...........?.....@PK.........i.
37800 3c fa 65 e4 32 d8 01 00 00 d8 01 00 00 14 00 00 00 75 74 69 6c 2f 46 69 6c 65 53 79 73 74 65 6d <.e.2............util/FileSystem
37820 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 74 69 6c 3b 0a 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e .javapackage.util;..import.java.
37840 69 6f 2e 46 69 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 46 69 6c 65 53 79 73 74 65 io.File;..public.class.FileSyste
37860 6d 20 7b 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 65 61 6e 20 63 72 65 61 74 m.{..public.static.boolean.creat
37880 65 44 69 72 28 53 74 72 69 6e 67 20 64 69 72 65 63 74 6f 72 79 29 20 7b 0a 0a 09 09 46 69 6c 65 eDir(String.directory).{....File
378a0 20 64 69 72 20 3d 20 6e 65 77 20 46 69 6c 65 28 64 69 72 65 63 74 6f 72 79 29 3b 0a 09 09 69 66 .dir.=.new.File(directory);...if
378c0 20 28 21 64 69 72 2e 69 73 44 69 72 65 63 74 6f 72 79 28 29 29 20 7b 0a 09 09 09 62 6f 6f 6c 65 .(!dir.isDirectory()).{....boole
378e0 61 6e 20 73 75 63 63 65 73 73 20 3d 20 64 69 72 2e 6d 6b 64 69 72 73 28 29 3b 0a 09 09 09 69 66 an.success.=.dir.mkdirs();....if
37900 20 28 21 73 75 63 63 65 73 73 29 20 7b 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 .(!success).{.....System.out.pri
37920 6e 74 6c 6e 28 22 55 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 64 69 72 65 63 74 6f 72 79 ntln("Unable.to.create.directory
37940 20 22 20 2b 20 64 69 72 65 63 74 6f 72 79 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 .".+.directory);.....return.fals
37960 65 3b 0a 09 09 09 7d 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 43 e;....}....System.out.println("C
37980 72 65 61 74 65 64 20 64 69 72 65 63 74 6f 72 79 20 22 20 2b 20 64 69 72 65 63 74 6f 72 79 29 3b reated.directory.".+.directory);
379a0 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c ...}.else.{....System.out.printl
379c0 6e 28 22 52 65 75 73 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 22 20 2b 20 64 69 72 65 63 74 6f n("Reusing.directory.".+.directo
379e0 72 79 29 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 7d 0a 7d 0a 50 4b 03 ry);...}...return.true;..}.}.PK.
37a00 04 0a 00 00 00 00 00 96 59 e5 3c a3 62 f2 00 89 05 00 00 89 05 00 00 18 00 00 00 75 74 69 6c 2f ........Y.<.b..............util/
37a20 4d 65 6d 6f 72 79 54 72 61 63 6b 65 72 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 50 07 00 02 MemoryTracker.class.......2.P...
37a40 01 00 12 75 74 69 6c 2f 4d 65 6d 6f 72 79 54 72 61 63 6b 65 72 07 00 04 01 00 10 6a 61 76 61 2f ...util/MemoryTracker......java/
37a60 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 05 69 6e 69 74 4d 01 00 01 44 01 00 06 66 69 6e 61 6c 4d lang/Object...initM...D...finalM
37a80 01 00 05 73 74 61 72 74 01 00 01 5a 01 00 06 66 69 6e 69 73 68 01 00 06 3c 69 6e 69 74 3e 01 00 ...start...Z...finish...<init>..
37aa0 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 0f 0c 00 0b 00 0c 09 00 01 00 11 0c 00 08 00 09 09 .()V...Code.....................
37ac0 00 01 00 13 0c 00 0a 00 09 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f ............LineNumberTable...Lo
37ae0 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 14 4c 75 74 69 6c 2f calVariableTable...this...Lutil/
37b00 4d 65 6d 6f 72 79 54 72 61 63 6b 65 72 3b 0a 00 19 00 1b 07 00 1a 01 00 10 6a 61 76 61 2f 6c 61 MemoryTracker;...........java/la
37b20 6e 67 2f 53 79 73 74 65 6d 0c 00 1c 00 0c 01 00 02 67 63 0a 00 1e 00 20 07 00 1f 01 00 11 6a 61 ng/System........gc...........ja
37b40 76 61 2f 6c 61 6e 67 2f 52 75 6e 74 69 6d 65 0c 00 21 00 22 01 00 0a 67 65 74 52 75 6e 74 69 6d va/lang/Runtime..!."...getRuntim
37b60 65 01 00 15 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 52 75 6e 74 69 6d 65 3b 0a 00 1e 00 24 0c 00 e...()Ljava/lang/Runtime;....$..
37b80 25 00 26 01 00 0b 74 6f 74 61 6c 4d 65 6d 6f 72 79 01 00 03 28 29 4a 0a 00 1e 00 28 0c 00 29 00 %.&...totalMemory...()J....(..).
37ba0 26 01 00 0a 66 72 65 65 4d 65 6d 6f 72 79 05 00 00 00 00 00 10 00 00 09 00 01 00 2d 0c 00 05 00 &...freeMemory.............-....
37bc0 06 07 00 2f 01 00 1a 6a 61 76 61 2f 6c 61 6e 67 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f .../...java/lang/RuntimeExceptio
37be0 6e 08 00 31 01 00 1a 43 61 6e 6f 74 20 73 74 6f 70 20 62 65 66 6f 72 65 20 73 74 61 72 74 69 6e n..1...Canot.stop.before.startin
37c00 67 0a 00 2e 00 33 0c 00 0b 00 34 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 g....3....4...(Ljava/lang/String
37c20 3b 29 56 09 00 01 00 36 0c 00 07 00 06 01 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 05 ;)V....6........StackMapTable...
37c40 70 72 69 6e 74 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 3b 01 print...()Ljava/lang/String;..;.
37c60 00 1b 43 61 6e 6f 74 20 70 72 69 6e 74 20 62 65 66 6f 72 65 20 73 74 6f 70 70 69 6e 67 07 00 3d ..Canot.print.before.stopping..=
37c80 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 08 00 3f 01 00 06 ...java/lang/StringBuilder..?...
37ca0 55 73 65 64 3a 20 0a 00 3c 00 33 0a 00 3c 00 42 0c 00 43 00 44 01 00 06 61 70 70 65 6e 64 01 00 Used:...<.3..<.B..C.D...append..
37cc0 1c 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 08 00 46 .(D)Ljava/lang/StringBuilder;..F
37ce0 01 00 02 4d 42 0a 00 3c 00 48 0c 00 43 00 49 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 ...MB..<.H..C.I..-(Ljava/lang/St
37d00 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a ring;)Ljava/lang/StringBuilder;.
37d20 00 3c 00 4b 0c 00 4c 00 39 01 00 08 74 6f 53 74 72 69 6e 67 01 00 05 63 6c 65 61 72 01 00 0a 53 .<.K..L.9...toString...clear...S
37d40 6f 75 72 63 65 46 69 6c 65 01 00 12 4d 65 6d 6f 72 79 54 72 61 63 6b 65 72 2e 6a 61 76 61 00 21 ourceFile...MemoryTracker.java.!
37d60 00 01 00 03 00 00 00 04 00 00 00 05 00 06 00 00 00 00 00 07 00 06 00 00 00 00 00 08 00 09 00 00 ................................
37d80 00 00 00 0a 00 09 00 00 00 05 00 01 00 0b 00 0c 00 01 00 0d 00 00 00 41 00 02 00 01 00 00 00 0f .......................A........
37da0 2a b7 00 0e 2a 03 b5 00 10 2a 03 b5 00 12 b1 00 00 00 02 00 14 00 00 00 0e 00 03 00 00 00 09 00 *...*....*......................
37dc0 04 00 07 00 0e 00 0b 00 15 00 00 00 0c 00 01 00 00 00 0f 00 16 00 17 00 00 00 01 00 08 00 0c 00 ................................
37de0 01 00 0d 00 00 00 63 00 05 00 01 00 00 00 25 b8 00 18 b8 00 18 b8 00 18 2a b8 00 1d b6 00 23 b8 ......c.......%.........*.....#.
37e00 00 1d b6 00 27 65 14 00 2a 6d 8a b5 00 2c 2a 04 b5 00 10 b1 00 00 00 02 00 14 00 00 00 1a 00 06 ....'e..*m...,*.................
37e20 00 00 00 0e 00 03 00 0f 00 06 00 10 00 09 00 11 00 1f 00 12 00 24 00 13 00 15 00 00 00 0c 00 01 .....................$..........
37e40 00 00 00 25 00 16 00 17 00 00 00 01 00 0a 00 0c 00 01 00 0d 00 00 00 85 00 05 00 01 00 00 00 36 ...%...........................6
37e60 2a b4 00 10 9a 00 0d bb 00 2e 59 12 30 b7 00 32 bf b8 00 18 b8 00 18 b8 00 18 2a b8 00 1d b6 00 *.........Y.0..2..........*.....
37e80 23 b8 00 1d b6 00 27 65 14 00 2a 6d 8a b5 00 35 2a 04 b5 00 12 b1 00 00 00 03 00 14 00 00 00 22 #.....'e..*m...5*.............."
37ea0 00 08 00 00 00 16 00 07 00 17 00 11 00 19 00 14 00 1a 00 17 00 1b 00 1a 00 1c 00 30 00 1d 00 35 ...........................0...5
37ec0 00 1e 00 15 00 00 00 0c 00 01 00 00 00 36 00 16 00 17 00 00 00 37 00 00 00 03 00 01 11 00 01 00 .............6.......7..........
37ee0 38 00 39 00 01 00 0d 00 00 00 6a 00 05 00 01 00 00 00 2f 2a b4 00 12 9a 00 0d bb 00 2e 59 12 3a 8.9.......j......./*.........Y.:
37f00 b7 00 32 bf bb 00 3c 59 12 3e b7 00 40 2a b4 00 35 2a b4 00 2c 67 b6 00 41 12 45 b6 00 47 b6 00 ..2...<Y.>..@*..5*..,g..A.E..G..
37f20 4a b0 00 00 00 03 00 14 00 00 00 0e 00 03 00 00 00 21 00 07 00 22 00 11 00 24 00 15 00 00 00 0c J................!..."...$......
37f40 00 01 00 00 00 2f 00 16 00 17 00 00 00 37 00 00 00 03 00 01 11 00 01 00 4d 00 0c 00 01 00 0d 00 ...../.......7..........M.......
37f60 00 00 4f 00 03 00 01 00 00 00 15 2a 0e b5 00 2c 2a 0e b5 00 35 2a 03 b5 00 12 2a 03 b5 00 10 b1 ..O........*...,*...5*....*.....
37f80 00 00 00 02 00 14 00 00 00 16 00 05 00 00 00 28 00 05 00 29 00 0a 00 2a 00 0f 00 2b 00 14 00 2c ...............(...)...*...+...,
37fa0 00 15 00 00 00 0c 00 01 00 00 00 15 00 16 00 17 00 00 00 01 00 4e 00 00 00 02 00 4f 50 4b 03 04 .....................N.....OPK..
37fc0 0a 00 00 00 00 00 b3 69 d6 3c 92 43 73 12 65 03 00 00 65 03 00 00 17 00 00 00 75 74 69 6c 2f 4d .......i.<.Cs.e...e.......util/M
37fe0 65 6d 6f 72 79 54 72 61 63 6b 65 72 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 74 69 6c 3b 0a 0a emoryTracker.javapackage.util;..
38000 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 4d 65 6d 6f 72 79 54 72 61 63 6b 65 72 20 7b 0a 09 0a .public.class.MemoryTracker.{...
38020 09 64 6f 75 62 6c 65 20 69 6e 69 74 4d 2c 66 69 6e 61 6c 4d 3b 0a 09 62 6f 6f 6c 65 61 6e 20 73 .double.initM,finalM;..boolean.s
38040 74 61 72 74 20 3d 20 66 61 6c 73 65 2c 66 69 6e 69 73 68 20 3d 20 66 61 6c 73 65 3b 0a 09 0a 09 tart.=.false,finish.=.false;....
38060 70 75 62 6c 69 63 20 4d 65 6d 6f 72 79 54 72 61 63 6b 65 72 28 29 7b 0a 09 09 0a 09 7d 0a 09 0a public.MemoryTracker(){.....}...
38080 09 70 75 62 6c 69 63 20 76 6f 69 64 20 73 74 61 72 74 28 29 7b 0a 09 09 53 79 73 74 65 6d 2e 67 .public.void.start(){...System.g
380a0 63 28 29 3b 0a 09 20 20 20 20 53 79 73 74 65 6d 2e 67 63 28 29 3b 0a 09 20 20 20 20 53 79 73 74 c();......System.gc();......Syst
380c0 65 6d 2e 67 63 28 29 3b 0a 09 20 20 20 20 69 6e 69 74 4d 20 3d 20 28 52 75 6e 74 69 6d 65 2e 67 em.gc();......initM.=.(Runtime.g
380e0 65 74 52 75 6e 74 69 6d 65 28 29 2e 74 6f 74 61 6c 4d 65 6d 6f 72 79 28 29 20 2d 20 52 75 6e 74 etRuntime().totalMemory().-.Runt
38100 69 6d 65 2e 67 65 74 52 75 6e 74 69 6d 65 28 29 2e 66 72 65 65 4d 65 6d 6f 72 79 28 29 29 2f 28 ime.getRuntime().freeMemory())/(
38120 31 30 32 34 2a 31 30 32 34 29 3b 20 20 0a 09 20 20 20 20 73 74 61 72 74 20 3d 20 74 72 75 65 3b 1024*1024);........start.=.true;
38140 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 76 6f 69 64 20 66 69 6e 69 73 68 28 29 7b 0a 09 09 69 ..}....public.void.finish(){...i
38160 66 28 21 73 74 61 72 74 29 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 f(!start){....throw.new.RuntimeE
38180 78 63 65 70 74 69 6f 6e 28 22 43 61 6e 6f 74 20 73 74 6f 70 20 62 65 66 6f 72 65 20 73 74 61 72 xception("Canot.stop.before.star
381a0 74 69 6e 67 22 29 3b 0a 09 09 7d 0a 09 09 53 79 73 74 65 6d 2e 67 63 28 29 3b 0a 09 20 20 20 20 ting");...}...System.gc();......
381c0 53 79 73 74 65 6d 2e 67 63 28 29 3b 0a 09 20 20 20 20 53 79 73 74 65 6d 2e 67 63 28 29 3b 0a 09 System.gc();......System.gc();..
381e0 20 20 20 20 66 69 6e 61 6c 4d 20 3d 20 28 52 75 6e 74 69 6d 65 2e 67 65 74 52 75 6e 74 69 6d 65 ....finalM.=.(Runtime.getRuntime
38200 28 29 2e 74 6f 74 61 6c 4d 65 6d 6f 72 79 28 29 20 2d 20 52 75 6e 74 69 6d 65 2e 67 65 74 52 75 ().totalMemory().-.Runtime.getRu
38220 6e 74 69 6d 65 28 29 2e 66 72 65 65 4d 65 6d 6f 72 79 28 29 29 2f 28 31 30 32 34 2a 31 30 32 34 ntime().freeMemory())/(1024*1024
38240 29 3b 20 20 0a 09 20 20 20 20 66 69 6e 69 73 68 20 3d 20 74 72 75 65 3b 0a 09 7d 0a 09 0a 09 70 );........finish.=.true;..}....p
38260 75 62 6c 69 63 20 53 74 72 69 6e 67 20 70 72 69 6e 74 28 29 7b 0a 09 09 69 66 28 21 66 69 6e 69 ublic.String.print(){...if(!fini
38280 73 68 29 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 sh){....throw.new.RuntimeExcepti
382a0 6f 6e 28 22 43 61 6e 6f 74 20 70 72 69 6e 74 20 62 65 66 6f 72 65 20 73 74 6f 70 70 69 6e 67 22 on("Canot.print.before.stopping"
382c0 29 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 22 55 73 65 64 3a 20 22 20 2b 20 28 66 69 6e 61 );...}...return."Used:.".+.(fina
382e0 6c 4d 20 2d 20 69 6e 69 74 4d 29 20 2b 20 22 4d 42 22 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 lM.-.initM).+."MB";..}....public
38300 20 76 6f 69 64 20 63 6c 65 61 72 28 29 7b 0a 09 09 69 6e 69 74 4d 20 3d 20 30 3b 0a 09 09 66 69 .void.clear(){...initM.=.0;...fi
38320 6e 61 6c 4d 20 3d 20 30 3b 0a 09 09 66 69 6e 69 73 68 20 3d 20 66 61 6c 73 65 3b 0a 09 09 73 74 nalM.=.0;...finish.=.false;...st
38340 61 72 74 20 3d 20 66 61 6c 73 65 3b 0a 09 7d 0a 09 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 art.=.false;..}.....}.PK........
38360 96 59 e5 3c 10 7c 3c 0c 81 13 00 00 81 13 00 00 13 00 00 00 75 74 69 6c 2f 50 72 69 6e 74 69 6e .Y.<.|<.............util/Printin
38380 67 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 b2 07 00 02 01 00 0d 75 74 69 6c 2f 50 72 69 6e g.class.......2........util/Prin
383a0 74 69 6e 67 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 03 66 6d 74 ting......java/lang/Object...fmt
383c0 01 00 19 4c 6a 61 76 61 2f 74 65 78 74 2f 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 3b 01 00 08 3c ...Ljava/text/DecimalFormat;...<
383e0 63 6c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 07 00 0b 01 00 17 6a 61 76 61 2f 74 clinit>...()V...Code......java/t
38400 65 78 74 2f 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 0a 00 0a 00 0d 0c 00 0e 00 08 01 00 06 3c 69 ext/DecimalFormat.............<i
38420 6e 69 74 3e 09 00 01 00 10 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 nit>.............LineNumberTable
38440 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 0a 00 03 00 0d 01 00 04 74 68 69 ...LocalVariableTable........thi
38460 73 01 00 0f 4c 75 74 69 6c 2f 50 72 69 6e 74 69 6e 67 3b 01 00 0c 70 61 64 57 69 74 68 53 70 61 s...Lutil/Printing;...padWithSpa
38480 63 65 01 00 27 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 49 29 4c 6a 61 76 61 2f ce..'(Ljava/lang/String;I)Ljava/
384a0 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 07 00 19 01 00 16 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 lang/String;......java/lang/Stri
384c0 6e 67 42 75 66 66 65 72 0a 00 18 00 0d 08 00 1c 01 00 01 20 0a 00 18 00 1e 0c 00 1f 00 20 01 00 ngBuffer........................
384e0 06 61 70 70 65 6e 64 01 00 2c 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a .append..,(Ljava/lang/String;)Lj
38500 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 66 66 65 72 3b 0a 00 18 00 22 0c 00 23 00 24 ava/lang/StringBuffer;...."..#.$
38520 01 00 06 6c 65 6e 67 74 68 01 00 03 28 29 49 0a 00 26 00 22 07 00 27 01 00 10 6a 61 76 61 2f 6c ...length...()I..&."..'...java/l
38540 61 6e 67 2f 53 74 72 69 6e 67 0a 00 18 00 29 0c 00 2a 00 2b 01 00 08 74 6f 53 74 72 69 6e 67 01 ang/String....)..*.+...toString.
38560 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 01 73 01 00 12 4c 6a 61 ..()Ljava/lang/String;...s...Lja
38580 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 03 6c 65 6e 01 00 01 49 01 00 02 73 62 01 00 va/lang/String;...len...I...sb..
385a0 18 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 66 66 65 72 3b 01 00 0d 53 74 61 63 .Ljava/lang/StringBuffer;...Stac
385c0 6b 4d 61 70 54 61 62 6c 65 01 00 0b 70 72 65 74 74 79 50 72 69 6e 74 01 00 28 28 44 4c 6a 61 76 kMapTable...prettyPrint..((DLjav
385e0 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e a/lang/String;I)Ljava/lang/Strin
38600 67 3b 0a 00 0a 00 36 0c 00 37 00 38 01 00 0c 61 70 70 6c 79 50 61 74 74 65 72 6e 01 00 15 28 4c g;....6..7.8...applyPattern...(L
38620 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 0a 00 3a 0c 00 3b 00 3c 01 00 06 java/lang/String;)V....:..;.<...
38640 66 6f 72 6d 61 74 01 00 15 28 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 07 00 format...(D)Ljava/lang/String;..
38660 3e 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 0a 00 3d 00 40 >...java/lang/StringBuilder..=.@
38680 0c 00 0e 00 38 0a 00 3d 00 42 0c 00 1f 00 43 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 ....8..=.B....C..-(Ljava/lang/St
386a0 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a ring;)Ljava/lang/StringBuilder;.
386c0 00 3d 00 29 01 00 01 64 01 00 01 44 01 00 04 70 61 74 74 01 00 0a 66 6f 72 6d 61 74 54 69 6d 65 .=.)...d...D...patt...formatTime
386e0 01 00 15 28 4a 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 3d 00 0d 05 00 00 ...(J)Ljava/lang/String;..=.....
38700 00 00 00 00 03 e8 08 00 4e 01 00 02 30 30 06 40 ac 20 00 00 00 00 00 0a 00 0a 00 52 0c 00 3b 00 ........N...00.@...........R..;.
38720 49 0a 00 26 00 54 0c 00 55 00 56 01 00 07 76 61 6c 75 65 4f 66 01 00 26 28 4c 6a 61 76 61 2f 6c I..&.T..U.V...valueOf..&(Ljava/l
38740 61 6e 67 2f 4f 62 6a 65 63 74 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 ang/Object;)Ljava/lang/String;..
38760 58 01 00 01 3a 06 40 4e 00 00 00 00 00 00 08 00 5c 01 00 04 30 30 2e 30 01 00 08 64 75 72 61 74 X...:.@N........\...00.0...durat
38780 69 6f 6e 01 00 01 4a 01 00 19 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 ion...J...Ljava/lang/StringBuild
387a0 65 72 3b 01 00 13 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 01 00 3b 28 5b 44 5b er;...doubleArrayToString..;([D[
387c0 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 Ljava/lang/String;Ljava/lang/Str
387e0 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 63 01 00 01 0a 0a 00 ing;)Ljava/lang/String;..c......
38800 26 00 65 0c 00 55 00 66 01 00 15 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b &.e..U.f...(I)Ljava/lang/String;
38820 08 00 68 01 00 08 20 20 20 20 20 20 20 09 08 00 6a 01 00 01 09 08 00 6c 01 00 04 73 75 6d 0a 08 ..h.............j......l...sum..
38840 00 6e 01 00 0a 30 2e 30 30 30 30 30 45 30 30 0a 00 01 00 70 0c 00 33 00 34 01 00 05 61 72 72 61 .n...0.00000E00....p..3.4...arra
38860 79 01 00 02 5b 44 01 00 06 6c 61 62 65 6c 73 01 00 13 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 y...[D...labels...[Ljava/lang/St
38880 72 69 6e 67 3b 01 00 09 61 72 72 61 79 4e 61 6d 65 01 00 03 72 65 73 01 00 01 69 01 00 03 73 75 ring;...arrayName...res...i...su
388a0 6d 07 00 72 07 00 74 01 00 10 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 01 00 2a 28 5b 44 m..r..t...printDoubleArray..*([D
388c0 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 [Ljava/lang/String;Ljava/lang/St
388e0 72 69 6e 67 3b 29 56 09 00 7e 00 80 07 00 7f 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 73 74 ring;)V..~........java/lang/Syst
38900 65 6d 0c 00 81 00 82 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 53 74 em........out...Ljava/io/PrintSt
38920 72 65 61 6d 3b 0a 00 01 00 84 0c 00 60 00 61 0a 00 86 00 88 07 00 87 01 00 13 6a 61 76 61 2f 69 ream;.......`.a...........java/i
38940 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 0c 00 89 00 38 01 00 07 70 72 69 6e 74 6c 6e 01 00 4f 28 o/PrintStream....8...println..O(
38960 5b 5b 44 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 5b 4c 6a 61 76 61 2f 6c 61 6e [[D[Ljava/lang/String;[Ljava/lan
38980 67 2f 53 74 72 69 6e 67 3b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 g/String;Ljava/lang/String;)Ljav
389a0 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 8c 01 00 02 0a 09 08 00 8e 01 00 09 20 20 20 20 a/lang/String;..................
389c0 20 20 20 20 09 08 00 90 01 00 04 73 75 6d 09 01 00 03 5b 5b 44 01 00 07 6c 61 62 65 6c 73 31 01 ...........sum....[[D...labels1.
389e0 00 07 6c 61 62 65 6c 73 32 01 00 04 73 75 6d 73 01 00 01 6a 07 00 91 01 00 3e 28 5b 5b 44 5b 4c ..labels2...sums...j.....>([[D[L
38a00 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 java/lang/String;[Ljava/lang/Str
38a20 69 6e 67 3b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 01 00 99 0c 00 60 ing;Ljava/lang/String;)V.......`
38a40 00 8a 01 00 0d 70 72 69 6e 74 49 6e 74 41 72 72 61 79 01 00 40 28 5b 5b 49 5b 4c 6a 61 76 61 2f .....printIntArray..@([[I[Ljava/
38a60 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 4c lang/String;[Ljava/lang/String;L
38a80 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 49 49 29 56 0a 00 3d 00 9d 0c 00 1f 00 9e 01 java/lang/String;II)V..=........
38aa0 00 1c 28 49 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a 00 ..(I)Ljava/lang/StringBuilder;..
38ac0 86 00 a0 0c 00 a1 00 38 01 00 05 70 72 69 6e 74 0a 00 86 00 a3 0c 00 89 00 08 01 00 03 5b 5b 49 .......8...print.............[[I
38ae0 01 00 05 73 69 7a 65 31 01 00 05 73 69 7a 65 32 01 00 10 69 6e 74 41 72 72 61 79 54 6f 53 74 72 ...size1...size2...intArrayToStr
38b00 69 6e 67 01 00 3b 28 5b 49 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 4c 6a 61 76 ing..;([I[Ljava/lang/String;Ljav
38b20 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 a/lang/String;)Ljava/lang/String
38b40 3b 01 00 02 5b 49 01 00 2a 28 5b 49 5b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 4c ;...[I..*([I[Ljava/lang/String;L
38b60 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 01 00 ac 0c 00 a7 00 a8 01 00 17 java/lang/String;)V.............
38b80 28 5b 5b 44 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 08 00 af 01 00 06 30 2e 30 ([[D)Ljava/lang/String;......0.0
38ba0 30 45 30 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0d 50 72 69 6e 74 69 6e 67 2e 6a 61 76 61 0E0...SourceFile...Printing.java
38bc0 00 21 00 01 00 03 00 00 00 01 00 08 00 05 00 06 00 00 00 0d 00 08 00 07 00 08 00 01 00 09 00 00 .!..............................
38be0 00 2f 00 02 00 00 00 00 00 0b bb 00 0a 59 b7 00 0c b3 00 0f b1 00 00 00 02 00 11 00 00 00 0a 00 ./...........Y..................
38c00 02 00 00 00 04 00 0a 00 03 00 12 00 00 00 02 00 00 00 01 00 0e 00 08 00 01 00 09 00 00 00 2f 00 ............................../.
38c20 01 00 01 00 00 00 05 2a b7 00 13 b1 00 00 00 02 00 11 00 00 00 06 00 01 00 00 00 03 00 12 00 00 .......*........................
38c40 00 0c 00 01 00 00 00 05 00 14 00 15 00 00 00 09 00 16 00 17 00 01 00 09 00 00 00 8b 00 02 00 03 ................................
38c60 00 00 00 2a bb 00 18 59 b7 00 1a 4d a7 00 0a 2c 12 1b b6 00 1d 57 2c b6 00 21 2a b6 00 25 60 1b ...*...Y...M...,.....W,..!*..%`.
38c80 a1 ff ef 2c 2a b6 00 1d 57 2c b6 00 28 b0 00 00 00 03 00 11 00 00 00 1a 00 06 00 00 00 07 00 08 ...,*...W,..(...................
38ca0 00 08 00 0b 00 09 00 12 00 08 00 1f 00 0b 00 25 00 0c 00 12 00 00 00 20 00 03 00 00 00 2a 00 2c ...............%.............*.,
38cc0 00 2d 00 00 00 00 00 2a 00 2e 00 2f 00 01 00 08 00 22 00 30 00 31 00 02 00 32 00 00 00 09 00 02 .-.....*.../.....".0.1...2......
38ce0 fc 00 0b 07 00 18 06 00 09 00 33 00 34 00 01 00 09 00 00 00 9d 00 03 00 05 00 00 00 32 b2 00 0f ..........3.4...............2...
38d00 2c b6 00 35 b2 00 0f 26 b6 00 39 3a 04 a7 00 16 bb 00 3d 59 12 1b b7 00 3f 19 04 b6 00 41 b6 00 ,..5...&..9:......=Y....?....A..
38d20 44 3a 04 19 04 b6 00 25 1d a1 ff e7 19 04 b0 00 00 00 03 00 11 00 00 00 1a 00 06 00 00 00 10 00 D:.....%........................
38d40 07 00 11 00 10 00 12 00 13 00 13 00 26 00 12 00 2f 00 15 00 12 00 00 00 2a 00 04 00 00 00 32 00 ............&.../.......*.....2.
38d60 45 00 46 00 00 00 00 00 32 00 47 00 2d 00 02 00 00 00 32 00 2e 00 2f 00 03 00 10 00 22 00 2c 00 E.F.....2.G.-.....2.../.....".,.
38d80 2d 00 04 00 32 00 00 00 09 00 02 fc 00 13 07 00 26 12 00 09 00 48 00 49 00 01 00 09 00 00 00 f6 -...2...........&....H.I........
38da0 00 08 00 05 00 00 00 94 bb 00 3d 59 b7 00 4a 4d 1e 14 00 4b 6d 8a 4a b2 00 0f 12 4d b6 00 35 2c ..........=Y..JM...Km.J....M..5,
38dc0 bb 00 3d 59 b2 00 0f 29 14 00 4f 6f 8e 85 b6 00 51 b8 00 53 b7 00 3f 12 57 b6 00 41 b6 00 44 b6 ..=Y...)..Oo....Q..S..?.W..A..D.
38de0 00 41 57 29 29 8e 11 0e 10 6c 10 3c 68 10 3c 68 87 67 4a 2c bb 00 3d 59 b2 00 0f 29 14 00 59 6f .AW))....l.<h.<h.gJ,..=Y...)..Yo
38e00 8e 85 b6 00 51 b8 00 53 b7 00 3f 12 57 b6 00 41 b6 00 44 b6 00 41 57 29 29 8e 10 3c 6c 10 3c 68 ....Q..S..?.W..A..D..AW))..<l.<h
38e20 87 67 4a b2 00 0f 12 5b b6 00 35 2c b2 00 0f 29 b6 00 39 b6 00 41 57 2c b6 00 44 b0 00 00 00 02 .gJ....[..5,...)..9..AW,..D.....
38e40 00 11 00 00 00 2a 00 0a 00 00 00 19 00 08 00 1a 00 0f 00 1b 00 17 00 1c 00 3b 00 1d 00 4b 00 1e .....*...................;...K..
38e60 00 6f 00 1f 00 7b 00 20 00 83 00 21 00 8f 00 22 00 12 00 00 00 20 00 03 00 00 00 94 00 5d 00 5e .o...{.....!...".............].^
38e80 00 00 00 08 00 8c 00 30 00 5f 00 02 00 0f 00 85 00 45 00 46 00 03 00 09 00 60 00 61 00 01 00 09 .......0._.......E.F.....`.a....
38ea0 00 00 01 a4 00 07 00 07 00 00 00 ca bb 00 18 59 b7 00 1a 4e 2d 2c b6 00 1d 57 2d 12 62 b6 00 1d ...............Y...N-,...W-.b...
38ec0 57 03 36 04 a7 00 41 2b c7 00 1f 2d bb 00 3d 59 15 04 b8 00 64 b7 00 3f 12 67 b6 00 41 b6 00 44 W.6...A+...-..=Y....d..?.g..A..D
38ee0 b6 00 1d 57 a7 00 1e 2d bb 00 3d 59 2b 15 04 32 b8 00 53 b7 00 3f 12 69 b6 00 41 b6 00 44 b6 00 ...W...-..=Y+..2..S..?.i..A..D..
38f00 1d 57 84 04 01 15 04 2a be a1 ff be 2d 12 6b b6 00 1d 57 0e 39 04 03 36 06 a7 00 31 2d bb 00 3d .W.....*....-.k...W.9..6...1-..=
38f20 59 2a 15 06 31 12 6d 10 08 b8 00 6f b8 00 53 b7 00 3f 12 69 b6 00 41 b6 00 44 b6 00 1d 57 18 04 Y*..1.m....o..S..?.i..A..D...W..
38f40 2a 15 06 31 63 39 04 84 06 01 15 06 2a be a1 ff ce 2d bb 00 3d 59 18 04 12 6d 10 08 b8 00 6f b8 *..1c9......*....-..=Y...m....o.
38f60 00 53 b7 00 3f 12 62 b6 00 41 b6 00 44 b6 00 1d 57 2d b6 00 28 b0 00 00 00 03 00 11 00 00 00 52 .S..?.b..A..D...W-..(..........R
38f80 00 14 00 00 00 27 00 08 00 28 00 0e 00 29 00 15 00 2a 00 1b 00 2b 00 1f 00 2c 00 3b 00 2e 00 56 .....'...(...)...*...+...,.;...V
38fa0 00 2a 00 60 00 31 00 67 00 32 00 6a 00 33 00 70 00 34 00 79 00 35 00 8e 00 34 00 92 00 36 00 9b .*.`.1.g.2.j.3.p.4.y.5...4...6..
38fc0 00 33 00 a5 00 38 00 ac 00 39 00 c1 00 38 00 c5 00 3a 00 12 00 00 00 48 00 07 00 00 00 ca 00 71 .3...8...9...8...:.....H.......q
38fe0 00 72 00 00 00 00 00 ca 00 73 00 74 00 01 00 00 00 ca 00 75 00 2d 00 02 00 08 00 c2 00 76 00 31 .r.......s.t.......u.-.......v.1
39000 00 03 00 18 00 48 00 77 00 2f 00 04 00 6a 00 60 00 78 00 46 00 04 00 6d 00 38 00 77 00 2f 00 06 .....H.w./...j.`.x.F...m.8.w./..
39020 00 32 00 00 00 22 00 06 fd 00 1b 07 00 18 01 1f 1a 02 ff 00 16 00 06 07 00 79 07 00 7a 07 00 26 .2..."...................y..z..&
39040 07 00 18 03 01 00 00 2d 00 09 00 7b 00 7c 00 01 00 09 00 00 00 4f 00 04 00 03 00 00 00 0d b2 00 .......-...{.|.......O..........
39060 7d 2a 2b 2c b8 00 83 b6 00 85 b1 00 00 00 02 00 11 00 00 00 0a 00 02 00 00 00 40 00 0c 00 41 00 }*+,......................@...A.
39080 12 00 00 00 20 00 03 00 00 00 0d 00 71 00 72 00 00 00 00 00 0d 00 73 00 74 00 01 00 00 00 0d 00 ............q.r.......s.t.......
390a0 75 00 2d 00 02 00 09 00 60 00 8a 00 01 00 09 00 00 02 e4 00 07 00 0a 00 00 01 9c bb 00 18 59 b7 u.-.....`.....................Y.
390c0 00 1a 3a 04 19 04 2d b6 00 1d 57 19 04 12 8b b6 00 1d 57 2a 03 32 be 04 60 bc 07 3a 05 03 36 06 ..:...-...W.......W*.2..`..:..6.
390e0 a7 00 43 2b c7 00 20 19 04 bb 00 3d 59 15 06 b8 00 64 b7 00 3f 12 8d b6 00 41 b6 00 44 b6 00 1d ..C+.......=Y....d..?....A..D...
39100 57 a7 00 1f 19 04 bb 00 3d 59 2b 15 06 32 b8 00 53 b7 00 3f 12 8d b6 00 41 b6 00 44 b6 00 1d 57 W.......=Y+..2..S..?....A..D...W
39120 84 06 01 15 06 2a 03 32 be a1 ff ba 19 04 12 6b b6 00 1d 57 0e 39 06 03 36 08 a7 00 c8 2c c7 00 .....*.2.......k...W.9..6....,..
39140 20 19 04 bb 00 3d 59 15 08 b8 00 64 b7 00 3f 12 69 b6 00 41 b6 00 44 b6 00 1d 57 a7 00 1f 19 04 .....=Y....d..?.i..A..D...W.....
39160 bb 00 3d 59 2c 15 08 32 b8 00 53 b7 00 3f 12 69 b6 00 41 b6 00 44 b6 00 1d 57 03 36 09 a7 00 49 ..=Y,..2..S..?.i..A..D...W.6...I
39180 19 04 bb 00 3d 59 12 1b b7 00 3f 2a 15 08 32 15 09 31 12 6d 10 08 b8 00 6f b6 00 41 12 69 b6 00 ....=Y....?*..2..1.m....o..A.i..
391a0 41 b6 00 44 b6 00 1d 57 19 05 15 09 5c 31 2a 15 08 32 15 09 31 63 52 18 06 2a 15 08 32 15 09 31 A..D...W....\1*..2..1cR..*..2..1
391c0 63 39 06 84 09 01 15 09 2a 03 32 be a1 ff b4 19 04 bb 00 3d 59 18 06 12 6d 10 08 b8 00 6f b8 00 c9......*.2........=Y...m....o..
391e0 53 b7 00 3f 12 62 b6 00 41 b6 00 44 b6 00 1d 57 19 05 2a 03 32 be 5c 31 18 06 63 52 0e 39 06 84 S..?.b..A..D...W..*.2.\1..cR.9..
39200 08 01 15 08 2a be a1 ff 37 19 04 12 8f b6 00 1d 57 03 36 08 a7 00 2a 19 04 bb 00 3d 59 19 05 15 ....*...7.......W.6...*....=Y...
39220 08 31 12 6d 10 08 b8 00 6f b8 00 53 b7 00 3f 12 69 b6 00 41 b6 00 44 b6 00 1d 57 84 08 01 15 08 .1.m....o..S..?.i..A..D...W.....
39240 2a 03 32 be 04 60 a1 ff d1 19 04 12 62 b6 00 1d 57 19 04 b6 00 28 b0 00 00 00 03 00 11 00 00 00 *.2..`......b...W....(..........
39260 82 00 20 00 00 00 46 00 09 00 47 00 10 00 48 00 18 00 4a 00 22 00 4c 00 28 00 4d 00 2c 00 4e 00 ......F...G...H...J.".L.(.M.,.N.
39280 49 00 50 00 65 00 4c 00 71 00 53 00 79 00 54 00 7c 00 56 00 82 00 57 00 86 00 58 00 a3 00 5a 00 I.P.e.L.q.S.y.T.|.V...W...X...Z.
392a0 bf 00 5d 00 c5 00 5e 00 d7 00 5f 00 e9 00 5e 00 ed 00 60 00 fc 00 61 01 08 00 5d 01 14 00 64 01 ..]...^..._...^...`...a...]...d.
392c0 35 00 65 01 41 00 66 01 44 00 56 01 4e 00 68 01 56 00 6a 01 5c 00 6b 01 80 00 6a 01 8e 00 6d 01 5.e.A.f.D.V.N.h.V.j.\.k...j...m.
392e0 96 00 6e 00 12 00 00 00 70 00 0b 00 00 01 9c 00 71 00 91 00 00 00 00 01 9c 00 92 00 74 00 01 00 ..n.....p.......q...........t...
39300 00 01 9c 00 93 00 74 00 02 00 00 01 9c 00 75 00 2d 00 03 00 09 01 93 00 76 00 31 00 04 00 22 01 ......t.......u.-.......v.1...".
39320 7a 00 94 00 72 00 05 00 25 00 4c 00 77 00 2f 00 06 00 7c 01 20 00 78 00 46 00 06 00 7f 00 cf 00 z...r...%.L.w./...|...x.F.......
39340 77 00 2f 00 08 00 c2 00 52 00 95 00 2f 00 09 01 59 00 35 00 77 00 2f 00 08 00 32 00 00 00 38 00 w./.....R.../...Y.5.w./...2...8.
39360 0c fe 00 28 07 00 18 07 00 79 01 20 1b 02 ff 00 19 00 08 07 00 96 07 00 7a 07 00 7a 07 00 26 07 ...(.....y..............z..z..&.
39380 00 18 07 00 79 03 01 00 00 20 1b fc 00 05 01 fb 00 45 fa 00 3b 14 26 00 09 00 7b 00 97 00 01 00 ....y............E..;.&...{.....
393a0 09 00 00 00 5a 00 05 00 04 00 00 00 0e b2 00 7d 2a 2b 2c 2d b8 00 98 b6 00 85 b1 00 00 00 02 00 ....Z..........}*+,-............
393c0 11 00 00 00 0a 00 02 00 00 00 73 00 0d 00 74 00 12 00 00 00 2a 00 04 00 00 00 0e 00 71 00 91 00 ..........s...t.....*.......q...
393e0 00 00 00 00 0e 00 92 00 74 00 01 00 00 00 0e 00 93 00 74 00 02 00 00 00 0e 00 75 00 2d 00 03 00 ........t.........t.......u.-...
39400 09 00 9a 00 9b 00 01 00 09 00 00 00 f9 00 04 00 08 00 00 00 55 b2 00 7d 2d b6 00 85 03 36 06 a7 ....................U..}-....6..
39420 00 3d 03 36 07 a7 00 27 b2 00 7d bb 00 3d 59 12 1b b7 00 3f 2a 15 06 32 15 07 2e b6 00 9c 12 1b .=.6...'..}..=Y....?*..2........
39440 b6 00 41 b6 00 44 b6 00 9f 84 07 01 15 07 15 05 a1 ff d8 b2 00 7d b6 00 a2 84 06 01 15 06 15 04 ..A..D...............}..........
39460 a1 ff c2 b2 00 7d b6 00 a2 b1 00 00 00 03 00 11 00 00 00 26 00 09 00 00 00 79 00 07 00 7a 00 0d .....}.............&.....y...z..
39480 00 7b 00 13 00 7c 00 34 00 7b 00 3e 00 7f 00 44 00 7a 00 4e 00 81 00 54 00 82 00 12 00 00 00 52 .{...|.4.{.>...D.z.N...T.......R
394a0 00 08 00 00 00 55 00 71 00 a4 00 00 00 00 00 55 00 92 00 74 00 01 00 00 00 55 00 93 00 74 00 02 .....U.q.......U...t.....U...t..
394c0 00 00 00 55 00 75 00 2d 00 03 00 00 00 55 00 a5 00 2f 00 04 00 00 00 55 00 a6 00 2f 00 05 00 0a ...U.u.-.....U.../.....U.../....
394e0 00 44 00 77 00 2f 00 06 00 10 00 2e 00 95 00 2f 00 07 00 32 00 00 00 0e 00 04 fc 00 0d 01 fc 00 .D.w./........./...2............
39500 05 01 23 fa 00 0f 00 09 00 a7 00 a8 00 01 00 09 00 00 00 c1 00 04 00 05 00 00 00 47 bb 00 18 59 ..#........................G...Y
39520 b7 00 1a 4e 2d 2c b6 00 1d 57 03 36 04 a7 00 23 2d bb 00 3d 59 12 1b b7 00 3f 2a 15 04 2e b6 00 ...N-,...W.6...#-..=Y....?*.....
39540 9c 12 1b b6 00 41 b6 00 44 b6 00 1d 57 84 04 01 15 04 2a be a1 ff dc 2d 12 62 b6 00 1d 57 2d b6 .....A..D...W.....*....-.b...W-.
39560 00 28 b0 00 00 00 03 00 11 00 00 00 1e 00 07 00 00 00 85 00 08 00 86 00 0e 00 87 00 14 00 88 00 .(..............................
39580 31 00 87 00 3b 00 8b 00 42 00 8c 00 12 00 00 00 34 00 05 00 00 00 47 00 71 00 a9 00 00 00 00 00 1...;...B.......4.....G.q.......
395a0 47 00 73 00 74 00 01 00 00 00 47 00 75 00 2d 00 02 00 08 00 3f 00 76 00 31 00 03 00 11 00 2a 00 G.s.t.....G.u.-.....?.v.1.....*.
395c0 77 00 2f 00 04 00 32 00 00 00 0a 00 02 fd 00 14 07 00 18 01 1f 00 09 00 9a 00 aa 00 01 00 09 00 w./...2.........................
395e0 00 00 4f 00 04 00 03 00 00 00 0d b2 00 7d 2a 2b 2c b8 00 ab b6 00 85 b1 00 00 00 02 00 11 00 00 ..O..........}*+,...............
39600 00 0a 00 02 00 00 00 90 00 0c 00 91 00 12 00 00 00 20 00 03 00 00 00 0d 00 71 00 a9 00 00 00 00 .........................q......
39620 00 0d 00 73 00 74 00 01 00 00 00 0d 00 75 00 2d 00 02 00 09 00 2a 00 ad 00 01 00 09 00 00 00 be ...s.t.......u.-.....*..........
39640 00 05 00 04 00 00 00 43 bb 00 18 59 b7 00 1a 4c 03 3d a7 00 2e 03 3e a7 00 17 2b 2a 1c 32 1d 31 .......C...Y...L.=....>...+*.2.1
39660 12 ae 10 0a b8 00 6f b6 00 1d 57 84 03 01 1d 2a 03 32 be a1 ff e7 2b 12 62 b6 00 1d 57 84 02 01 ......o...W....*.2....+.b...W...
39680 1c 2a be a1 ff d2 2b b6 00 28 b0 00 00 00 03 00 11 00 00 00 22 00 08 00 00 00 94 00 08 00 95 00 .*....+..(.........."...........
396a0 0d 00 96 00 12 00 97 00 23 00 96 00 2e 00 99 00 35 00 95 00 3e 00 9b 00 12 00 00 00 2a 00 04 00 ........#.......5...>.......*...
396c0 00 00 43 00 45 00 91 00 00 00 08 00 3b 00 30 00 31 00 01 00 0a 00 34 00 77 00 2f 00 02 00 0f 00 ..C.E.......;.0.1.....4.w./.....
396e0 1f 00 95 00 2f 00 03 00 32 00 00 00 11 00 04 fd 00 0d 07 00 18 01 fc 00 04 01 13 fa 00 11 00 01 ..../...2.......................
39700 00 b0 00 00 00 02 00 b1 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c bd 07 92 fe 7c 10 00 00 7c 10 ........PK.........i.<....|...|.
39720 00 00 12 00 00 00 75 74 69 6c 2f 50 72 69 6e 74 69 6e 67 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 ......util/Printing.javapackage.
39740 75 74 69 6c 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 50 72 69 6e 74 69 6e 67 20 7b 0a 09 util;..public.class.Printing.{..
39760 73 74 61 74 69 63 20 6a 61 76 61 2e 74 65 78 74 2e 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 20 66 static.java.text.DecimalFormat.f
39780 6d 74 20 3d 20 6e 65 77 20 6a 61 76 61 2e 74 65 78 74 2e 44 65 63 69 6d 61 6c 46 6f 72 6d 61 74 mt.=.new.java.text.DecimalFormat
397a0 28 29 3b 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 53 74 72 69 6e 67 20 70 61 64 57 69 ();...public.static.String.padWi
397c0 74 68 53 70 61 63 65 28 53 74 72 69 6e 67 20 73 2c 20 69 6e 74 20 6c 65 6e 29 7b 0a 09 09 53 74 thSpace(String.s,.int.len){...St
397e0 72 69 6e 67 42 75 66 66 65 72 20 73 62 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 75 66 66 65 72 ringBuffer.sb.=.new.StringBuffer
39800 28 29 3b 0a 09 09 77 68 69 6c 65 28 73 62 2e 6c 65 6e 67 74 68 28 29 20 2b 73 2e 6c 65 6e 67 74 ();...while(sb.length().+s.lengt
39820 68 28 29 20 3c 20 6c 65 6e 29 7b 0a 09 09 09 73 62 2e 61 70 70 65 6e 64 28 22 20 22 29 3b 0a 09 h().<.len){....sb.append(".");..
39840 09 7d 0a 09 09 73 62 2e 61 70 70 65 6e 64 28 73 29 3b 0a 09 09 72 65 74 75 72 6e 20 73 62 2e 74 .}...sb.append(s);...return.sb.t
39860 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 53 oString();..}....public.static.S
39880 74 72 69 6e 67 20 70 72 65 74 74 79 50 72 69 6e 74 28 64 6f 75 62 6c 65 20 64 2c 20 53 74 72 69 tring.prettyPrint(double.d,.Stri
398a0 6e 67 20 70 61 74 74 2c 20 69 6e 74 20 6c 65 6e 29 20 7b 0a 09 09 66 6d 74 2e 61 70 70 6c 79 50 ng.patt,.int.len).{...fmt.applyP
398c0 61 74 74 65 72 6e 28 70 61 74 74 29 3b 0a 09 09 53 74 72 69 6e 67 20 73 20 3d 20 66 6d 74 2e 66 attern(patt);...String.s.=.fmt.f
398e0 6f 72 6d 61 74 28 64 29 3b 0a 09 09 77 68 69 6c 65 20 28 73 2e 6c 65 6e 67 74 68 28 29 20 3c 20 ormat(d);...while.(s.length().<.
39900 6c 65 6e 29 20 7b 0a 09 09 09 73 20 3d 20 22 20 22 20 2b 20 73 3b 0a 09 09 7d 0a 09 09 72 65 74 len).{....s.=.".".+.s;...}...ret
39920 75 72 6e 20 73 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 20 53 74 72 69 urn.s;..}....public.static..Stri
39940 6e 67 20 66 6f 72 6d 61 74 54 69 6d 65 28 6c 6f 6e 67 20 64 75 72 61 74 69 6f 6e 29 20 7b 0a 09 ng.formatTime(long.duration).{..
39960 09 53 74 72 69 6e 67 42 75 69 6c 64 65 72 20 73 62 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 75 .StringBuilder.sb.=.new.StringBu
39980 69 6c 64 65 72 28 29 3b 0a 09 09 64 6f 75 62 6c 65 20 64 20 3d 20 64 75 72 61 74 69 6f 6e 20 2f ilder();...double.d.=.duration./
399a0 20 31 30 30 30 3b 0a 09 09 66 6d 74 2e 61 70 70 6c 79 50 61 74 74 65 72 6e 28 22 30 30 22 29 3b .1000;...fmt.applyPattern("00");
399c0 0a 09 09 73 62 2e 61 70 70 65 6e 64 28 66 6d 74 2e 66 6f 72 6d 61 74 28 28 69 6e 74 29 20 28 64 ...sb.append(fmt.format((int).(d
399e0 20 2f 20 28 36 30 20 2a 20 36 30 29 29 29 20 2b 20 22 3a 22 29 3b 0a 09 09 64 20 2d 3d 20 28 28 ./.(60.*.60))).+.":");...d.-=.((
39a00 69 6e 74 29 20 64 20 2f 20 28 36 30 20 2a 20 36 30 29 29 20 2a 20 36 30 20 2a 20 36 30 3b 0a 09 int).d./.(60.*.60)).*.60.*.60;..
39a20 09 73 62 2e 61 70 70 65 6e 64 28 66 6d 74 2e 66 6f 72 6d 61 74 28 28 69 6e 74 29 20 28 64 20 2f .sb.append(fmt.format((int).(d./
39a40 20 36 30 29 29 20 2b 20 22 3a 22 29 3b 0a 09 09 64 20 2d 3d 20 28 28 69 6e 74 29 20 64 20 2f 20 .60)).+.":");...d.-=.((int).d./.
39a60 36 30 29 20 2a 20 36 30 3b 0a 09 09 66 6d 74 2e 61 70 70 6c 79 50 61 74 74 65 72 6e 28 22 30 30 60).*.60;...fmt.applyPattern("00
39a80 2e 30 22 29 3b 0a 09 09 73 62 2e 61 70 70 65 6e 64 28 66 6d 74 2e 66 6f 72 6d 61 74 28 64 29 29 .0");...sb.append(fmt.format(d))
39aa0 3b 0a 09 09 72 65 74 75 72 6e 20 73 62 2e 74 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 09 ;...return.sb.toString();..}....
39ac0 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 53 74 72 69 6e 67 20 64 6f 75 62 6c 65 41 72 72 ..public.static.String.doubleArr
39ae0 61 79 54 6f 53 74 72 69 6e 67 28 64 6f 75 62 6c 65 5b 5d 20 61 72 72 61 79 2c 20 53 74 72 69 6e ayToString(double[].array,.Strin
39b00 67 5b 5d 20 6c 61 62 65 6c 73 2c 20 53 74 72 69 6e 67 20 61 72 72 61 79 4e 61 6d 65 29 20 7b 0a g[].labels,.String.arrayName).{.
39b20 09 09 53 74 72 69 6e 67 42 75 66 66 65 72 20 72 65 73 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 ..StringBuffer.res.=.new.StringB
39b40 75 66 66 65 72 28 29 3b 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 61 72 72 61 79 4e 61 6d 65 29 uffer();...res.append(arrayName)
39b60 3b 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 5c 6e 22 29 3b 0a 09 09 66 6f 72 20 28 69 6e 74 ;...res.append("\n");...for.(int
39b80 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b .i.=.0;.i.<.array.length;.i++).{
39ba0 0a 09 09 09 69 66 20 28 6c 61 62 65 6c 73 20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 09 72 65 73 ....if.(labels.==.null){.....res
39bc0 2e 61 70 70 65 6e 64 28 69 2b 22 20 20 20 20 20 20 20 5c 74 22 29 3b 0a 09 09 09 7d 65 6c 73 65 .append(i+".......\t");....}else
39be0 7b 0a 09 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 6c 61 62 65 6c 73 5b 69 5d 2b 20 20 20 20 20 {.....res.append(labels[i]+.....
39c00 22 5c 74 22 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 73 75 "\t");....}...}...res.append("su
39c20 6d 5c 6e 22 29 3b 0a 09 09 64 6f 75 62 6c 65 20 73 75 6d 20 3d 20 30 3b 0a 09 09 66 6f 72 20 28 m\n");...double.sum.=.0;...for.(
39c40 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b int.i.=.0;.i.<.array.length;.i++
39c60 29 20 7b 0a 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 70 72 65 74 74 79 50 72 69 6e 74 28 61 72 ).{....res.append(prettyPrint(ar
39c80 72 61 79 5b 69 5d 2c 0a 09 09 09 09 09 22 30 2e 30 30 30 30 30 45 30 30 22 2c 20 38 29 20 2b 20 ray[i],......"0.00000E00",.8).+.
39ca0 22 5c 74 22 29 3b 0a 09 09 09 73 75 6d 2b 3d 61 72 72 61 79 5b 69 5d 3b 0a 09 09 7d 0a 09 09 72 "\t");....sum+=array[i];...}...r
39cc0 65 73 2e 61 70 70 65 6e 64 28 70 72 65 74 74 79 50 72 69 6e 74 28 73 75 6d 2c 0a 09 09 09 09 22 es.append(prettyPrint(sum,....."
39ce0 30 2e 30 30 30 30 30 45 30 30 22 2c 20 38 29 2b 22 5c 6e 22 29 3b 0a 09 09 72 65 74 75 72 6e 20 0.00000E00",.8)+"\n");...return.
39d00 72 65 73 2e 74 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 09 0a 09 0a 09 70 75 62 6c 69 63 res.toString();..}........public
39d20 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 64 6f .static.void.printDoubleArray(do
39d40 75 62 6c 65 5b 5d 20 61 72 72 61 79 2c 20 53 74 72 69 6e 67 20 6c 61 62 65 6c 73 5b 5d 2c 20 53 uble[].array,.String.labels[],.S
39d60 74 72 69 6e 67 20 61 72 72 61 79 4e 61 6d 65 29 20 7b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e tring.arrayName).{...System.out.
39d80 70 72 69 6e 74 6c 6e 28 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 61 72 72 61 println(doubleArrayToString(arra
39da0 79 2c 20 6c 61 62 65 6c 73 2c 61 72 72 61 79 4e 61 6d 65 29 29 3b 0a 09 7d 0a 09 0a 09 0a 09 70 y,.labels,arrayName));..}......p
39dc0 75 62 6c 69 63 20 73 74 61 74 69 63 20 53 74 72 69 6e 67 20 64 6f 75 62 6c 65 41 72 72 61 79 54 ublic.static.String.doubleArrayT
39de0 6f 53 74 72 69 6e 67 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 53 74 72 69 6e 67 oString(double[][].array,.String
39e00 5b 5d 20 6c 61 62 65 6c 73 31 2c 20 53 74 72 69 6e 67 5b 5d 20 6c 61 62 65 6c 73 32 2c 0a 09 09 [].labels1,.String[].labels2,...
39e20 09 53 74 72 69 6e 67 20 61 72 72 61 79 4e 61 6d 65 29 7b 0a 09 09 53 74 72 69 6e 67 42 75 66 66 .String.arrayName){...StringBuff
39e40 65 72 20 72 65 73 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 75 66 66 65 72 28 29 3b 0a 09 09 72 er.res.=.new.StringBuffer();...r
39e60 65 73 2e 61 70 70 65 6e 64 28 61 72 72 61 79 4e 61 6d 65 29 3b 0a 09 09 72 65 73 2e 61 70 70 65 es.append(arrayName);...res.appe
39e80 6e 64 28 22 5c 6e 5c 74 22 29 3b 0a 09 09 2f 2f 43 61 6c 63 75 6c 61 74 65 73 20 74 68 65 20 63 nd("\n\t");...//Calculates.the.c
39ea0 6f 6c 75 6d 6e 20 73 75 6d 20 74 6f 20 6b 65 65 70 73 20 74 68 65 20 73 75 6d 73 0a 09 09 64 6f olumn.sum.to.keeps.the.sums...do
39ec0 75 62 6c 65 5b 5d 20 73 75 6d 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 61 72 72 61 79 5b 30 uble[].sums.=.new.double[array[0
39ee0 5d 2e 6c 65 6e 67 74 68 2b 31 5d 3b 0a 09 09 2f 2f 50 72 69 6e 74 73 20 72 6f 77 73 20 68 65 61 ].length+1];...//Prints.rows.hea
39f00 64 69 6e 67 73 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 dings...for.(int.i.=.0;.i.<.arra
39f20 79 5b 30 5d 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 69 66 20 28 6c 61 62 65 6c y[0].length;.i++).{....if.(label
39f40 73 31 20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 69 2b 22 20 s1.==.null){.....res.append(i+".
39f60 20 20 20 20 20 20 20 5c 74 22 29 3b 0a 09 09 09 7d 65 6c 73 65 7b 0a 09 09 09 09 72 65 73 2e 61 .......\t");....}else{.....res.a
39f80 70 70 65 6e 64 28 6c 61 62 65 6c 73 31 5b 69 5d 2b 22 20 20 20 20 20 20 20 20 5c 74 22 29 3b 0a ppend(labels1[i]+"........\t");.
39fa0 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 73 75 6d 5c 6e 22 29 3b 0a ...}...}...res.append("sum\n");.
39fc0 09 09 64 6f 75 62 6c 65 20 73 75 6d 20 3d 20 30 3b 0a 09 09 2f 2f 46 6f 72 20 65 61 63 68 20 72 ..double.sum.=.0;...//For.each.r
39fe0 6f 77 20 70 72 69 6e 74 20 68 65 61 64 69 6e 67 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 ow.print.heading...for.(int.i.=.
3a000 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 69 0;.i.<.array.length;.i++).{....i
3a020 66 20 28 6c 61 62 65 6c 73 32 20 3d 3d 20 6e 75 6c 6c 29 7b 0a 09 09 09 09 72 65 73 2e 61 70 70 f.(labels2.==.null){.....res.app
3a040 65 6e 64 28 69 2b 22 5c 74 22 29 3b 0a 09 09 09 7d 65 6c 73 65 7b 0a 09 09 09 09 72 65 73 2e 61 end(i+"\t");....}else{.....res.a
3a060 70 70 65 6e 64 28 6c 61 62 65 6c 73 32 5b 69 5d 2b 22 5c 74 22 29 3b 0a 09 09 09 7d 0a 09 09 09 ppend(labels2[i]+"\t");....}....
3a080 2f 2f 50 72 69 6e 74 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 61 74 20 72 6f 77 0a 09 09 09 66 //Print.values.for.that.row....f
3a0a0 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 61 72 72 61 79 5b 30 5d 2e 6c 65 6e 67 or.(int.j.=.0;.j.<.array[0].leng
3a0c0 74 68 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 20 22 20 2b 20 th;.j++).{.....res.append(".".+.
3a0e0 70 72 65 74 74 79 50 72 69 6e 74 28 61 72 72 61 79 5b 69 5d 5b 6a 5d 2c 0a 09 09 09 09 09 09 22 prettyPrint(array[i][j],......."
3a100 30 2e 30 30 30 30 30 45 30 30 22 2c 20 38 29 20 2b 20 22 5c 74 22 29 3b 0a 09 09 09 09 73 75 6d 0.00000E00",.8).+."\t");.....sum
3a120 73 5b 6a 5d 20 2b 3d 20 61 72 72 61 79 5b 69 5d 5b 6a 5d 3b 20 0a 09 09 09 09 73 75 6d 2b 3d 61 s[j].+=.array[i][j];......sum+=a
3a140 72 72 61 79 5b 69 5d 5b 6a 5d 3b 20 2f 2f 53 75 6d 20 61 6c 6c 20 76 61 6c 75 65 73 20 6f 66 20 rray[i][j];.//Sum.all.values.of.
3a160 74 68 61 74 20 72 6f 77 0a 09 09 09 7d 0a 09 09 09 2f 2f 50 72 69 6e 74 20 72 6f 77 20 73 75 6d that.row....}....//Print.row.sum
3a180 0a 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 70 72 65 74 74 79 50 72 69 6e 74 28 73 75 6d 2c 22 ....res.append(prettyPrint(sum,"
3a1a0 30 2e 30 30 30 30 30 45 30 30 22 2c 20 38 29 2b 22 5c 6e 22 29 3b 0a 09 09 09 73 75 6d 73 5b 61 0.00000E00",.8)+"\n");....sums[a
3a1c0 72 72 61 79 5b 30 5d 2e 6c 65 6e 67 74 68 5d 2b 3d 73 75 6d 3b 0a 09 09 09 73 75 6d 3d 30 3b 0a rray[0].length]+=sum;....sum=0;.
3a1e0 09 09 7d 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 73 75 6d 5c 74 22 29 3b 0a 09 09 2f 2f 50 ..}...res.append("sum\t");...//P
3a200 72 69 6e 74 20 76 61 6c 75 65 73 20 66 6f 72 20 63 6f 6c 75 6d 73 20 73 75 6d 0a 09 09 66 6f 72 rint.values.for.colums.sum...for
3a220 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 5b 30 5d 2e 6c 65 6e 67 74 68 .(int.i.=.0;.i.<.array[0].length
3a240 2b 31 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 70 72 65 74 74 79 50 +1;.i++).{....res.append(prettyP
3a260 72 69 6e 74 28 73 75 6d 73 5b 69 5d 2c 22 30 2e 30 30 30 30 30 45 30 30 22 2c 20 38 29 2b 22 5c rint(sums[i],"0.00000E00",.8)+"\
3a280 74 22 29 3b 0a 09 09 7d 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 5c 6e 22 29 3b 0a 09 09 72 t");...}...res.append("\n");...r
3a2a0 65 74 75 72 6e 20 72 65 73 2e 74 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c eturn.res.toString();..}....publ
3a2c0 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 69 6e 74 44 6f 75 62 6c 65 41 72 72 61 79 28 ic.static.void.printDoubleArray(
3a2e0 64 6f 75 62 6c 65 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 53 74 72 69 6e 67 5b 5d 20 6c 61 62 65 6c double[][].array,.String[].label
3a300 73 31 2c 20 53 74 72 69 6e 67 5b 5d 20 6c 61 62 65 6c 73 32 0a 09 09 09 2c 20 53 74 72 69 6e 67 s1,.String[].labels2....,.String
3a320 20 61 72 72 61 79 4e 61 6d 65 29 20 7b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 .arrayName).{...System.out.print
3a340 6c 6e 28 64 6f 75 62 6c 65 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 61 72 72 61 79 2c 20 6c 61 ln(doubleArrayToString(array,.la
3a360 62 65 6c 73 31 2c 6c 61 62 65 6c 73 32 2c 61 72 72 61 79 4e 61 6d 65 29 29 3b 0a 09 7d 0a 09 0a bels1,labels2,arrayName));..}...
3a380 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 69 6e 74 49 6e 74 41 72 ...public.static.void.printIntAr
3a3a0 72 61 79 28 69 6e 74 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 53 74 72 69 6e 67 5b 5d 20 6c 61 62 65 ray(int[][].array,.String[].labe
3a3c0 6c 73 31 2c 20 53 74 72 69 6e 67 5b 5d 20 6c 61 62 65 6c 73 32 2c 20 53 74 72 69 6e 67 20 61 72 ls1,.String[].labels2,.String.ar
3a3e0 72 61 79 4e 61 6d 65 2c 0a 09 09 09 69 6e 74 20 73 69 7a 65 31 2c 20 69 6e 74 20 73 69 7a 65 32 rayName,....int.size1,.int.size2
3a400 29 20 7b 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 61 72 72 61 79 4e 61 ).{...System.out.println(arrayNa
3a420 6d 65 29 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 31 me);...for.(int.i.=.0;.i.<.size1
3a440 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 66 6f 72 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 ;.i++).{....for.(int.j.=.0;.j.<.
3a460 73 69 7a 65 32 3b 20 6a 2b 2b 29 20 7b 0a 09 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 size2;.j++).{.....System.out.pri
3a480 6e 74 28 22 20 22 20 2b 20 61 72 72 61 79 5b 69 5d 5b 6a 5d 20 2b 20 20 22 20 22 29 3b 0a 0a 09 nt(".".+.array[i][j].+..".");...
3a4a0 09 09 7d 0a 09 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 09 7d ..}....System.out.println();...}
3a4c0 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 29 3b 0a 09 7d 0a 09 0a 09 70 ...System.out.println();..}....p
3a4e0 75 62 6c 69 63 20 73 74 61 74 69 63 20 53 74 72 69 6e 67 20 69 6e 74 41 72 72 61 79 54 6f 53 74 ublic.static.String.intArrayToSt
3a500 72 69 6e 67 28 69 6e 74 5b 5d 20 61 72 72 61 79 2c 20 53 74 72 69 6e 67 5b 5d 20 6c 61 62 65 6c ring(int[].array,.String[].label
3a520 73 2c 20 53 74 72 69 6e 67 20 61 72 72 61 79 4e 61 6d 65 29 20 7b 0a 09 09 53 74 72 69 6e 67 42 s,.String.arrayName).{...StringB
3a540 75 66 66 65 72 20 72 65 73 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 42 75 66 66 65 72 28 29 3b 0a uffer.res.=.new.StringBuffer();.
3a560 09 09 72 65 73 2e 61 70 70 65 6e 64 28 61 72 72 61 79 4e 61 6d 65 29 3b 0a 09 09 66 6f 72 20 28 ..res.append(arrayName);...for.(
3a580 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b int.i.=.0;.i.<.array.length;.i++
3a5a0 29 20 7b 0a 09 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 20 22 20 2b 20 61 72 72 61 79 5b 69 5d ).{....res.append(".".+.array[i]
3a5c0 20 2b 20 22 20 22 29 3b 0a 09 09 09 0a 09 09 7d 0a 09 09 72 65 73 2e 61 70 70 65 6e 64 28 22 5c .+.".");.......}...res.append("\
3a5e0 6e 22 29 3b 0a 09 09 72 65 74 75 72 6e 20 72 65 73 2e 74 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d n");...return.res.toString();..}
3a600 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 69 6e 74 49 6e 74 41 ....public.static.void.printIntA
3a620 72 72 61 79 28 69 6e 74 5b 5d 20 61 72 72 61 79 2c 20 53 74 72 69 6e 67 5b 5d 20 6c 61 62 65 6c rray(int[].array,.String[].label
3a640 73 2c 20 53 74 72 69 6e 67 20 61 72 72 61 79 4e 61 6d 65 29 20 7b 0a 09 09 53 79 73 74 65 6d 2e s,.String.arrayName).{...System.
3a660 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 69 6e 74 41 72 72 61 79 54 6f 53 74 72 69 6e 67 28 61 72 72 out.println(intArrayToString(arr
3a680 61 79 2c 20 6c 61 62 65 6c 73 2c 61 72 72 61 79 4e 61 6d 65 29 29 3b 0a 09 7d 0a 09 0a 09 70 75 ay,.labels,arrayName));..}....pu
3a6a0 62 6c 69 63 20 73 74 61 74 69 63 20 53 74 72 69 6e 67 20 74 6f 53 74 72 69 6e 67 28 64 6f 75 62 blic.static.String.toString(doub
3a6c0 6c 65 5b 5d 5b 5d 20 64 29 7b 0a 09 09 53 74 72 69 6e 67 42 75 66 66 65 72 20 73 62 20 3d 20 6e le[][].d){...StringBuffer.sb.=.n
3a6e0 65 77 20 53 74 72 69 6e 67 42 75 66 66 65 72 28 29 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 ew.StringBuffer();...for.(int.i.
3a700 3d 20 30 3b 20 69 20 3c 20 64 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 66 6f 72 =.0;.i.<.d.length;.i++).{....for
3a720 20 28 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 64 5b 30 5d 2e 6c 65 6e 67 74 68 3b 20 6a 2b .(int.j.=.0;.j.<.d[0].length;.j+
3a740 2b 29 20 7b 0a 09 09 09 09 73 62 2e 61 70 70 65 6e 64 28 70 72 65 74 74 79 50 72 69 6e 74 28 64 +).{.....sb.append(prettyPrint(d
3a760 5b 69 5d 5b 6a 5d 2c 20 22 30 2e 30 30 45 30 22 2c 20 31 30 29 29 3b 0a 09 09 09 7d 0a 09 09 09 [i][j],."0.00E0",.10));....}....
3a780 73 62 2e 61 70 70 65 6e 64 28 22 5c 6e 22 29 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 73 62 sb.append("\n");...}...return.sb
3a7a0 2e 74 6f 53 74 72 69 6e 67 28 29 3b 0a 09 7d 0a 09 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 96 59 .toString();..}...}.PK.........Y
3a7c0 e5 3c 26 9b 96 be 71 09 00 00 71 09 00 00 16 00 00 00 75 74 69 6c 2f 49 6e 70 75 74 4f 75 74 70 .<&...q...q.......util/InputOutp
3a7e0 75 74 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 80 07 00 02 01 00 10 75 74 69 6c 2f 49 6e 70 ut.class.......2........util/Inp
3a800 75 74 4f 75 74 70 75 74 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 utOutput......java/lang/Object..
3a820 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 .<init>...()V...Code............
3a840 0f 4c 69 6e 65 4e 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 .LineNumberTable...LocalVariable
3a860 54 61 62 6c 65 01 00 04 74 68 69 73 01 00 12 4c 75 74 69 6c 2f 49 6e 70 75 74 4f 75 74 70 75 74 Table...this...Lutil/InputOutput
3a880 3b 01 00 0a 6f 70 65 6e 52 65 61 64 65 72 01 00 2c 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 ;...openReader..,(Ljava/lang/Str
3a8a0 69 6e 67 3b 29 4c 6a 61 76 61 2f 69 6f 2f 42 75 66 66 65 72 65 64 52 65 61 64 65 72 3b 01 00 0a ing;)Ljava/io/BufferedReader;...
3a8c0 45 78 63 65 70 74 69 6f 6e 73 07 00 12 01 00 24 6a 61 76 61 2f 69 6f 2f 55 6e 73 75 70 70 6f 72 Exceptions.....$java/io/Unsuppor
3a8e0 74 65 64 45 6e 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 07 00 14 01 00 1d 6a 61 76 61 2f 69 tedEncodingException......java/i
3a900 6f 2f 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 07 00 16 01 00 13 6a 61 76 o/FileNotFoundException......jav
3a920 61 2f 69 6f 2f 49 4f 45 78 63 65 70 74 69 6f 6e 09 00 18 00 1a 07 00 19 01 00 10 6a 61 76 61 2f a/io/IOException...........java/
3a940 6c 61 6e 67 2f 53 79 73 74 65 6d 0c 00 1b 00 1c 01 00 03 6f 75 74 01 00 15 4c 6a 61 76 61 2f 69 lang/System........out...Ljava/i
3a960 6f 2f 50 72 69 6e 74 53 74 72 65 61 6d 3b 07 00 1e 01 00 17 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 o/PrintStream;......java/lang/St
3a980 72 69 6e 67 42 75 69 6c 64 65 72 08 00 20 01 00 09 52 65 61 64 69 6e 67 3a 20 0a 00 1d 00 22 0c ringBuilder......Reading:.....".
3a9a0 00 05 00 23 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 1d 00 ...#...(Ljava/lang/String;)V....
3a9c0 25 0c 00 26 00 27 01 00 06 61 70 70 65 6e 64 01 00 2d 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 %..&.'...append..-(Ljava/lang/St
3a9e0 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 42 75 69 6c 64 65 72 3b 0a ring;)Ljava/lang/StringBuilder;.
3aa00 00 1d 00 29 0c 00 2a 00 2b 01 00 08 74 6f 53 74 72 69 6e 67 01 00 14 28 29 4c 6a 61 76 61 2f 6c ...)..*.+...toString...()Ljava/l
3aa20 61 6e 67 2f 53 74 72 69 6e 67 3b 0a 00 2d 00 2f 07 00 2e 01 00 13 6a 61 76 61 2f 69 6f 2f 50 72 ang/String;..-./......java/io/Pr
3aa40 69 6e 74 53 74 72 65 61 6d 0c 00 30 00 23 01 00 07 70 72 69 6e 74 6c 6e 0a 00 32 00 34 07 00 33 intStream..0.#...println..2.4..3
3aa60 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 0c 00 35 00 2b 01 00 04 74 72 69 6d 08 ...java/lang/String..5.+...trim.
3aa80 00 37 01 00 02 67 7a 0a 00 32 00 39 0c 00 3a 00 3b 01 00 08 65 6e 64 73 57 69 74 68 01 00 15 28 .7...gz..2.9..:.;...endsWith...(
3aaa0 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 5a 07 00 3d 01 00 16 6a 61 76 61 2f 69 Ljava/lang/String;)Z..=...java/i
3aac0 6f 2f 42 75 66 66 65 72 65 64 52 65 61 64 65 72 07 00 3f 01 00 19 6a 61 76 61 2f 69 6f 2f 49 6e o/BufferedReader..?...java/io/In
3aae0 70 75 74 53 74 72 65 61 6d 52 65 61 64 65 72 07 00 41 01 00 1d 6a 61 76 61 2f 75 74 69 6c 2f 7a putStreamReader..A...java/util/z
3ab00 69 70 2f 47 5a 49 50 49 6e 70 75 74 53 74 72 65 61 6d 07 00 43 01 00 17 6a 61 76 61 2f 69 6f 2f ip/GZIPInputStream..C...java/io/
3ab20 46 69 6c 65 49 6e 70 75 74 53 74 72 65 61 6d 0a 00 42 00 22 0a 00 40 00 46 0c 00 05 00 47 01 00 FileInputStream..B."..@.F....G..
3ab40 18 28 4c 6a 61 76 61 2f 69 6f 2f 49 6e 70 75 74 53 74 72 65 61 6d 3b 29 56 08 00 49 01 00 04 55 .(Ljava/io/InputStream;)V..I...U
3ab60 54 46 38 0a 00 3e 00 4b 0c 00 05 00 4c 01 00 2a 28 4c 6a 61 76 61 2f 69 6f 2f 49 6e 70 75 74 53 TF8..>.K....L..*(Ljava/io/InputS
3ab80 74 72 65 61 6d 3b 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 0a 00 3c 00 4e 0c tream;Ljava/lang/String;)V..<.N.
3aba0 00 05 00 4f 01 00 13 28 4c 6a 61 76 61 2f 69 6f 2f 52 65 61 64 65 72 3b 29 56 01 00 08 66 69 6c ...O...(Ljava/io/Reader;)V...fil
3abc0 65 4e 61 6d 65 01 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 01 00 06 72 65 61 eName...Ljava/lang/String;...rea
3abe0 64 65 72 01 00 18 4c 6a 61 76 61 2f 69 6f 2f 42 75 66 66 65 72 65 64 52 65 61 64 65 72 3b 01 00 der...Ljava/io/BufferedReader;..
3ac00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 0a 6f 70 65 6e 57 72 69 74 65 72 01 00 29 28 4c .StackMapTable...openWriter..)(L
3ac20 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 69 6f 2f 50 72 69 6e 74 java/lang/String;)Ljava/io/Print
3ac40 53 74 72 65 61 6d 3b 08 00 58 01 00 12 57 72 69 74 74 69 6e 67 20 74 6f 20 66 69 6c 65 3a 20 07 Stream;..X...Writting.to.file:..
3ac60 00 5a 01 00 1e 6a 61 76 61 2f 75 74 69 6c 2f 7a 69 70 2f 47 5a 49 50 4f 75 74 70 75 74 53 74 72 .Z...java/util/zip/GZIPOutputStr
3ac80 65 61 6d 07 00 5c 01 00 18 6a 61 76 61 2f 69 6f 2f 46 69 6c 65 4f 75 74 70 75 74 53 74 72 65 61 eam..\...java/io/FileOutputStrea
3aca0 6d 0a 00 5b 00 22 0a 00 59 00 5f 0c 00 05 00 60 01 00 19 28 4c 6a 61 76 61 2f 69 6f 2f 4f 75 74 m..[."..Y._....`...(Ljava/io/Out
3acc0 70 75 74 53 74 72 65 61 6d 3b 29 56 08 00 62 01 00 05 55 54 46 2d 38 0a 00 2d 00 64 0c 00 05 00 putStream;)V..b...UTF-8..-.d....
3ace0 65 01 00 2c 28 4c 6a 61 76 61 2f 69 6f 2f 4f 75 74 70 75 74 53 74 72 65 61 6d 3b 5a 4c 6a 61 76 e..,(Ljava/io/OutputStream;ZLjav
3ad00 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 29 56 01 00 07 77 72 69 74 74 65 72 01 00 12 72 65 61 a/lang/String;)V...writter...rea
3ad20 64 50 72 6f 70 65 72 74 69 65 73 46 69 6c 65 01 00 2a 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 dPropertiesFile..*(Ljava/lang/St
3ad40 72 69 6e 67 3b 29 4c 6a 61 76 61 2f 75 74 69 6c 2f 50 72 6f 70 65 72 74 69 65 73 3b 07 00 6a 01 ring;)Ljava/util/Properties;..j.
3ad60 00 14 6a 61 76 61 2f 75 74 69 6c 2f 50 72 6f 70 65 72 74 69 65 73 0a 00 69 00 09 0a 00 69 00 6d ..java/util/Properties..i....i.m
3ad80 0c 00 6e 00 47 01 00 04 6c 6f 61 64 0a 00 15 00 70 0c 00 71 00 06 01 00 0f 70 72 69 6e 74 53 74 ..n.G...load....p..q.....printSt
3ada0 61 63 6b 54 72 61 63 65 07 00 73 01 00 18 6a 61 76 61 2f 6c 61 6e 67 2f 41 73 73 65 72 74 69 6f ackTrace..s...java/lang/Assertio
3adc0 6e 45 72 72 6f 72 08 00 75 01 00 16 57 72 6f 6e 67 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c nError..u...Wrong.properties.fil
3ade0 65 20 0a 00 72 00 77 0c 00 05 00 78 01 00 15 28 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 e...r.w....x...(Ljava/lang/Objec
3ae00 74 3b 29 56 0a 00 69 00 29 01 00 0a 70 72 6f 70 65 72 74 69 65 73 01 00 16 4c 6a 61 76 61 2f 75 t;)V..i.)...properties...Ljava/u
3ae20 74 69 6c 2f 50 72 6f 70 65 72 74 69 65 73 3b 01 00 01 65 01 00 15 4c 6a 61 76 61 2f 69 6f 2f 49 til/Properties;...e...Ljava/io/I
3ae40 4f 45 78 63 65 70 74 69 6f 6e 3b 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 10 49 6e 70 75 74 OException;...SourceFile...Input
3ae60 4f 75 74 70 75 74 2e 6a 61 76 61 00 21 00 01 00 03 00 00 00 00 00 04 00 01 00 05 00 06 00 01 00 Output.java.!...................
3ae80 07 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 08 b1 00 00 00 02 00 0a 00 00 00 06 00 01 00 00 ..../........*..................
3aea0 00 10 00 0b 00 00 00 0c 00 01 00 00 00 05 00 0c 00 0d 00 00 00 09 00 0e 00 0f 00 02 00 10 00 00 ................................
3aec0 00 08 00 03 00 11 00 13 00 15 00 07 00 00 00 d5 00 09 00 02 00 00 00 62 b2 00 17 bb 00 1d 59 12 .......................b......Y.
3aee0 1f b7 00 21 2a b6 00 24 b6 00 28 b6 00 2c 2a b6 00 31 4b 2a 12 36 b6 00 38 99 00 26 bb 00 3c 59 ...!*..$..(..,*..1K*.6..8..&..<Y
3af00 bb 00 3e 59 bb 00 40 59 bb 00 42 59 2a b7 00 44 b7 00 45 12 48 b7 00 4a b7 00 4d 4c a7 00 1c bb ..>Y..@Y..BY*..D..E.H..J..ML....
3af20 00 3c 59 bb 00 3e 59 bb 00 42 59 2a b7 00 44 12 48 b7 00 4a b7 00 4d 4c 2b b0 00 00 00 03 00 0a .<Y..>Y..BY*..D.H..J..ML+.......
3af40 00 00 00 2a 00 0a 00 00 00 16 00 16 00 18 00 1b 00 19 00 24 00 1a 00 28 00 1b 00 40 00 1a 00 47 ...*...............$...(...@...G
3af60 00 1d 00 4f 00 1e 00 5c 00 1d 00 60 00 21 00 0b 00 00 00 20 00 03 00 00 00 62 00 50 00 51 00 00 ...O...\...`.!...........b.P.Q..
3af80 00 44 00 03 00 52 00 53 00 01 00 60 00 02 00 52 00 53 00 01 00 54 00 00 00 0b 00 02 fb 00 47 fc .D...R.S...`...R.S...T........G.
3afa0 00 18 07 00 3c 00 09 00 55 00 56 00 02 00 10 00 00 00 08 00 03 00 11 00 13 00 15 00 07 00 00 00 ....<...U.V.....................
3afc0 c9 00 07 00 02 00 00 00 56 b2 00 17 bb 00 1d 59 12 57 b7 00 21 2a b6 00 24 b6 00 28 b6 00 2c 2a ........V......Y.W..!*..$..(..,*
3afe0 b6 00 31 4b 2a 12 36 b6 00 38 99 00 20 bb 00 2d 59 bb 00 59 59 bb 00 5b 59 2a b7 00 5d b7 00 5e ..1K*.6..8.....-Y..YY..[Y*..]..^
3b000 04 12 61 b7 00 63 4c a7 00 16 bb 00 2d 59 bb 00 5b 59 2a b7 00 5d 04 12 61 b7 00 63 4c 2b b0 00 ..a..cL.....-Y..[Y*..]..a..cL+..
3b020 00 00 03 00 0a 00 00 00 2a 00 0a 00 00 00 27 00 16 00 29 00 1b 00 2a 00 24 00 2b 00 37 00 2c 00 ........*.....'...)...*.$.+.7.,.
3b040 3a 00 2b 00 41 00 2f 00 4d 00 30 00 50 00 2f 00 54 00 34 00 0b 00 00 00 20 00 03 00 00 00 56 00 :.+.A./.M.0.P./.T.4...........V.
3b060 50 00 51 00 00 00 3e 00 03 00 66 00 1c 00 01 00 54 00 02 00 66 00 1c 00 01 00 54 00 00 00 0b 00 P.Q...>...f.....T...f.....T.....
3b080 02 fb 00 41 fc 00 12 07 00 2d 00 09 00 67 00 68 00 01 00 07 00 00 00 b7 00 05 00 03 00 00 00 40 ...A.....-...g.h...............@
3b0a0 bb 00 69 59 b7 00 6b 4c 2b bb 00 42 59 2a b7 00 44 b6 00 6c a7 00 20 4d 2c b6 00 6f bb 00 72 59 ..iY..kL+..BY*..D..l...M,..o..rY
3b0c0 bb 00 1d 59 12 74 b7 00 21 2a b6 00 24 b6 00 28 b7 00 76 bf b2 00 17 2b b6 00 79 b6 00 2c 2b b0 ...Y.t..!*..$..(..v....+..y..,+.
3b0e0 00 01 00 08 00 14 00 17 00 15 00 03 00 0a 00 00 00 1e 00 07 00 00 00 38 00 08 00 3a 00 17 00 3b .......................8...:...;
3b100 00 18 00 3c 00 1c 00 3d 00 34 00 3f 00 3e 00 41 00 0b 00 00 00 20 00 03 00 00 00 40 00 50 00 51 ...<...=.4.?.>.A...........@.P.Q
3b120 00 00 00 08 00 38 00 7a 00 7b 00 01 00 18 00 1c 00 7c 00 7d 00 02 00 54 00 00 00 13 00 02 ff 00 .....8.z.{.......|.}...T........
3b140 17 00 02 07 00 32 07 00 69 00 01 07 00 15 1c 00 01 00 7e 00 00 00 02 00 7f 50 4b 03 04 0a 00 00 .....2..i.........~......PK.....
3b160 00 00 00 b3 69 d6 3c de b9 76 42 6c 07 00 00 6c 07 00 00 15 00 00 00 75 74 69 6c 2f 49 6e 70 75 ....i.<..vBl...l.......util/Inpu
3b180 74 4f 75 74 70 75 74 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 74 69 6c 3b 0a 0a 69 6d 70 6f 72 tOutput.javapackage.util;..impor
3b1a0 74 20 6a 61 76 61 2e 69 6f 2e 42 75 66 66 65 72 65 64 52 65 61 64 65 72 3b 0a 69 6d 70 6f 72 74 t.java.io.BufferedReader;.import
3b1c0 20 6a 61 76 61 2e 69 6f 2e 46 69 6c 65 49 6e 70 75 74 53 74 72 65 61 6d 3b 0a 69 6d 70 6f 72 74 .java.io.FileInputStream;.import
3b1e0 20 6a 61 76 61 2e 69 6f 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a .java.io.FileNotFoundException;.
3b200 69 6d 70 6f 72 74 20 6a 61 76 61 2e 69 6f 2e 46 69 6c 65 4f 75 74 70 75 74 53 74 72 65 61 6d 3b import.java.io.FileOutputStream;
3b220 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 69 6f 2e 49 4f 45 78 63 65 70 74 69 6f 6e 3b 0a 69 6d 70 .import.java.io.IOException;.imp
3b240 6f 72 74 20 6a 61 76 61 2e 69 6f 2e 49 6e 70 75 74 53 74 72 65 61 6d 52 65 61 64 65 72 3b 0a 69 ort.java.io.InputStreamReader;.i
3b260 6d 70 6f 72 74 20 6a 61 76 61 2e 69 6f 2e 4f 75 74 70 75 74 53 74 72 65 61 6d 3b 0a 69 6d 70 6f mport.java.io.OutputStream;.impo
3b280 72 74 20 6a 61 76 61 2e 69 6f 2e 50 72 69 6e 74 53 74 72 65 61 6d 3b 0a 69 6d 70 6f 72 74 20 6a rt.java.io.PrintStream;.import.j
3b2a0 61 76 61 2e 69 6f 2e 55 6e 73 75 70 70 6f 72 74 65 64 45 6e 63 6f 64 69 6e 67 45 78 63 65 70 74 ava.io.UnsupportedEncodingExcept
3b2c0 69 6f 6e 3b 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 50 72 6f 70 65 72 74 69 65 73 ion;.import.java.util.Properties
3b2e0 3b 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 7a 69 70 2e 47 5a 49 50 49 6e 70 75 74 ;.import.java.util.zip.GZIPInput
3b300 53 74 72 65 61 6d 3b 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 7a 69 70 2e 47 5a 49 Stream;.import.java.util.zip.GZI
3b320 50 4f 75 74 70 75 74 53 74 72 65 61 6d 3b 0a 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 49 6e 70 POutputStream;..public.class.Inp
3b340 75 74 4f 75 74 70 75 74 20 7b 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 4f 70 65 6e 73 20 61 20 66 69 6c utOutput.{.../**...*.Opens.a.fil
3b360 65 20 65 69 74 68 65 72 20 63 6f 6d 70 72 65 73 73 20 77 69 74 68 20 67 7a 69 70 20 6f 72 20 6e e.either.compress.with.gzip.or.n
3b380 6f 74 20 63 6f 6d 70 72 65 73 73 65 64 2e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 73 74 61 74 ot.compressed....*/..public.stat
3b3a0 69 63 20 42 75 66 66 65 72 65 64 52 65 61 64 65 72 20 6f 70 65 6e 52 65 61 64 65 72 28 53 74 72 ic.BufferedReader.openReader(Str
3b3c0 69 6e 67 20 66 69 6c 65 4e 61 6d 65 29 20 74 68 72 6f 77 73 20 55 6e 73 75 70 70 6f 72 74 65 64 ing.fileName).throws.Unsupported
3b3e0 45 6e 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 2c 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 EncodingException,.FileNotFoundE
3b400 78 63 65 70 74 69 6f 6e 2c 20 49 4f 45 78 63 65 70 74 69 6f 6e 7b 0a 09 09 53 79 73 74 65 6d 2e xception,.IOException{...System.
3b420 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 52 65 61 64 69 6e 67 3a 20 22 20 2b 20 66 69 6c 65 4e 61 out.println("Reading:.".+.fileNa
3b440 6d 65 29 3b 0a 09 09 42 75 66 66 65 72 65 64 52 65 61 64 65 72 20 72 65 61 64 65 72 3b 0a 09 09 me);...BufferedReader.reader;...
3b460 66 69 6c 65 4e 61 6d 65 20 3d 20 66 69 6c 65 4e 61 6d 65 2e 74 72 69 6d 28 29 3b 0a 09 09 69 66 fileName.=.fileName.trim();...if
3b480 28 66 69 6c 65 4e 61 6d 65 2e 65 6e 64 73 57 69 74 68 28 22 67 7a 22 29 29 7b 0a 09 09 09 72 65 (fileName.endsWith("gz")){....re
3b4a0 61 64 65 72 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 52 65 61 64 65 72 28 0a 09 09 09 6e 65 ader.=.new.BufferedReader(....ne
3b4c0 77 20 49 6e 70 75 74 53 74 72 65 61 6d 52 65 61 64 65 72 28 6e 65 77 20 47 5a 49 50 49 6e 70 75 w.InputStreamReader(new.GZIPInpu
3b4e0 74 53 74 72 65 61 6d 28 6e 65 77 20 46 69 6c 65 49 6e 70 75 74 53 74 72 65 61 6d 28 66 69 6c 65 tStream(new.FileInputStream(file
3b500 4e 61 6d 65 29 29 2c 22 55 54 46 38 22 29 29 3b 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 72 65 61 Name)),"UTF8"));...}else{....rea
3b520 64 65 72 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 52 65 61 64 65 72 28 6e 65 77 20 49 6e 70 der.=.new.BufferedReader(new.Inp
3b540 75 74 53 74 72 65 61 6d 52 65 61 64 65 72 28 0a 09 09 09 09 09 6e 65 77 20 46 69 6c 65 49 6e 70 utStreamReader(......new.FileInp
3b560 75 74 53 74 72 65 61 6d 28 66 69 6c 65 4e 61 6d 65 29 2c 20 22 55 54 46 38 22 29 29 3b 0a 09 09 utStream(fileName),."UTF8"));...
3b580 7d 0a 09 09 0a 09 09 72 65 74 75 72 6e 20 72 65 61 64 65 72 3b 0a 09 7d 0a 09 0a 09 0a 09 70 75 }......return.reader;..}......pu
3b5a0 62 6c 69 63 20 73 74 61 74 69 63 20 50 72 69 6e 74 53 74 72 65 61 6d 20 6f 70 65 6e 57 72 69 74 blic.static.PrintStream.openWrit
3b5c0 65 72 28 53 74 72 69 6e 67 20 66 69 6c 65 4e 61 6d 65 29 20 0a 09 74 68 72 6f 77 73 20 55 6e 73 er(String.fileName)...throws.Uns
3b5e0 75 70 70 6f 72 74 65 64 45 6e 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 2c 20 46 69 6c 65 4e upportedEncodingException,.FileN
3b600 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 2c 20 49 4f 45 78 63 65 70 74 69 6f 6e 7b 0a 09 otFoundException,.IOException{..
3b620 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 57 72 69 74 74 69 6e 67 20 74 6f .System.out.println("Writting.to
3b640 20 66 69 6c 65 3a 20 22 20 2b 20 66 69 6c 65 4e 61 6d 65 29 3b 0a 09 09 50 72 69 6e 74 53 74 72 .file:.".+.fileName);...PrintStr
3b660 65 61 6d 20 77 72 69 74 74 65 72 3b 0a 09 09 66 69 6c 65 4e 61 6d 65 20 3d 20 66 69 6c 65 4e 61 eam.writter;...fileName.=.fileNa
3b680 6d 65 2e 74 72 69 6d 28 29 3b 0a 09 09 69 66 28 66 69 6c 65 4e 61 6d 65 2e 65 6e 64 73 57 69 74 me.trim();...if(fileName.endsWit
3b6a0 68 28 22 67 7a 22 29 29 7b 0a 09 09 09 77 72 69 74 74 65 72 20 3d 20 6e 65 77 20 50 72 69 6e 74 h("gz")){....writter.=.new.Print
3b6c0 53 74 72 65 61 6d 28 6e 65 77 20 47 5a 49 50 4f 75 74 70 75 74 53 74 72 65 61 6d 28 6e 65 77 20 Stream(new.GZIPOutputStream(new.
3b6e0 46 69 6c 65 4f 75 74 70 75 74 53 74 72 65 61 6d 28 66 69 6c 65 4e 61 6d 65 29 29 2c 0a 09 09 09 FileOutputStream(fileName)),....
3b700 09 09 74 72 75 65 2c 20 22 55 54 46 2d 38 22 29 3b 0a 0a 09 09 7d 65 6c 73 65 7b 0a 09 09 09 77 ..true,."UTF-8");....}else{....w
3b720 72 69 74 74 65 72 20 3d 20 6e 65 77 20 50 72 69 6e 74 53 74 72 65 61 6d 28 6e 65 77 20 46 69 6c ritter.=.new.PrintStream(new.Fil
3b740 65 4f 75 74 70 75 74 53 74 72 65 61 6d 28 66 69 6c 65 4e 61 6d 65 29 2c 0a 09 09 09 09 09 74 72 eOutputStream(fileName),......tr
3b760 75 65 2c 20 22 55 54 46 2d 38 22 29 3b 0a 0a 09 09 7d 0a 09 09 0a 09 09 72 65 74 75 72 6e 20 77 ue,."UTF-8");....}......return.w
3b780 72 69 74 74 65 72 3b 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 50 72 6f 70 ritter;..}....public.static.Prop
3b7a0 65 72 74 69 65 73 20 72 65 61 64 50 72 6f 70 65 72 74 69 65 73 46 69 6c 65 28 53 74 72 69 6e 67 erties.readPropertiesFile(String
3b7c0 20 66 69 6c 65 4e 61 6d 65 29 20 7b 0a 09 09 50 72 6f 70 65 72 74 69 65 73 20 70 72 6f 70 65 72 .fileName).{...Properties.proper
3b7e0 74 69 65 73 20 3d 20 6e 65 77 20 50 72 6f 70 65 72 74 69 65 73 28 29 3b 0a 09 09 74 72 79 20 7b ties.=.new.Properties();...try.{
3b800 0a 09 09 09 70 72 6f 70 65 72 74 69 65 73 2e 6c 6f 61 64 28 6e 65 77 20 46 69 6c 65 49 6e 70 75 ....properties.load(new.FileInpu
3b820 74 53 74 72 65 61 6d 28 66 69 6c 65 4e 61 6d 65 29 29 3b 0a 09 09 7d 20 63 61 74 63 68 20 28 49 tStream(fileName));...}.catch.(I
3b840 4f 45 78 63 65 70 74 69 6f 6e 20 65 29 20 7b 0a 09 09 09 65 2e 70 72 69 6e 74 53 74 61 63 6b 54 OException.e).{....e.printStackT
3b860 72 61 63 65 28 29 3b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 41 73 73 65 72 74 69 6f 6e 45 72 race();....throw.new.AssertionEr
3b880 72 6f 72 28 22 57 72 6f 6e 67 20 70 72 6f 70 65 72 74 69 65 73 20 66 69 6c 65 20 22 20 2b 20 66 ror("Wrong.properties.file.".+.f
3b8a0 69 6c 65 4e 61 6d 65 29 3b 0a 09 09 7d 0a 09 09 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e 74 ileName);...}...System.out.print
3b8c0 6c 6e 28 70 72 6f 70 65 72 74 69 65 73 2e 74 6f 53 74 72 69 6e 67 28 29 29 3b 0a 09 09 0a 09 09 ln(properties.toString());......
3b8e0 72 65 74 75 72 6e 20 70 72 6f 70 65 72 74 69 65 73 3b 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 return.properties;..}.}.PK......
3b900 00 00 96 59 e5 3c e9 93 ee 93 17 13 00 00 17 13 00 00 14 00 00 00 75 74 69 6c 2f 41 72 72 61 79 ...Y.<................util/Array
3b920 4d 61 74 68 2e 63 6c 61 73 73 ca fe ba be 00 00 00 32 00 a2 07 00 02 01 00 0e 75 74 69 6c 2f 41 Math.class.......2........util/A
3b940 72 72 61 79 4d 61 74 68 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 rrayMath......java/lang/Object..
3b960 13 24 61 73 73 65 72 74 69 6f 6e 73 44 69 73 61 62 6c 65 64 01 00 01 5a 01 00 08 3c 63 6c 69 6e .$assertionsDisabled...Z...<clin
3b980 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 0b 00 0d 07 00 0c 01 00 0f 6a 61 76 61 2f it>...()V...Code...........java/
3b9a0 6c 61 6e 67 2f 43 6c 61 73 73 0c 00 0e 00 0f 01 00 16 64 65 73 69 72 65 64 41 73 73 65 72 74 69 lang/Class........desiredAsserti
3b9c0 6f 6e 53 74 61 74 75 73 01 00 03 28 29 5a 09 00 01 00 11 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e onStatus...()Z.............LineN
3b9e0 75 6d 62 65 72 54 61 62 6c 65 01 00 12 4c 6f 63 61 6c 56 61 72 69 61 62 6c 65 54 61 62 6c 65 01 umberTable...LocalVariableTable.
3ba00 00 0d 53 74 61 63 6b 4d 61 70 54 61 62 6c 65 01 00 06 3c 69 6e 69 74 3e 0a 00 03 00 17 0c 00 15 ..StackMapTable...<init>........
3ba20 00 08 01 00 04 74 68 69 73 01 00 10 4c 75 74 69 6c 2f 41 72 72 61 79 4d 61 74 68 3b 01 00 0a 64 .....this...Lutil/ArrayMath;...d
3ba40 6f 74 50 72 6f 64 75 63 74 01 00 07 28 5b 44 5b 44 29 44 07 00 1d 01 00 18 6a 61 76 61 2f 6c 61 otProduct...([D[D)D......java/la
3ba60 6e 67 2f 41 73 73 65 72 74 69 6f 6e 45 72 72 6f 72 0a 00 1c 00 17 01 00 02 76 31 01 00 02 5b 44 ng/AssertionError........v1...[D
3ba80 01 00 02 76 32 01 00 06 72 65 73 75 6c 74 01 00 01 44 01 00 01 69 01 00 01 49 01 00 0e 74 77 6f ...v2...result...D...i...I...two
3baa0 4e 6f 72 6d 53 71 75 61 72 65 64 01 00 05 28 5b 44 29 44 01 00 01 76 01 00 01 64 07 00 20 01 00 NormSquared...([D)D...v...d.....
3bac0 0f 63 6f 6e 74 61 69 6e 73 49 6e 76 61 6c 69 64 01 00 05 28 5b 44 29 5a 0a 00 2e 00 30 07 00 2f .containsInvalid...([D)Z....0../
3bae0 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 44 6f 75 62 6c 65 0c 00 31 00 32 01 00 05 69 73 4e 61 4e ...java/lang/Double..1.2...isNaN
3bb00 01 00 04 28 44 29 5a 0a 00 2e 00 34 0c 00 35 00 32 01 00 0a 69 73 49 6e 66 69 6e 69 74 65 01 00 ...(D)Z....4..5.2...isInfinite..
3bb20 07 73 61 66 65 41 64 64 01 00 05 74 6f 41 64 64 01 00 03 73 75 6d 01 00 03 73 65 74 01 00 09 28 .safeAdd...toAdd...sum...set...(
3bb40 5b 5b 5b 5b 49 49 29 56 0a 00 01 00 3c 0c 00 39 00 3d 01 00 08 28 5b 5b 5b 49 49 29 56 01 00 05 [[[[II)V....<..9.=...([[[II)V...
3bb60 61 72 72 61 79 01 00 05 5b 5b 5b 5b 49 01 00 05 76 61 6c 75 65 0a 00 01 00 42 0c 00 39 00 43 01 array...[[[[I...value....B..9.C.
3bb80 00 07 28 5b 5b 49 49 29 56 01 00 04 5b 5b 5b 49 0a 00 01 00 46 0c 00 39 00 47 01 00 06 28 5b 49 ..([[II)V...[[[I....F..9.G...([I
3bba0 49 29 56 01 00 03 5b 5b 49 0a 00 4a 00 4c 07 00 4b 01 00 10 6a 61 76 61 2f 75 74 69 6c 2f 41 72 I)V...[[I..J.L..K...java/util/Ar
3bbc0 72 61 79 73 0c 00 4d 00 47 01 00 04 66 69 6c 6c 01 00 02 5b 49 01 00 09 28 5b 5b 5b 5b 44 44 29 rays..M.G...fill...[I...([[[[DD)
3bbe0 56 0a 00 01 00 51 0c 00 39 00 52 01 00 08 28 5b 5b 5b 44 44 29 56 01 00 05 5b 5b 5b 5b 44 0a 00 V....Q..9.R...([[[DD)V...[[[[D..
3bc00 01 00 55 0c 00 39 00 56 01 00 07 28 5b 5b 44 44 29 56 01 00 04 5b 5b 5b 44 0a 00 01 00 59 0c 00 ..U..9.V...([[DD)V...[[[D....Y..
3bc20 39 00 5a 01 00 06 28 5b 44 44 29 56 01 00 03 5b 5b 44 0a 00 4a 00 5d 0c 00 4d 00 5a 01 00 08 73 9.Z...([DD)V...[[D..J.]..M.Z...s
3bc40 65 74 45 71 75 61 6c 01 00 0d 28 5b 5b 5b 5b 44 5b 5b 5b 5b 44 29 56 0a 00 01 00 61 0c 00 5e 00 etEqual...([[[[D[[[[D)V....a..^.
3bc60 62 01 00 0b 28 5b 5b 5b 44 5b 5b 5b 44 29 56 01 00 04 64 65 73 74 01 00 06 73 6f 75 72 63 65 0a b...([[[D[[[D)V...dest...source.
3bc80 00 01 00 66 0c 00 39 00 67 01 00 09 28 5b 5b 44 5b 5b 44 29 56 0a 00 01 00 69 0c 00 5e 00 6a 01 ...f..9.g...([[D[[D)V....i..^.j.
3bca0 00 07 28 5b 44 5b 44 29 56 0a 00 6c 00 6e 07 00 6d 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 53 79 ..([D[D)V..l.n..m...java/lang/Sy
3bcc0 73 74 65 6d 0c 00 6f 00 70 01 00 09 61 72 72 61 79 63 6f 70 79 01 00 2a 28 4c 6a 61 76 61 2f 6c stem..o.p...arraycopy..*(Ljava/l
3bce0 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 49 49 ang/Object;ILjava/lang/Object;II
3bd00 29 56 01 00 0a 70 6c 75 73 45 71 75 61 6c 73 0a 00 01 00 73 0c 00 71 00 52 01 00 03 76 61 6c 0a )V...plusEquals....s..q.R...val.
3bd20 00 01 00 76 0c 00 71 00 56 0a 00 01 00 78 0c 00 71 00 5a 01 00 03 72 65 73 01 00 09 64 65 65 70 ...v..q.V....x..q.Z...res...deep
3bd40 63 6c 6f 6e 65 01 00 08 28 5b 5b 44 29 5b 5b 44 0a 00 2a 00 7d 0c 00 7e 00 7f 01 00 05 63 6c 6f clone...([[D)[[D..*.}..~.....clo
3bd60 6e 65 01 00 14 28 29 4c 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 3b 01 00 02 69 6e 07 00 ne...()Ljava/lang/Object;...in..
3bd80 5b 01 00 0a 28 5b 5b 5b 44 29 5b 5b 5b 44 0a 00 01 00 84 0c 00 7a 00 7b 07 00 57 01 00 06 63 6f [...([[[D)[[[D.......z.{..W...co
3bda0 73 69 6e 65 0a 00 01 00 88 0c 00 1a 00 1b 06 3e e4 f8 b5 88 e3 68 f1 0a 00 8c 00 8e 07 00 8d 01 sine...........>.....h..........
3bdc0 00 0e 6a 61 76 61 2f 6c 61 6e 67 2f 4d 61 74 68 0c 00 8f 00 90 01 00 04 73 71 72 74 01 00 04 28 ..java/lang/Math........sqrt...(
3bde0 44 29 44 01 00 01 61 01 00 01 62 01 00 03 6d 61 78 06 ff f0 00 00 00 00 00 00 0a 00 8c 00 97 0c D)D...a...b...max...............
3be00 00 93 00 98 01 00 05 28 44 44 29 44 01 00 02 64 73 01 00 0c 65 78 70 6f 6e 65 6e 74 69 61 74 65 .......(DD)D...ds...exponentiate
3be20 01 00 05 28 5b 44 29 56 0a 00 8c 00 9d 0c 00 9e 00 90 01 00 03 65 78 70 01 00 05 28 5b 49 29 49 ...([D)V.............exp...([I)I
3be40 01 00 0a 53 6f 75 72 63 65 46 69 6c 65 01 00 0e 41 72 72 61 79 4d 61 74 68 2e 6a 61 76 61 00 21 ...SourceFile...ArrayMath.java.!
3be60 00 01 00 03 00 00 00 01 10 18 00 05 00 06 00 00 00 1d 00 08 00 07 00 08 00 01 00 09 00 00 00 3c ...............................<
3be80 00 01 00 00 00 00 00 11 12 01 b6 00 0a 9a 00 07 04 a7 00 04 03 b3 00 10 b1 00 00 00 03 00 12 00 ................................
3bea0 00 00 06 00 01 00 00 00 05 00 13 00 00 00 02 00 00 00 14 00 00 00 05 00 02 0c 40 01 00 01 00 15 ..........................@.....
3bec0 00 08 00 01 00 09 00 00 00 2f 00 01 00 01 00 00 00 05 2a b7 00 16 b1 00 00 00 02 00 12 00 00 00 ........./........*.............
3bee0 06 00 01 00 00 00 05 00 13 00 00 00 0c 00 01 00 00 00 05 00 18 00 19 00 00 00 09 00 1a 00 1b 00 ................................
3bf00 01 00 09 00 00 00 a0 00 06 00 05 00 00 00 35 b2 00 10 9a 00 12 2a be 2b be 9f 00 0b bb 00 1c 59 ..............5......*.+.......Y
3bf20 b7 00 1e bf 0e 49 03 36 04 a7 00 12 28 2a 15 04 31 2b 15 04 31 6b 63 49 84 04 01 15 04 2a be a1 .....I.6....(*..1+..1kcI.....*..
3bf40 ff ed 28 af 00 00 00 03 00 12 00 00 00 1a 00 06 00 00 00 08 00 15 00 09 00 17 00 0a 00 1d 00 0b ..(.............................
3bf60 00 29 00 0a 00 33 00 0c 00 13 00 00 00 2a 00 04 00 00 00 35 00 1f 00 20 00 00 00 00 00 35 00 21 .)...3.......*.....5.........5.!
3bf80 00 20 00 01 00 17 00 1e 00 22 00 23 00 02 00 1a 00 19 00 24 00 25 00 04 00 14 00 00 00 09 00 03 .........".#.......$.%..........
3bfa0 15 fd 00 07 03 01 0e 00 09 00 26 00 27 00 01 00 09 00 00 00 90 00 06 00 08 00 00 00 27 0e 48 2a ..........&.'...............'.H*
3bfc0 59 3a 07 be 36 06 03 36 05 a7 00 12 19 07 15 05 31 4a 27 29 29 6b 63 48 84 05 01 15 05 15 06 a1 Y:..6..6........1J'))kcH........
3bfe0 ff ed 27 af 00 00 00 03 00 12 00 00 00 16 00 05 00 00 00 10 00 02 00 11 00 15 00 12 00 1b 00 11 ..'.............................
3c000 00 25 00 13 00 13 00 00 00 20 00 03 00 00 00 27 00 28 00 20 00 00 00 02 00 25 00 22 00 23 00 01 .%.............'.(.......%.".#..
3c020 00 15 00 06 00 29 00 23 00 03 00 14 00 00 00 15 00 02 ff 00 0f 00 07 07 00 2a 03 00 00 01 01 07 .....).#.................*......
3c040 00 2a 00 00 0e 00 09 00 2b 00 2c 00 01 00 09 00 00 00 77 00 02 00 02 00 00 00 24 03 3c a7 00 1a .*......+.,.......w.......$.<...
3c060 2a 1b 31 b8 00 2d 9a 00 0c 2a 1b 31 b8 00 33 99 00 05 04 ac 84 01 01 1b 2a be a1 ff e6 03 ac 00 *.1..-...*.1..3.........*.......
3c080 00 00 03 00 12 00 00 00 16 00 05 00 00 00 17 00 05 00 18 00 17 00 19 00 19 00 17 00 22 00 1a 00 ............................"...
3c0a0 13 00 00 00 16 00 02 00 00 00 24 00 28 00 20 00 00 00 02 00 20 00 24 00 25 00 01 00 14 00 00 00 ..........$.(.........$.%.......
3c0c0 09 00 04 fc 00 05 01 11 01 02 00 09 00 36 00 27 00 01 00 09 00 00 00 b4 00 04 00 04 00 00 00 4e .............6.'...............N
3c0e0 0e 48 03 3e a7 00 42 b2 00 10 9a 00 1c 2a 1d 31 b8 00 33 99 00 13 2a 1d 31 0e 97 9e 00 0b bb 00 .H.>..B......*.1..3...*.1.......
3c100 1c 59 b7 00 1e bf b2 00 10 9a 00 14 2a 1d 31 b8 00 2d 99 00 0b bb 00 1c 59 b7 00 1e bf 27 2a 1d .Y..........*.1..-......Y....'*.
3c120 31 63 48 84 03 01 1d 2a be a1 ff be 27 af 00 00 00 03 00 12 00 00 00 1e 00 07 00 00 00 21 00 02 1cH....*....'................!..
3c140 00 22 00 07 00 23 00 26 00 24 00 3d 00 25 00 43 00 22 00 4c 00 28 00 13 00 00 00 20 00 03 00 00 ."...#.&.$.=.%.C.".L.(..........
3c160 00 4e 00 37 00 20 00 00 00 02 00 4c 00 38 00 23 00 01 00 04 00 48 00 24 00 25 00 03 00 14 00 00 .N.7.......L.8.#.....H.$.%......
3c180 00 0a 00 04 fd 00 07 03 01 1e 16 08 00 09 00 39 00 3a 00 01 00 09 00 00 00 6d 00 02 00 03 00 00 ...............9.:.......m......
3c1a0 00 16 03 3d a7 00 0d 2a 1c 32 1b b8 00 3b 84 02 01 1c 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 ...=...*.2...;....*.............
3c1c0 00 12 00 04 00 00 00 2e 00 05 00 2f 00 0c 00 2e 00 15 00 31 00 13 00 00 00 20 00 03 00 00 00 16 .........../.......1............
3c1e0 00 3e 00 3f 00 00 00 00 00 16 00 40 00 25 00 01 00 02 00 13 00 24 00 25 00 02 00 14 00 00 00 07 .>.?.......@.%.......$.%........
3c200 00 02 fc 00 05 01 09 00 09 00 39 00 3d 00 01 00 09 00 00 00 6d 00 02 00 03 00 00 00 16 03 3d a7 ..........9.=.......m.........=.
3c220 00 0d 2a 1c 32 1b b8 00 41 84 02 01 1c 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 00 12 00 04 00 ..*.2...A....*..................
3c240 00 00 34 00 05 00 35 00 0c 00 34 00 15 00 37 00 13 00 00 00 20 00 03 00 00 00 16 00 3e 00 44 00 ..4...5...4...7.............>.D.
3c260 00 00 00 00 16 00 40 00 25 00 01 00 02 00 13 00 24 00 25 00 02 00 14 00 00 00 07 00 02 fc 00 05 ......@.%.......$.%.............
3c280 01 09 00 09 00 39 00 43 00 01 00 09 00 00 00 6d 00 02 00 03 00 00 00 16 03 3d a7 00 0d 2a 1c 32 .....9.C.......m.........=...*.2
3c2a0 1b b8 00 45 84 02 01 1c 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 00 12 00 04 00 00 00 3a 00 05 ...E....*....................:..
3c2c0 00 3b 00 0c 00 3a 00 15 00 3d 00 13 00 00 00 20 00 03 00 00 00 16 00 3e 00 48 00 00 00 00 00 16 .;...:...=.............>.H......
3c2e0 00 40 00 25 00 01 00 02 00 13 00 24 00 25 00 02 00 14 00 00 00 07 00 02 fc 00 05 01 09 00 09 00 .@.%.......$.%..................
3c300 39 00 47 00 01 00 09 00 00 00 3e 00 02 00 02 00 00 00 06 2a 1b b8 00 49 b1 00 00 00 02 00 12 00 9.G.......>........*...I........
3c320 00 00 0a 00 02 00 00 00 40 00 05 00 41 00 13 00 00 00 16 00 02 00 00 00 06 00 3e 00 4e 00 00 00 ........@...A.............>.N...
3c340 00 00 06 00 40 00 25 00 01 00 09 00 39 00 4f 00 01 00 09 00 00 00 6d 00 03 00 04 00 00 00 16 03 ....@.%.....9.O.......m.........
3c360 3e a7 00 0d 2a 1d 32 27 b8 00 50 84 03 01 1d 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 00 12 00 >...*.2'..P....*................
3c380 04 00 00 00 45 00 05 00 46 00 0c 00 45 00 15 00 48 00 13 00 00 00 20 00 03 00 00 00 16 00 3e 00 ....E...F...E...H.............>.
3c3a0 53 00 00 00 00 00 16 00 40 00 23 00 01 00 02 00 13 00 24 00 25 00 03 00 14 00 00 00 07 00 02 fc S.......@.#.......$.%...........
3c3c0 00 05 01 09 00 09 00 39 00 52 00 01 00 09 00 00 00 6d 00 03 00 04 00 00 00 16 03 3e a7 00 0d 2a .......9.R.......m.........>...*
3c3e0 1d 32 27 b8 00 54 84 03 01 1d 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 00 12 00 04 00 00 00 4b .2'..T....*....................K
3c400 00 05 00 4c 00 0c 00 4b 00 15 00 4e 00 13 00 00 00 20 00 03 00 00 00 16 00 3e 00 57 00 00 00 00 ...L...K...N.............>.W....
3c420 00 16 00 40 00 23 00 01 00 02 00 13 00 24 00 25 00 03 00 14 00 00 00 07 00 02 fc 00 05 01 09 00 ...@.#.......$.%................
3c440 09 00 39 00 56 00 01 00 09 00 00 00 6d 00 03 00 04 00 00 00 16 03 3e a7 00 0d 2a 1d 32 27 b8 00 ..9.V.......m.........>...*.2'..
3c460 58 84 03 01 1d 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 00 12 00 04 00 00 00 51 00 05 00 52 00 X....*....................Q...R.
3c480 0c 00 51 00 15 00 54 00 13 00 00 00 20 00 03 00 00 00 16 00 3e 00 5b 00 00 00 00 00 16 00 40 00 ..Q...T.............>.[.......@.
3c4a0 23 00 01 00 02 00 13 00 24 00 25 00 03 00 14 00 00 00 07 00 02 fc 00 05 01 09 00 09 00 39 00 5a #.......$.%..................9.Z
3c4c0 00 01 00 09 00 00 00 3e 00 03 00 03 00 00 00 06 2a 27 b8 00 5c b1 00 00 00 02 00 12 00 00 00 0a .......>........*'..\...........
3c4e0 00 02 00 00 00 57 00 05 00 58 00 13 00 00 00 16 00 02 00 00 00 06 00 3e 00 20 00 00 00 00 00 06 .....W...X.............>........
3c500 00 40 00 23 00 01 00 09 00 5e 00 5f 00 01 00 09 00 00 00 6f 00 03 00 03 00 00 00 18 03 3d a7 00 .@.#.....^._.......o.........=..
3c520 0f 2a 1c 32 2b 1c 32 b8 00 60 84 02 01 1c 2b be a1 ff f1 b1 00 00 00 03 00 12 00 00 00 12 00 04 .*.2+.2..`....+.................
3c540 00 00 00 5b 00 05 00 5c 00 0e 00 5b 00 17 00 5e 00 13 00 00 00 20 00 03 00 00 00 18 00 63 00 53 ...[...\...[...^.............c.S
3c560 00 00 00 00 00 18 00 64 00 53 00 01 00 02 00 15 00 24 00 25 00 02 00 14 00 00 00 07 00 02 fc 00 .......d.S.......$.%............
3c580 05 01 0b 00 09 00 5e 00 62 00 01 00 09 00 00 00 6f 00 03 00 03 00 00 00 18 03 3d a7 00 0f 2a 1c ......^.b.......o.........=...*.
3c5a0 32 2b 1c 32 b8 00 65 84 02 01 1c 2b be a1 ff f1 b1 00 00 00 03 00 12 00 00 00 12 00 04 00 00 00 2+.2..e....+....................
3c5c0 62 00 05 00 63 00 0e 00 62 00 17 00 65 00 13 00 00 00 20 00 03 00 00 00 18 00 63 00 57 00 00 00 b...c...b...e.............c.W...
3c5e0 00 00 18 00 64 00 57 00 01 00 02 00 15 00 24 00 25 00 02 00 14 00 00 00 07 00 02 fc 00 05 01 0b ....d.W.......$.%...............
3c600 00 09 00 39 00 67 00 01 00 09 00 00 00 6f 00 03 00 03 00 00 00 18 03 3d a7 00 0f 2a 1c 32 2b 1c ...9.g.......o.........=...*.2+.
3c620 32 b8 00 68 84 02 01 1c 2b be a1 ff f1 b1 00 00 00 03 00 12 00 00 00 12 00 04 00 00 00 69 00 05 2..h....+....................i..
3c640 00 6a 00 0e 00 69 00 17 00 6c 00 13 00 00 00 20 00 03 00 00 00 18 00 63 00 5b 00 00 00 00 00 18 .j...i...l.............c.[......
3c660 00 64 00 5b 00 01 00 02 00 15 00 24 00 25 00 02 00 14 00 00 00 07 00 02 fc 00 05 01 0b 00 09 00 .d.[.......$.%..................
3c680 5e 00 6a 00 01 00 09 00 00 00 42 00 05 00 02 00 00 00 0a 2b 03 2a 03 2b be b8 00 6b b1 00 00 00 ^.j.......B........+.*.+...k....
3c6a0 02 00 12 00 00 00 0a 00 02 00 00 00 6f 00 09 00 70 00 13 00 00 00 16 00 02 00 00 00 0a 00 63 00 ............o...p.............c.
3c6c0 20 00 00 00 00 00 0a 00 64 00 20 00 01 00 09 00 71 00 4f 00 01 00 09 00 00 00 6d 00 03 00 04 00 ........d.......q.O.......m.....
3c6e0 00 00 16 03 3e a7 00 0d 2a 1d 32 27 b8 00 72 84 03 01 1d 2a be a1 ff f3 b1 00 00 00 03 00 12 00 ....>...*.2'..r....*............
3c700 00 00 12 00 04 00 00 00 73 00 05 00 74 00 0c 00 73 00 15 00 76 00 13 00 00 00 20 00 03 00 00 00 ........s...t...s...v...........
3c720 16 00 3e 00 53 00 00 00 00 00 16 00 74 00 23 00 01 00 02 00 13 00 24 00 25 00 03 00 14 00 00 00 ..>.S.......t.#.......$.%.......
3c740 07 00 02 fc 00 05 01 09 00 09 00 71 00 52 00 01 00 09 00 00 00 6d 00 03 00 04 00 00 00 16 03 3e ...........q.R.......m.........>
3c760 a7 00 0d 2a 1d 32 27 b8 00 75 84 03 01 1d 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 00 12 00 04 ...*.2'..u....*.................
3c780 00 00 00 79 00 05 00 7a 00 0c 00 79 00 15 00 7c 00 13 00 00 00 20 00 03 00 00 00 16 00 3e 00 57 ...y...z...y...|.............>.W
3c7a0 00 00 00 00 00 16 00 74 00 23 00 01 00 02 00 13 00 24 00 25 00 03 00 14 00 00 00 07 00 02 fc 00 .......t.#.......$.%............
3c7c0 05 01 09 00 09 00 71 00 56 00 01 00 09 00 00 00 6d 00 03 00 04 00 00 00 16 03 3e a7 00 0d 2a 1d ......q.V.......m.........>...*.
3c7e0 32 27 b8 00 77 84 03 01 1d 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 00 12 00 04 00 00 00 7f 00 2'..w....*......................
3c800 05 00 80 00 0c 00 7f 00 15 00 82 00 13 00 00 00 20 00 03 00 00 00 16 00 3e 00 5b 00 00 00 00 00 ........................>.[.....
3c820 16 00 74 00 23 00 01 00 02 00 13 00 24 00 25 00 03 00 14 00 00 00 07 00 02 fc 00 05 01 09 00 09 ..t.#.......$.%.................
3c840 00 71 00 5a 00 01 00 09 00 00 00 6d 00 06 00 04 00 00 00 16 03 3e a7 00 0d 2a 1d 5c 31 27 63 52 .q.Z.......m.........>...*.\1'cR
3c860 84 03 01 1d 2a be a1 ff f3 b1 00 00 00 03 00 12 00 00 00 12 00 04 00 00 00 85 00 05 00 86 00 0c ....*...........................
3c880 00 85 00 15 00 88 00 13 00 00 00 20 00 03 00 00 00 16 00 3e 00 20 00 00 00 00 00 16 00 74 00 23 ...................>.........t.#
3c8a0 00 01 00 02 00 13 00 24 00 25 00 03 00 14 00 00 00 07 00 02 fc 00 05 01 09 00 09 00 38 00 27 00 .......$.%..................8.'.
3c8c0 01 00 09 00 00 00 6c 00 04 00 04 00 00 00 18 0e 48 03 3e a7 00 0c 27 2a 1d 31 63 48 84 03 01 1d ......l.........H.>...'*.1cH....
3c8e0 2a be a1 ff f4 27 af 00 00 00 03 00 12 00 00 00 0e 00 03 00 00 00 8c 00 02 00 8d 00 16 00 8e 00 *....'..........................
3c900 13 00 00 00 20 00 03 00 00 00 18 00 3e 00 20 00 00 00 02 00 16 00 79 00 23 00 01 00 04 00 12 00 ............>.........y.#.......
3c920 24 00 25 00 03 00 14 00 00 00 08 00 02 fd 00 07 03 01 08 00 09 00 7a 00 7b 00 01 00 09 00 00 00 $.%...................z.{.......
3c940 80 00 04 00 03 00 00 00 22 2a be bd 00 2a 4c 03 3d a7 00 12 2b 1c 2a 1c 32 b6 00 7c c0 00 2a 53 ........"*...*L.=...+.*.2..|..*S
3c960 84 02 01 1c 2b be a1 ff ee 2b b0 00 00 00 03 00 12 00 00 00 16 00 05 00 00 00 94 00 06 00 95 00 ....+....+......................
3c980 0b 00 96 00 17 00 95 00 20 00 98 00 13 00 00 00 20 00 03 00 00 00 22 00 80 00 5b 00 00 00 06 00 ......................"...[.....
3c9a0 1c 00 79 00 5b 00 01 00 08 00 18 00 24 00 25 00 02 00 14 00 00 00 0a 00 02 fd 00 0b 07 00 81 01 ..y.[.......$.%.................
3c9c0 0e 00 09 00 7a 00 82 00 01 00 09 00 00 00 7d 00 04 00 03 00 00 00 1f 2a be bd 00 81 4c 03 3d a7 ....z.........}........*....L.=.
3c9e0 00 0f 2b 1c 2a 1c 32 b8 00 83 53 84 02 01 1c 2b be a1 ff f1 2b b0 00 00 00 03 00 12 00 00 00 16 ..+.*.2...S....+....+...........
3ca00 00 05 00 00 00 9d 00 06 00 9e 00 0b 00 9f 00 14 00 9e 00 1d 00 a1 00 13 00 00 00 20 00 03 00 00 ................................
3ca20 00 1f 00 80 00 57 00 00 00 06 00 19 00 79 00 57 00 01 00 08 00 15 00 24 00 25 00 02 00 14 00 00 .....W.......y.W.......$.%......
3ca40 00 0a 00 02 fd 00 0b 07 00 85 01 0b 00 09 00 86 00 1b 00 01 00 09 00 00 00 58 00 08 00 02 00 00 .........................X......
3ca60 00 24 2a 2b b8 00 87 14 00 89 63 2a 2a b8 00 87 14 00 89 63 b8 00 8b 2b 2b b8 00 87 14 00 89 63 .$*+......c**......c...++......c
3ca80 b8 00 8b 6b 6f af 00 00 00 02 00 12 00 00 00 06 00 01 00 00 00 a6 00 13 00 00 00 16 00 02 00 00 ...ko...........................
3caa0 00 24 00 91 00 20 00 00 00 00 00 24 00 92 00 20 00 01 00 09 00 93 00 27 00 01 00 09 00 00 00 8a .$.........$...........'........
3cac0 00 04 00 08 00 00 00 29 14 00 94 48 2a 59 3a 07 be 36 06 03 36 05 a7 00 12 19 07 15 05 31 4a 29 .......)...H*Y:..6..6........1J)
3cae0 27 b8 00 96 48 84 05 01 15 05 15 06 a1 ff ed 27 af 00 00 00 03 00 12 00 00 00 0e 00 03 00 00 00 '...H..........'................
3cb00 aa 00 04 00 ab 00 27 00 ac 00 13 00 00 00 20 00 03 00 00 00 29 00 99 00 20 00 00 00 04 00 25 00 ......'.............).........%.
3cb20 93 00 23 00 01 00 17 00 06 00 29 00 23 00 03 00 14 00 00 00 15 00 02 ff 00 11 00 07 07 00 2a 03 ..#.......).#.................*.
3cb40 00 00 01 01 07 00 2a 00 00 0e 00 09 00 9a 00 9b 00 01 00 09 00 00 00 65 00 04 00 02 00 00 00 18 ......*................e........
3cb60 03 3c a7 00 0f 2a 1b 2a 1b 31 b8 00 9c 52 84 01 01 1b 2a be a1 ff f1 b1 00 00 00 03 00 12 00 00 .<...*.*.1...R....*.............
3cb80 00 12 00 04 00 00 00 b0 00 05 00 b1 00 0e 00 b0 00 17 00 b3 00 13 00 00 00 16 00 02 00 00 00 18 ................................
3cba0 00 91 00 20 00 00 00 02 00 15 00 24 00 25 00 01 00 14 00 00 00 07 00 02 fc 00 05 01 0b 00 09 00 ...........$.%..................
3cbc0 38 00 9f 00 01 00 09 00 00 00 6c 00 03 00 03 00 00 00 18 03 3c 03 3d a7 00 0c 1b 2a 1c 2e 60 3c 8.........l.........<.=....*..`<
3cbe0 84 02 01 1c 2a be a1 ff f4 1b ac 00 00 00 03 00 12 00 00 00 0e 00 03 00 00 00 b6 00 02 00 b7 00 ....*...........................
3cc00 16 00 b8 00 13 00 00 00 20 00 03 00 00 00 18 00 3e 00 4e 00 00 00 02 00 16 00 79 00 25 00 01 00 ................>.N.......y.%...
3cc20 04 00 12 00 24 00 25 00 02 00 14 00 00 00 08 00 02 fd 00 07 01 01 08 00 01 00 a0 00 00 00 02 00 ....$.%.........................
3cc40 a1 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c 8e 53 a1 38 5c 10 00 00 5c 10 00 00 13 00 00 00 75 .PK.........i.<.S.8\...\.......u
3cc60 74 69 6c 2f 41 72 72 61 79 4d 61 74 68 2e 6a 61 76 61 70 61 63 6b 61 67 65 20 75 74 69 6c 3b 0a til/ArrayMath.javapackage.util;.
3cc80 0a 69 6d 70 6f 72 74 20 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 73 3b 0a 0a 70 75 62 6c 69 .import.java.util.Arrays;..publi
3cca0 63 20 63 6c 61 73 73 20 41 72 72 61 79 4d 61 74 68 20 7b 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 c.class.ArrayMath.{...public.sta
3ccc0 74 69 63 20 64 6f 75 62 6c 65 20 64 6f 74 50 72 6f 64 75 63 74 28 64 6f 75 62 6c 65 5b 5d 20 76 tic.double.dotProduct(double[].v
3cce0 31 2c 20 64 6f 75 62 6c 65 5b 5d 20 76 32 29 20 7b 0a 09 09 61 73 73 65 72 74 28 76 31 2e 6c 65 1,.double[].v2).{...assert(v1.le
3cd00 6e 67 74 68 20 3d 3d 20 76 32 2e 6c 65 6e 67 74 68 29 3b 0a 09 09 64 6f 75 62 6c 65 20 72 65 73 ngth.==.v2.length);...double.res
3cd20 75 6c 74 20 3d 20 30 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 76 31 ult.=.0;...for(int.i.=.0;.i.<.v1
3cd40 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 0a 09 09 09 72 65 73 75 6c 74 20 2b 3d 20 76 31 5b 69 5d .length;.i++)....result.+=.v1[i]
3cd60 2a 76 32 5b 69 5d 3b 0a 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 09 7d 0a 0a 09 70 75 *v2[i];...return.result;..}...pu
3cd80 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 74 77 6f 4e 6f 72 6d 53 71 75 61 72 65 blic.static.double.twoNormSquare
3cda0 64 28 64 6f 75 62 6c 65 5b 5d 20 76 29 20 7b 0a 09 09 64 6f 75 62 6c 65 20 72 65 73 75 6c 74 20 d(double[].v).{...double.result.
3cdc0 3d 20 30 3b 0a 09 09 66 6f 72 28 64 6f 75 62 6c 65 20 64 20 3a 20 76 29 0a 09 09 09 72 65 73 75 =.0;...for(double.d.:.v)....resu
3cde0 6c 74 20 2b 3d 20 64 2a 64 3b 0a 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 09 7d 0a 0a lt.+=.d*d;...return.result;..}..
3ce00 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 65 61 6e 20 63 6f 6e 74 61 69 6e 73 49 .public.static.boolean.containsI
3ce20 6e 76 61 6c 69 64 28 64 6f 75 62 6c 65 5b 5d 20 76 29 20 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 nvalid(double[].v).{...for(int.i
3ce40 20 3d 20 30 3b 20 69 20 3c 20 76 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 0a 09 09 09 69 66 28 44 .=.0;.i.<.v.length;.i++)....if(D
3ce60 6f 75 62 6c 65 2e 69 73 4e 61 4e 28 76 5b 69 5d 29 20 7c 7c 20 44 6f 75 62 6c 65 2e 69 73 49 6e ouble.isNaN(v[i]).||.Double.isIn
3ce80 66 69 6e 69 74 65 28 76 5b 69 5d 29 29 0a 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09 finite(v[i])).....return.true;..
3cea0 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 7d 0a 0a 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 .return.false;..}......public.st
3cec0 61 74 69 63 20 64 6f 75 62 6c 65 20 73 61 66 65 41 64 64 28 64 6f 75 62 6c 65 5b 5d 20 74 6f 41 atic.double.safeAdd(double[].toA
3cee0 64 64 29 20 7b 0a 09 09 2f 2f 20 4d 61 6b 65 20 73 75 72 65 20 74 68 65 72 65 20 61 72 65 20 6e dd).{...//.Make.sure.there.are.n
3cf00 6f 20 70 6f 73 69 74 69 76 65 20 69 6e 66 69 6e 69 74 69 65 73 0a 09 09 64 6f 75 62 6c 65 20 73 o.positive.infinities...double.s
3cf20 75 6d 20 3d 20 30 3b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 74 6f 41 um.=.0;...for(int.i.=.0;.i.<.toA
3cf40 64 64 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 61 73 73 65 72 74 28 21 28 44 6f dd.length;.i++).{....assert(!(Do
3cf60 75 62 6c 65 2e 69 73 49 6e 66 69 6e 69 74 65 28 74 6f 41 64 64 5b 69 5d 29 20 26 26 20 74 6f 41 uble.isInfinite(toAdd[i]).&&.toA
3cf80 64 64 5b 69 5d 20 3e 20 30 29 29 3b 0a 09 09 09 61 73 73 65 72 74 28 21 44 6f 75 62 6c 65 2e 69 dd[i].>.0));....assert(!Double.i
3cfa0 73 4e 61 4e 28 74 6f 41 64 64 5b 69 5d 29 29 3b 0a 09 09 09 73 75 6d 20 2b 3d 20 74 6f 41 64 64 sNaN(toAdd[i]));....sum.+=.toAdd
3cfc0 5b 69 5d 3b 0a 09 09 7d 0a 09 09 0a 09 09 72 65 74 75 72 6e 20 73 75 6d 3b 0a 09 7d 0a 0a 09 2f [i];...}......return.sum;..}.../
3cfe0 2a 20 4d 65 74 68 6f 64 73 20 66 6f 72 20 66 69 6c 6c 69 6e 67 20 69 6e 74 65 67 65 72 20 61 6e *.Methods.for.filling.integer.an
3d000 64 20 64 6f 75 62 6c 65 20 61 72 72 61 79 73 20 28 6f 66 20 75 70 20 74 6f 20 66 6f 75 72 20 64 d.double.arrays.(of.up.to.four.d
3d020 69 6d 65 6e 73 69 6f 6e 73 29 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 76 61 6c 75 65 2e imensions).with.the.given.value.
3d040 20 2a 2f 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 28 69 6e .*/....public.static.void.set(in
3d060 74 5b 5d 5b 5d 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 69 6e 74 20 76 61 6c 75 65 29 20 7b 0a 09 09 t[][][][].array,.int.value).{...
3d080 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b for(int.i.=.0;.i.<.array.length;
3d0a0 20 69 2b 2b 29 20 7b 0a 09 09 09 73 65 74 28 61 72 72 61 79 5b 69 5d 2c 20 76 61 6c 75 65 29 3b .i++).{....set(array[i],.value);
3d0c0 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 ...}..}....public.static.void.se
3d0e0 74 28 69 6e 74 5b 5d 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 69 6e 74 20 76 61 6c 75 65 29 20 7b 0a t(int[][][].array,.int.value).{.
3d100 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 ..for(int.i.=.0;.i.<.array.lengt
3d120 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 73 65 74 28 61 72 72 61 79 5b 69 5d 2c 20 76 61 6c 75 65 h;.i++).{....set(array[i],.value
3d140 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 );...}..}....public.static.void.
3d160 73 65 74 28 69 6e 74 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 69 6e 74 20 76 61 6c 75 65 29 20 7b 0a set(int[][].array,.int.value).{.
3d180 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 ..for(int.i.=.0;.i.<.array.lengt
3d1a0 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 73 65 74 28 61 72 72 61 79 5b 69 5d 2c 20 76 61 6c 75 65 h;.i++).{....set(array[i],.value
3d1c0 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 );...}..}....public.static.void.
3d1e0 73 65 74 28 69 6e 74 5b 5d 20 61 72 72 61 79 2c 20 69 6e 74 20 76 61 6c 75 65 29 20 7b 0a 09 09 set(int[].array,.int.value).{...
3d200 41 72 72 61 79 73 2e 66 69 6c 6c 28 61 72 72 61 79 2c 20 76 61 6c 75 65 29 3b 0a 09 7d 0a 09 0a Arrays.fill(array,.value);..}...
3d220 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 28 64 6f 75 62 6c 65 ...public.static.void.set(double
3d240 5b 5d 5b 5d 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 29 20 7b 0a [][][][].array,.double.value).{.
3d260 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 ..for(int.i.=.0;.i.<.array.lengt
3d280 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 73 65 74 28 61 72 72 61 79 5b 69 5d 2c 20 76 61 6c 75 65 h;.i++).{....set(array[i],.value
3d2a0 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 );...}..}....public.static.void.
3d2c0 73 65 74 28 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 64 6f 75 62 6c 65 20 76 set(double[][][].array,.double.v
3d2e0 61 6c 75 65 29 20 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 alue).{...for(int.i.=.0;.i.<.arr
3d300 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 73 65 74 28 61 72 72 61 79 5b 69 ay.length;.i++).{....set(array[i
3d320 5d 2c 20 76 61 6c 75 65 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 ],.value);...}..}....public.stat
3d340 69 63 20 76 6f 69 64 20 73 65 74 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 64 6f ic.void.set(double[][].array,.do
3d360 75 62 6c 65 20 76 61 6c 75 65 29 20 7b 0a 09 09 66 6f 72 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 uble.value).{...for(int.i.=.0;.i
3d380 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 73 65 74 28 61 .<.array.length;.i++).{....set(a
3d3a0 72 72 61 79 5b 69 5d 2c 20 76 61 6c 75 65 29 3b 0a 09 09 7d 0a 09 7d 0a 09 0a 09 70 75 62 6c 69 rray[i],.value);...}..}....publi
3d3c0 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 28 64 6f 75 62 6c 65 5b 5d 20 61 72 72 61 79 c.static.void.set(double[].array
3d3e0 2c 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 29 20 7b 0a 09 09 41 72 72 61 79 73 2e 66 69 6c 6c 28 ,.double.value).{...Arrays.fill(
3d400 61 72 72 61 79 2c 20 76 61 6c 75 65 29 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 array,.value);..}...public.stati
3d420 63 20 76 6f 69 64 20 73 65 74 45 71 75 61 6c 28 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 5b 5d 20 64 c.void.setEqual(double[][][][].d
3d440 65 73 74 2c 20 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 5b 5d 20 73 6f 75 72 63 65 29 7b 0a 09 09 66 est,.double[][][][].source){...f
3d460 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 6f 75 72 63 65 2e 6c 65 6e 67 74 68 or.(int.i.=.0;.i.<.source.length
3d480 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 73 65 74 45 71 75 61 6c 28 64 65 73 74 5b 69 5d 2c 73 6f 75 ;.i++).{....setEqual(dest[i],sou
3d4a0 72 63 65 5b 69 5d 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 rce[i]);...}..}.....public.stati
3d4c0 63 20 76 6f 69 64 20 73 65 74 45 71 75 61 6c 28 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 20 64 65 73 c.void.setEqual(double[][][].des
3d4e0 74 2c 20 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 20 73 6f 75 72 63 65 29 7b 0a 09 09 66 6f 72 20 28 t,.double[][][].source){...for.(
3d500 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 6f 75 72 63 65 2e 6c 65 6e 67 74 68 3b 20 69 2b int.i.=.0;.i.<.source.length;.i+
3d520 2b 29 20 7b 0a 09 09 09 73 65 74 28 64 65 73 74 5b 69 5d 2c 73 6f 75 72 63 65 5b 69 5d 29 3b 0a +).{....set(dest[i],source[i]);.
3d540 09 09 7d 0a 09 7d 0a 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 ..}..}.....public.static.void.se
3d560 74 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 64 65 73 74 2c 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 73 6f t(double[][].dest,.double[][].so
3d580 75 72 63 65 29 7b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 6f 75 urce){...for.(int.i.=.0;.i.<.sou
3d5a0 72 63 65 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 73 65 74 45 71 75 61 6c 28 64 rce.length;.i++).{....setEqual(d
3d5c0 65 73 74 5b 69 5d 2c 73 6f 75 72 63 65 5b 69 5d 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 70 75 62 6c est[i],source[i]);...}..}...publ
3d5e0 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 45 71 75 61 6c 28 64 6f 75 62 6c 65 5b 5d ic.static.void.setEqual(double[]
3d600 20 64 65 73 74 2c 20 64 6f 75 62 6c 65 5b 5d 20 73 6f 75 72 63 65 29 7b 0a 09 09 53 79 73 74 65 .dest,.double[].source){...Syste
3d620 6d 2e 61 72 72 61 79 63 6f 70 79 28 73 6f 75 72 63 65 2c 20 30 2c 20 64 65 73 74 2c 20 30 2c 20 m.arraycopy(source,.0,.dest,.0,.
3d640 73 6f 75 72 63 65 2e 6c 65 6e 67 74 68 29 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 source.length);..}...public.stat
3d660 69 63 20 76 6f 69 64 20 70 6c 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 5b ic.void.plusEquals(double[][][][
3d680 5d 20 61 72 72 61 79 2c 20 64 6f 75 62 6c 65 20 76 61 6c 29 7b 0a 09 09 66 6f 72 20 28 69 6e 74 ].array,.double.val){...for.(int
3d6a0 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b .i.=.0;.i.<.array.length;.i++).{
3d6c0 0a 09 09 09 70 6c 75 73 45 71 75 61 6c 73 28 61 72 72 61 79 5b 69 5d 2c 20 76 61 6c 29 3b 0a 09 ....plusEquals(array[i],.val);..
3d6e0 09 7d 0a 09 7d 09 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 6c 75 .}..}.....public.static.void.plu
3d700 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 64 6f 75 62 sEquals(double[][][].array,.doub
3d720 6c 65 20 76 61 6c 29 7b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 le.val){...for.(int.i.=.0;.i.<.a
3d740 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 70 6c 75 73 45 71 75 61 6c rray.length;.i++).{....plusEqual
3d760 73 28 61 72 72 61 79 5b 69 5d 2c 20 76 61 6c 29 3b 0a 09 09 7d 0a 09 7d 09 0a 09 0a 09 70 75 62 s(array[i],.val);...}..}.....pub
3d780 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 70 6c 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c lic.static.void.plusEquals(doubl
3d7a0 65 5b 5d 5b 5d 20 61 72 72 61 79 2c 20 64 6f 75 62 6c 65 20 76 61 6c 29 7b 0a 09 09 66 6f 72 20 e[][].array,.double.val){...for.
3d7c0 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b (int.i.=.0;.i.<.array.length;.i+
3d7e0 2b 29 20 7b 0a 09 09 09 70 6c 75 73 45 71 75 61 6c 73 28 61 72 72 61 79 5b 69 5d 2c 20 76 61 6c +).{....plusEquals(array[i],.val
3d800 29 3b 0a 09 09 7d 0a 09 7d 09 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 );...}..}.....public.static.void
3d820 20 70 6c 75 73 45 71 75 61 6c 73 28 64 6f 75 62 6c 65 5b 5d 20 61 72 72 61 79 2c 20 64 6f 75 62 .plusEquals(double[].array,.doub
3d840 6c 65 20 76 61 6c 29 7b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 le.val){...for.(int.i.=.0;.i.<.a
3d860 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 61 72 72 61 79 5b 69 5d 20 rray.length;.i++).{....array[i].
3d880 2b 3d 20 76 61 6c 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 +=.val;...}..}.....public.static
3d8a0 20 64 6f 75 62 6c 65 20 73 75 6d 28 64 6f 75 62 6c 65 5b 5d 20 61 72 72 61 79 29 20 7b 0a 09 09 .double.sum(double[].array).{...
3d8c0 64 6f 75 62 6c 65 20 72 65 73 20 3d 20 30 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 double.res.=.0;...for.(int.i.=.0
3d8e0 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 72 65 73 20 2b 3d 20 ;.i.<.array.length;.i++).res.+=.
3d900 61 72 72 61 79 5b 69 5d 3b 0a 09 09 72 65 74 75 72 6e 20 72 65 73 3b 0a 09 7d 0a 0a 0a 09 0a 09 array[i];...return.res;..}......
3d920 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 20 64 6f 75 62 6c 65 5b 5d 5b 5d 20 64 65 65 70 63 6c public.static..double[][].deepcl
3d940 6f 6e 65 28 64 6f 75 62 6c 65 5b 5d 5b 5d 20 69 6e 29 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 5b 5d one(double[][].in){...double[][]
3d960 20 72 65 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 69 6e 2e 6c 65 6e 67 74 68 5d 5b 5d 3b 0a .res.=.new.double[in.length][];.
3d980 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 72 65 73 2e 6c 65 6e 67 74 68 ..for.(int.i.=.0;.i.<.res.length
3d9a0 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 72 65 73 5b 69 5d 20 3d 20 69 6e 5b 69 5d 2e 63 6c 6f 6e 65 ;.i++).{....res[i].=.in[i].clone
3d9c0 28 29 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 3b 0a 09 7d 0a 0a 09 0a 09 70 75 62 ();...}...return.res;..}.....pub
3d9e0 6c 69 63 20 73 74 61 74 69 63 20 20 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 20 64 65 65 70 63 6c 6f lic.static..double[][][].deepclo
3da00 6e 65 28 64 6f 75 62 6c 65 5b 5d 5b 5d 5b 5d 20 69 6e 29 7b 0a 09 09 64 6f 75 62 6c 65 5b 5d 5b ne(double[][][].in){...double[][
3da20 5d 5b 5d 20 72 65 73 20 3d 20 6e 65 77 20 64 6f 75 62 6c 65 5b 69 6e 2e 6c 65 6e 67 74 68 5d 5b ][].res.=.new.double[in.length][
3da40 5d 5b 5d 3b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 72 65 73 2e 6c ][];...for.(int.i.=.0;.i.<.res.l
3da60 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 72 65 73 5b 69 5d 20 3d 20 64 65 65 70 63 6c ength;.i++).{....res[i].=.deepcl
3da80 6f 6e 65 28 69 6e 5b 69 5d 29 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 72 65 73 3b 0a 09 7d one(in[i]);...}...return.res;..}
3daa0 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 63 6f 73 69 6e 65 28 64 ...public.static.double.cosine(d
3dac0 6f 75 62 6c 65 5b 5d 20 61 2c 0a 09 09 09 64 6f 75 62 6c 65 5b 5d 20 62 29 20 7b 0a 09 09 72 65 ouble[].a,....double[].b).{...re
3dae0 74 75 72 6e 20 28 64 6f 74 50 72 6f 64 75 63 74 28 61 2c 20 62 29 2b 31 65 2d 35 29 2f 28 4d 61 turn.(dotProduct(a,.b)+1e-5)/(Ma
3db00 74 68 2e 73 71 72 74 28 64 6f 74 50 72 6f 64 75 63 74 28 61 2c 20 61 29 2b 31 65 2d 35 29 2a 4d th.sqrt(dotProduct(a,.a)+1e-5)*M
3db20 61 74 68 2e 73 71 72 74 28 64 6f 74 50 72 6f 64 75 63 74 28 62 2c 20 62 29 2b 31 65 2d 35 29 29 ath.sqrt(dotProduct(b,.b)+1e-5))
3db40 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 64 6f 75 62 6c 65 20 6d 61 78 28 ;..}...public.static.double.max(
3db60 64 6f 75 62 6c 65 5b 5d 20 64 73 29 20 7b 0a 09 09 64 6f 75 62 6c 65 20 6d 61 78 20 3d 20 44 6f double[].ds).{...double.max.=.Do
3db80 75 62 6c 65 2e 4e 45 47 41 54 49 56 45 5f 49 4e 46 49 4e 49 54 59 3b 0a 09 09 66 6f 72 28 64 6f uble.NEGATIVE_INFINITY;...for(do
3dba0 75 62 6c 65 20 64 3a 64 73 29 20 6d 61 78 20 3d 20 4d 61 74 68 2e 6d 61 78 28 64 2c 6d 61 78 29 uble.d:ds).max.=.Math.max(d,max)
3dbc0 3b 0a 09 09 72 65 74 75 72 6e 20 6d 61 78 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 ;...return.max;..}...public.stat
3dbe0 69 63 20 76 6f 69 64 20 65 78 70 6f 6e 65 6e 74 69 61 74 65 28 64 6f 75 62 6c 65 5b 5d 20 61 29 ic.void.exponentiate(double[].a)
3dc00 20 7b 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 2e 6c 65 6e 67 74 .{...for.(int.i.=.0;.i.<.a.lengt
3dc20 68 3b 20 69 2b 2b 29 20 7b 0a 09 09 09 61 5b 69 5d 20 3d 20 4d 61 74 68 2e 65 78 70 28 61 5b 69 h;.i++).{....a[i].=.Math.exp(a[i
3dc40 5d 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 69 6e 74 20 73 ]);...}..}...public.static.int.s
3dc60 75 6d 28 69 6e 74 5b 5d 20 61 72 72 61 79 29 20 7b 0a 09 09 69 6e 74 20 72 65 73 20 3d 20 30 3b um(int[].array).{...int.res.=.0;
3dc80 0a 09 09 66 6f 72 20 28 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 61 72 72 61 79 2e 6c 65 6e ...for.(int.i.=.0;.i.<.array.len
3dca0 67 74 68 3b 20 69 2b 2b 29 20 72 65 73 20 2b 3d 20 61 72 72 61 79 5b 69 5d 3b 0a 09 09 72 65 74 gth;.i++).res.+=.array[i];...ret
3dcc0 75 72 6e 20 72 65 73 3b 0a 09 7d 0a 7d 0a 50 4b 03 04 0a 00 00 00 00 00 b3 69 d6 3c ad 39 24 93 urn.res;..}.}.PK.........i.<.9$.
3dce0 1d 01 00 00 1d 01 00 00 0a 00 00 00 2e 63 6c 61 73 73 70 61 74 68 3c 3f 78 6d 6c 20 76 65 72 73 .............classpath<?xml.vers
3dd00 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 55 54 46 2d 38 22 3f 3e 0a 3c 63 6c ion="1.0".encoding="UTF-8"?>.<cl
3dd20 61 73 73 70 61 74 68 3e 0a 09 3c 63 6c 61 73 73 70 61 74 68 65 6e 74 72 79 20 6b 69 6e 64 3d 22 asspath>..<classpathentry.kind="
3dd40 73 72 63 22 20 70 61 74 68 3d 22 73 72 63 22 2f 3e 0a 09 3c 63 6c 61 73 73 70 61 74 68 65 6e 74 src".path="src"/>..<classpathent
3dd60 72 79 20 6b 69 6e 64 3d 22 63 6f 6e 22 20 70 61 74 68 3d 22 6f 72 67 2e 65 63 6c 69 70 73 65 2e ry.kind="con".path="org.eclipse.
3dd80 6a 64 74 2e 6c 61 75 6e 63 68 69 6e 67 2e 4a 52 45 5f 43 4f 4e 54 41 49 4e 45 52 22 2f 3e 0a 09 jdt.launching.JRE_CONTAINER"/>..
3dda0 3c 63 6c 61 73 73 70 61 74 68 65 6e 74 72 79 20 6b 69 6e 64 3d 22 6c 69 62 22 20 70 61 74 68 3d <classpathentry.kind="lib".path=
3ddc0 22 6c 69 62 2f 74 72 6f 76 65 2d 32 2e 30 2e 32 2e 6a 61 72 22 2f 3e 0a 09 3c 63 6c 61 73 73 70 "lib/trove-2.0.2.jar"/>..<classp
3dde0 61 74 68 65 6e 74 72 79 20 6b 69 6e 64 3d 22 6f 75 74 70 75 74 22 20 70 61 74 68 3d 22 63 6c 61 athentry.kind="output".path="cla
3de00 73 73 22 2f 3e 0a 3c 2f 63 6c 61 73 73 70 61 74 68 3e 0a 50 4b 01 02 14 00 14 00 08 00 08 00 47 ss"/>.</classpath>.PK..........G
3de20 7d e6 3c b2 7f 02 ee 1b 00 00 00 19 00 00 00 14 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }.<.............................
3de40 00 4d 45 54 41 2d 49 4e 46 2f 4d 41 4e 49 46 45 53 54 2e 4d 46 fe ca 00 00 50 4b 01 02 0a 00 0a .META-INF/MANIFEST.MF....PK.....
3de60 00 00 00 00 00 b3 69 d6 3c 82 66 eb 69 73 01 00 00 73 01 00 00 08 00 00 00 00 00 00 00 00 00 00 ......i.<.f.is...s..............
3de80 00 00 00 61 00 00 00 2e 70 72 6f 6a 65 63 74 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c f7 ...a....projectPK...........i.<.
3dea0 ae 83 af 5e 05 00 00 5e 05 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 fa 01 00 00 62 75 69 ...^...^.....................bui
3dec0 6c 64 2e 78 6d 6c 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 3f d8 ff 41 07 12 00 00 07 12 ld.xmlPK...........Y.<?..A......
3dee0 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 7f 07 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ....................optimization
3df00 2f 65 78 61 6d 70 6c 65 73 2f 78 32 79 32 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 /examples/x2y2.classPK..........
3df20 b3 69 d6 3c 29 2d 1e 8d 4d 11 00 00 4d 11 00 00 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 c4 19 .i.<)-..M...M...................
3df40 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 78 32 79 32 2e 6a 61 76 ..optimization/examples/x2y2.jav
3df60 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c a7 70 84 67 c4 13 00 00 c4 13 00 00 2f 00 00 aPK...........Y.<.p.g......../..
3df80 00 00 00 00 00 00 00 00 00 00 00 4e 2b 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d ...........N+..optimization/exam
3dfa0 70 6c 65 73 2f 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 6e 74 73 2e 63 6c 61 73 73 50 4b ples/x2y2WithConstraints.classPK
3dfc0 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c f3 64 7e d9 98 0f 00 00 98 0f 00 00 2e 00 00 00 00 00 ...........i.<.d~...............
3dfe0 00 00 00 00 00 00 00 00 5f 3f 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 ........_?..optimization/example
3e000 73 2f 78 32 79 32 57 69 74 68 43 6f 6e 73 74 72 61 69 6e 74 73 2e 6a 61 76 61 50 4b 01 02 0a 00 s/x2y2WithConstraints.javaPK....
3e020 0a 00 00 00 00 00 96 59 e5 3c e7 84 61 56 11 0f 00 00 11 0f 00 00 31 00 00 00 00 00 00 00 00 00 .......Y.<..aV........1.........
3e040 00 00 00 00 43 4f 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 47 65 ....CO..optimization/examples/Ge
3e060 6e 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 6f 63 6b 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a neralizedRosenbrock.classPK.....
3e080 00 00 00 00 00 b3 69 d6 3c 9d 54 bc 49 6a 0d 00 00 6a 0d 00 00 30 00 00 00 00 00 00 00 00 00 00 ......i.<.T.Ij...j...0..........
3e0a0 00 00 00 a3 5e 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 65 78 61 6d 70 6c 65 73 2f 47 65 6e ....^..optimization/examples/Gen
3e0c0 65 72 61 6c 69 7a 65 64 52 6f 73 65 6e 62 72 6f 63 6b 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 eralizedRosenbrock.javaPK.......
3e0e0 00 00 00 96 59 e5 3c 64 c6 c0 6a f6 01 00 00 f6 01 00 00 4b 00 00 00 00 00 00 00 00 00 00 00 00 ....Y.<d..j........K............
3e100 00 5b 6c 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d .[l..optimization/gradientBasedM
3e120 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 ethods/ProjectedAbstractGradient
3e140 42 61 73 65 4d 65 74 68 6f 64 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b1 69 d6 3c BaseMethod.classPK...........i.<
3e160 0c 75 58 ea cc 00 00 00 cc 00 00 00 4a 00 00 00 00 00 00 00 00 00 00 00 00 00 ba 6e 00 00 6f 70 .uX.........J..............n..op
3e180 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f timization/gradientBasedMethods/
3e1a0 50 72 6f 6a 65 63 74 65 64 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 ProjectedAbstractGradientBaseMet
3e1c0 68 6f 64 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c d0 c6 25 c4 c7 0f 00 00 hod.javaPK...........Y.<..%.....
3e1e0 c7 0f 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 ee 6f 00 00 6f 70 74 69 6d 69 7a 61 74 69 ....B..............o..optimizati
3e200 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 41 62 73 74 72 61 63 74 on/gradientBasedMethods/Abstract
3e220 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 6f 64 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 GradientBaseMethod.classPK......
3e240 00 00 00 00 b1 69 d6 3c 09 75 dc 02 19 0c 00 00 19 0c 00 00 41 00 00 00 00 00 00 00 00 00 00 00 .....i.<.u..........A...........
3e260 00 00 15 80 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 ......optimization/gradientBased
3e280 4d 65 74 68 6f 64 73 2f 41 62 73 74 72 61 63 74 47 72 61 64 69 65 6e 74 42 61 73 65 4d 65 74 68 Methods/AbstractGradientBaseMeth
3e2a0 6f 64 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c ba cd c1 1f ca 00 00 00 ca od.javaPK...........Y.<.........
3e2c0 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 8d 8c 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f ...:.................optimizatio
3e2e0 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 n/gradientBasedMethods/Projected
3e300 4f 70 74 69 6d 69 7a 65 72 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b1 69 d6 3c 32 Optimizer.classPK...........i.<2
3e320 98 e6 eb 6f 00 00 00 6f 00 00 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 af 8d 00 00 6f 70 74 ...o...o...9.................opt
3e340 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 imization/gradientBasedMethods/P
3e360 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 rojectedOptimizer.javaPK........
3e380 00 00 96 59 e5 3c a7 f1 44 4e e1 01 00 00 e1 01 00 00 31 00 00 00 00 00 00 00 00 00 00 00 00 00 ...Y.<..DN........1.............
3e3a0 75 8e 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 u...optimization/gradientBasedMe
3e3c0 74 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 thods/Optimizer.classPK.........
3e3e0 00 b1 69 d6 3c c1 b8 c2 77 e2 01 00 00 e2 01 00 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 a5 ..i.<...w........0..............
3e400 90 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 ...optimization/gradientBasedMet
3e420 68 6f 64 73 2f 4f 70 74 69 6d 69 7a 65 72 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 hods/Optimizer.javaPK...........
3e440 59 e5 3c 3b bc 3c be d9 0b 00 00 d9 0b 00 00 34 00 00 00 00 00 00 00 00 00 00 00 00 00 d5 92 00 Y.<;.<.........4................
3e460 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f .optimization/gradientBasedMetho
3e480 64 73 2f 44 65 62 75 67 48 65 6c 70 65 72 73 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 ds/DebugHelpers.classPK.........
3e4a0 00 b1 69 d6 3c 26 3a ec db 6d 08 00 00 6d 08 00 00 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..i.<&:..m...m...3..............
3e4c0 9f 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 ...optimization/gradientBasedMet
3e4e0 68 6f 64 73 2f 44 65 62 75 67 48 65 6c 70 65 72 73 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 hods/DebugHelpers.javaPK........
3e500 00 00 96 59 e5 3c e0 6f a8 e1 e5 02 00 00 e5 02 00 00 37 00 00 00 00 00 00 00 00 00 00 00 00 00 ...Y.<.o..........7.............
3e520 be a7 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 ....optimization/gradientBasedMe
3e540 74 68 6f 64 73 2f 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 2e 63 6c 61 73 73 50 4b 01 02 0a thods/GradientDescent.classPK...
3e560 00 0a 00 00 00 00 00 b1 69 d6 3c fd 07 6d 78 89 01 00 00 89 01 00 00 36 00 00 00 00 00 00 00 00 ........i.<..mx........6........
3e580 00 00 00 00 00 f8 aa 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 .........optimization/gradientBa
3e5a0 73 65 64 4d 65 74 68 6f 64 73 2f 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 2e 6a 61 76 61 50 sedMethods/GradientDescent.javaP
3e5c0 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c f6 a7 99 4b b5 0d 00 00 b5 0d 00 00 2d 00 00 00 00 K...........Y.<...K........-....
3e5e0 00 00 00 00 00 00 00 00 00 d5 ac 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 .............optimization/gradie
3e600 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 4c 42 46 47 53 2e 63 6c 61 73 73 50 4b 01 02 0a 00 ntBasedMethods/LBFGS.classPK....
3e620 0a 00 00 00 00 00 b1 69 d6 3c 8b b8 9f 81 da 1d 00 00 da 1d 00 00 2c 00 00 00 00 00 00 00 00 00 .......i.<............,.........
3e640 00 00 00 00 d5 ba 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 ........optimization/gradientBas
3e660 65 64 4d 65 74 68 6f 64 73 2f 4c 42 46 47 53 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 edMethods/LBFGS.javaPK..........
3e680 96 59 e5 3c 8d 2d af 21 a0 08 00 00 a0 08 00 00 31 00 00 00 00 00 00 00 00 00 00 00 00 00 f9 d8 .Y.<.-.!........1...............
3e6a0 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 ..optimization/gradientBasedMeth
3e6c0 6f 64 73 2f 4f 62 6a 65 63 74 69 76 65 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b1 ods/Objective.classPK...........
3e6e0 69 d6 3c ec 5d ff 97 a0 06 00 00 a0 06 00 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 e8 e1 00 i.<.]..........0................
3e700 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f .optimization/gradientBasedMetho
3e720 64 73 2f 4f 62 6a 65 63 74 69 76 65 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 ds/Objective.javaPK...........Y.
3e740 3c 75 f3 42 e2 3a 09 00 00 3a 09 00 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 d6 e8 00 00 6f <u.B.:...:...9.................o
3e760 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 ptimization/gradientBasedMethods
3e780 2f 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 /ConjugateGradient.classPK......
3e7a0 00 00 00 00 b1 69 d6 3c c7 61 90 bf 85 0b 00 00 85 0b 00 00 38 00 00 00 00 00 00 00 00 00 00 00 .....i.<.a..........8...........
3e7c0 00 00 67 f2 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 ..g...optimization/gradientBased
3e7e0 4d 65 74 68 6f 64 73 2f 43 6f 6e 6a 75 67 61 74 65 47 72 61 64 69 65 6e 74 2e 6a 61 76 61 50 4b Methods/ConjugateGradient.javaPK
3e800 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c aa cc 4e 2d 9e 07 00 00 9e 07 00 00 40 00 00 00 00 00 ...........Y.<..N-........@.....
3e820 00 00 00 00 00 00 00 00 42 fe 00 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e ........B...optimization/gradien
3e840 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 tBasedMethods/ProjectedGradientD
3e860 65 73 63 65 6e 74 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b1 69 d6 3c 80 d8 36 a6 escent.classPK...........i.<..6.
3e880 5c 12 00 00 5c 12 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 3e 06 01 00 6f 70 74 69 6d 69 \...\...?.............>...optimi
3e8a0 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a zation/gradientBasedMethods/Proj
3e8c0 65 63 74 65 64 47 72 61 64 69 65 6e 74 44 65 73 63 65 6e 74 2e 6a 61 76 61 50 4b 01 02 0a 00 0a ectedGradientDescent.javaPK.....
3e8e0 00 00 00 00 00 96 59 e5 3c d4 51 72 5e 4f 02 00 00 4f 02 00 00 3a 00 00 00 00 00 00 00 00 00 00 ......Y.<.Qr^O...O...:..........
3e900 00 00 00 f7 18 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 .......optimization/gradientBase
3e920 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 69 76 65 2e 63 6c 61 73 dMethods/ProjectedObjective.clas
3e940 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b1 69 d6 3c 21 d2 aa dc 5f 02 00 00 5f 02 00 00 39 00 00 sPK...........i.<!..._..._...9..
3e960 00 00 00 00 00 00 00 00 00 00 00 9e 1b 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 ...............optimization/grad
3e980 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 50 72 6f 6a 65 63 74 65 64 4f 62 6a 65 63 74 ientBasedMethods/ProjectedObject
3e9a0 69 76 65 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 1c 46 89 fc 7e 0e 00 00 ive.javaPK...........Y.<.F..~...
3e9c0 7e 0e 00 00 45 00 00 00 00 00 00 00 00 00 00 00 00 00 54 1e 01 00 6f 70 74 69 6d 69 7a 61 74 69 ~...E.............T...optimizati
3e9e0 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 50 72 on/gradientBasedMethods/stats/Pr
3ea00 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 2e 63 6c 61 73 73 50 4b 01 02 0a ojectedOptimizerStats.classPK...
3ea20 00 0a 00 00 00 00 00 b1 69 d6 3c f1 fc 35 65 80 09 00 00 80 09 00 00 44 00 00 00 00 00 00 00 00 ........i.<..5e........D........
3ea40 00 00 00 00 00 35 2d 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 .....5-..optimization/gradientBa
3ea60 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 50 72 6f 6a 65 63 74 65 64 4f 70 74 69 6d 69 sedMethods/stats/ProjectedOptimi
3ea80 7a 65 72 53 74 61 74 73 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c c4 6e 9a zerStats.javaPK...........Y.<.n.
3eaa0 27 f5 0f 00 00 f5 0f 00 00 3c 00 00 00 00 00 00 00 00 00 00 00 00 00 17 37 01 00 6f 70 74 69 6d '........<..............7..optim
3eac0 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d 65 74 68 6f 64 73 2f 73 74 61 ization/gradientBasedMethods/sta
3eae0 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 ts/OptimizerStats.classPK.......
3eb00 00 00 00 b1 69 d6 3c 01 3e 33 cb 50 0a 00 00 50 0a 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 ....i.<.>3.P...P...;............
3eb20 00 66 47 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 67 72 61 64 69 65 6e 74 42 61 73 65 64 4d .fG..optimization/gradientBasedM
3eb40 65 74 68 6f 64 73 2f 73 74 61 74 73 2f 4f 70 74 69 6d 69 7a 65 72 53 74 61 74 73 2e 6a 61 76 61 ethods/stats/OptimizerStats.java
3eb60 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 2c d4 bf 11 d1 04 00 00 d1 04 00 00 2d 00 00 00 PK...........Y.<,...........-...
3eb80 00 00 00 00 00 00 00 00 00 00 0f 52 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 ...........R..optimization/lines
3eba0 65 61 72 63 68 2f 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 63 6c 61 73 73 50 4b 01 02 0a earch/WolfeConditions.classPK...
3ebc0 00 0a 00 00 00 00 00 b2 69 d6 3c f5 cb f8 de 90 04 00 00 90 04 00 00 2c 00 00 00 00 00 00 00 00 ........i.<............,........
3ebe0 00 00 00 00 00 2b 57 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 .....+W..optimization/linesearch
3ec00 2f 57 6f 6c 66 65 43 6f 6e 64 69 74 69 6f 6e 73 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 /WolfeConditions.javaPK.........
3ec20 00 96 59 e5 3c 60 22 e7 30 7c 01 00 00 7c 01 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 05 ..Y.<`".0|...|..................
3ec40 5c 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 \..optimization/linesearch/LineS
3ec60 65 61 72 63 68 4d 65 74 68 6f 64 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b2 69 d6 earchMethod.classPK...........i.
3ec80 3c 61 38 04 93 44 01 00 00 44 01 00 00 2d 00 00 00 00 00 00 00 00 00 00 00 00 00 cd 5d 01 00 6f <a8..D...D...-..............]..o
3eca0 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4c 69 6e 65 53 65 61 72 63 ptimization/linesearch/LineSearc
3ecc0 68 4d 65 74 68 6f 64 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 15 4f 56 10 hMethod.javaPK...........Y.<.OV.
3ece0 1a 0f 00 00 1a 0f 00 00 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 5c 5f 01 00 6f 70 74 69 6d 69 ........?.............\_..optimi
3ed00 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 zation/linesearch/Differentiable
3ed20 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a LineSearchObjective.classPK.....
3ed40 00 00 00 00 00 b2 69 d6 3c 2b 03 22 a8 9a 12 00 00 9a 12 00 00 3e 00 00 00 00 00 00 00 00 00 00 ......i.<+.".........>..........
3ed60 00 00 00 d3 6e 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 44 ....n..optimization/linesearch/D
3ed80 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 ifferentiableLineSearchObjective
3eda0 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 8e b6 8d 81 31 03 00 00 31 03 00 .javaPK...........Y.<....1...1..
3edc0 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 c9 81 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f .2.................optimization/
3ede0 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 2e linesearch/GenericPickFirstStep.
3ee00 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b2 69 d6 3c fe fa 4c 33 6f 01 00 00 6f 01 00 classPK...........i.<..L3o...o..
3ee20 00 31 00 00 00 00 00 00 00 00 00 00 00 00 00 4a 85 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f .1.............J...optimization/
3ee40 6c 69 6e 65 73 65 61 72 63 68 2f 47 65 6e 65 72 69 63 50 69 63 6b 46 69 72 73 74 53 74 65 70 2e linesearch/GenericPickFirstStep.
3ee60 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 9a 7c e6 3c 23 c9 10 8d 3c 0b 00 00 3c 0b 00 00 javaPK...........|.<#...<...<...
3ee80 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 08 87 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c L.................optimization/l
3eea0 69 6e 65 73 65 61 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 inesearch/ArmijoLineSearchMinimi
3eec0 7a 61 74 69 6f 6e 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 2e 63 6c 61 73 73 50 4b zationAlongProjectionArc.classPK
3eee0 01 02 0a 00 0a 00 00 00 00 00 9a 7c e6 3c e8 4b 0c 33 33 10 00 00 33 10 00 00 4b 00 00 00 00 00 ...........|.<.K.33...3...K.....
3ef00 00 00 00 00 00 00 00 00 ae 92 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 ............optimization/linesea
3ef20 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e rch/ArmijoLineSearchMinimization
3ef40 41 6c 6f 6e 67 50 72 6f 6a 65 63 74 69 6f 6e 41 72 63 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 AlongProjectionArc.javaPK.......
3ef60 00 00 00 96 59 e5 3c 5c 37 c9 32 12 0a 00 00 12 0a 00 00 48 00 00 00 00 00 00 00 00 00 00 00 00 ....Y.<\7.2........H............
3ef80 00 4a a3 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 50 72 6f .J...optimization/linesearch/Pro
3efa0 6a 65 63 74 65 64 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 jectedDifferentiableLineSearchOb
3efc0 6a 65 63 74 69 76 65 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b2 69 d6 3c 0d 95 7e jective.classPK...........i.<..~
3efe0 5d e2 13 00 00 e2 13 00 00 47 00 00 00 00 00 00 00 00 00 00 00 00 00 c2 ad 01 00 6f 70 74 69 6d ]........G.................optim
3f000 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 50 72 6f 6a 65 63 74 65 64 44 69 66 66 ization/linesearch/ProjectedDiff
3f020 65 72 65 6e 74 69 61 62 6c 65 4c 69 6e 65 53 65 61 72 63 68 4f 62 6a 65 63 74 69 76 65 2e 6a 61 erentiableLineSearchObjective.ja
3f040 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 a5 7c e6 3c 44 f3 e8 af cd 04 00 00 cd 04 00 00 38 00 vaPK...........|.<D...........8.
3f060 00 00 00 00 00 00 00 00 00 00 00 00 09 c2 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e ................optimization/lin
3f080 65 73 65 61 72 63 68 2f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 esearch/InterpolationPickFirstSt
3f0a0 65 70 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 a5 7c e6 3c b6 42 25 ac 93 02 00 00 ep.classPK...........|.<.B%.....
3f0c0 93 02 00 00 37 00 00 00 00 00 00 00 00 00 00 00 00 00 2c c7 01 00 6f 70 74 69 6d 69 7a 61 74 69 ....7.............,...optimizati
3f0e0 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 on/linesearch/InterpolationPickF
3f100 69 72 73 74 53 74 65 70 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 15 5c e5 3c 64 0c be irstStep.javaPK...........\.<d..
3f120 08 f2 08 00 00 f2 08 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 14 ca 01 00 6f 70 74 69 6d .........:.................optim
3f140 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 41 72 6d 69 6a 6f 4c 69 6e 65 53 65 61 ization/linesearch/ArmijoLineSea
3f160 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 rchMinimization.classPK.........
3f180 00 15 5c e5 3c 23 d6 36 22 7f 09 00 00 7f 09 00 00 39 00 00 00 00 00 00 00 00 00 00 00 00 00 5e ..\.<#.6"........9.............^
3f1a0 d3 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 41 72 6d 69 6a ...optimization/linesearch/Armij
3f1c0 6f 4c 69 6e 65 53 65 61 72 63 68 4d 69 6e 69 6d 69 7a 61 74 69 6f 6e 2e 6a 61 76 61 50 4b 01 02 oLineSearchMinimization.javaPK..
3f1e0 0a 00 0a 00 00 00 00 00 96 59 e5 3c c0 48 89 d1 08 18 00 00 08 18 00 00 30 00 00 00 00 00 00 00 .........Y.<.H..........0.......
3f200 00 00 00 00 00 00 34 dd 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 ......4...optimization/linesearc
3f220 68 2f 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 2e 63 6c 61 73 73 50 4b 01 02 0a 00 h/WolfRuleLineSearch.classPK....
3f240 0a 00 00 00 00 00 b2 69 d6 3c 07 c5 7d 12 64 21 00 00 64 21 00 00 2f 00 00 00 00 00 00 00 00 00 .......i.<..}.d!..d!../.........
3f260 00 00 00 00 8a f5 01 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f ........optimization/linesearch/
3f280 57 6f 6c 66 52 75 6c 65 4c 69 6e 65 53 65 61 72 63 68 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 WolfRuleLineSearch.javaPK.......
3f2a0 00 00 00 96 59 e5 3c 34 3b 85 8f ad 04 00 00 ad 04 00 00 41 00 00 00 00 00 00 00 00 00 00 00 00 ....Y.<4;..........A............
3f2c0 00 3b 17 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4e 6f 6e .;...optimization/linesearch/Non
3f2e0 4e 65 77 74 6f 6e 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 NewtonInterpolationPickFirstStep
3f300 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b2 69 d6 3c b7 f1 3c 1f f0 03 00 00 f0 03 .classPK...........i.<..<.......
3f320 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 47 1c 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e ..@.............G...optimization
3f340 2f 6c 69 6e 65 73 65 61 72 63 68 2f 4e 6f 6e 4e 65 77 74 6f 6e 49 6e 74 65 72 70 6f 6c 61 74 69 /linesearch/NonNewtonInterpolati
3f360 6f 6e 50 69 63 6b 46 69 72 73 74 53 74 65 70 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 onPickFirstStep.javaPK..........
3f380 96 59 e5 3c ea 0e f2 e0 64 0a 00 00 64 0a 00 00 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 95 20 .Y.<....d...d.../...............
3f3a0 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 42 6f 75 6e 64 ..optimization/projections/Bound
3f3c0 73 50 72 6f 6a 65 63 74 69 6f 6e 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b1 69 d6 sProjection.classPK...........i.
3f3e0 3c f5 b4 ca 09 96 09 00 00 96 09 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 46 2b 02 00 6f <..........................F+..o
3f400 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 42 6f 75 6e 64 73 50 72 ptimization/projections/BoundsPr
3f420 6f 6a 65 63 74 69 6f 6e 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 2e eb ea ojection.javaPK...........Y.<...
3f440 cd 61 0c 00 00 61 0c 00 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 28 35 02 00 6f 70 74 69 6d .a...a...0.............(5..optim
3f460 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 53 69 6d 70 6c 65 78 50 72 6f 6a 65 ization/projections/SimplexProje
3f480 63 74 69 6f 6e 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b1 69 d6 3c e3 8c ca 14 0e ction.classPK...........i.<.....
3f4a0 0d 00 00 0e 0d 00 00 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 d7 41 02 00 6f 70 74 69 6d 69 7a ......./..............A..optimiz
3f4c0 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 53 69 6d 70 6c 65 78 50 72 6f 6a 65 63 74 ation/projections/SimplexProject
3f4e0 69 6f 6e 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 2f 46 90 7b ec 03 00 00 ion.javaPK...........Y.</F.{....
3f500 ec 03 00 00 29 00 00 00 00 00 00 00 00 00 00 00 00 00 32 4f 02 00 6f 70 74 69 6d 69 7a 61 74 69 ....).............2O..optimizati
3f520 6f 6e 2f 70 72 6f 6a 65 63 74 69 6f 6e 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 2e 63 6c 61 73 73 50 on/projections/Projection.classP
3f540 4b 01 02 0a 00 0a 00 00 00 00 00 b1 69 d6 3c 8c cf 4b c2 bc 08 00 00 bc 08 00 00 28 00 00 00 00 K...........i.<..K.........(....
3f560 00 00 00 00 00 00 00 00 00 65 53 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 70 72 6f 6a 65 63 .........eS..optimization/projec
3f580 74 69 6f 6e 73 2f 50 72 6f 6a 65 63 74 69 6f 6e 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 tions/Projection.javaPK.........
3f5a0 00 96 59 e5 3c 67 13 4d 92 ed 00 00 00 ed 00 00 00 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 67 ..Y.<g.M........./.............g
3f5c0 5c 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f \..optimization/stopCriteria/Sto
3f5e0 70 69 6e 67 43 72 69 74 65 72 69 61 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b2 69 pingCriteria.classPK...........i
3f600 d6 3c 23 5b 43 b7 c5 00 00 00 c5 00 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 a1 5d 02 00 .<#[C........................]..
3f620 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 53 74 6f 70 69 6e optimization/stopCriteria/Stopin
3f640 67 43 72 69 74 65 72 69 61 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c b0 84 gCriteria.javaPK...........Y.<..
3f660 da c5 c2 08 00 00 c2 08 00 00 41 00 00 00 00 00 00 00 00 00 00 00 00 00 b2 5e 02 00 6f 70 74 69 ..........A..............^..opti
3f680 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 mization/stopCriteria/Normalized
3f6a0 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 63 6c 61 73 73 50 4b 01 ProjectedGradientL2Norm.classPK.
3f6c0 02 0a 00 0a 00 00 00 00 00 b2 69 d6 3c 4f 77 8b 7f 58 07 00 00 58 07 00 00 40 00 00 00 00 00 00 ..........i.<Ow..X...X...@......
3f6e0 00 00 00 00 00 00 00 d3 67 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 ........g..optimization/stopCrit
3f700 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 eria/NormalizedProjectedGradient
3f720 4c 32 4e 6f 72 6d 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c d7 e1 96 17 44 L2Norm.javaPK...........Y.<....D
3f740 04 00 00 44 04 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 89 6f 02 00 6f 70 74 69 6d 69 7a ...D..................o..optimiz
3f760 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 ation/stopCriteria/GradientL2Nor
3f780 6d 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b2 69 d6 3c 62 84 9b 47 c9 02 00 00 c9 m.classPK...........i.<b..G.....
3f7a0 02 00 00 2d 00 00 00 00 00 00 00 00 00 00 00 00 00 19 74 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f ...-..............t..optimizatio
3f7c0 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 6a 61 n/stopCriteria/GradientL2Norm.ja
3f7e0 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 57 7d 23 2f 15 07 00 00 15 07 00 00 39 00 vaPK...........Y.<W}#/........9.
3f800 00 00 00 00 00 00 00 00 00 00 00 00 2d 77 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f ............-w..optimization/sto
3f820 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 44 69 66 66 65 72 65 pCriteria/NormalizedValueDiffere
3f840 6e 63 65 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b2 69 d6 3c d3 d5 2c 16 09 06 00 nce.classPK...........i.<..,....
3f860 00 09 06 00 00 38 00 00 00 00 00 00 00 00 00 00 00 00 00 99 7e 02 00 6f 70 74 69 6d 69 7a 61 74 .....8..............~..optimizat
3f880 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 ion/stopCriteria/NormalizedValue
3f8a0 44 69 66 66 65 72 65 6e 63 65 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c e4 Difference.javaPK...........Y.<.
3f8c0 bd f6 16 3c 06 00 00 3c 06 00 00 38 00 00 00 00 00 00 00 00 00 00 00 00 00 f8 84 02 00 6f 70 74 ...<...<...8.................opt
3f8e0 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 6d 61 6c 69 7a 65 imization/stopCriteria/Normalize
3f900 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 dGradientL2Norm.classPK.........
3f920 00 b2 69 d6 3c 98 1f 92 c7 42 05 00 00 42 05 00 00 37 00 00 00 00 00 00 00 00 00 00 00 00 00 8a ..i.<....B...B...7..............
3f940 8b 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 4e 6f 72 ...optimization/stopCriteria/Nor
3f960 6d 61 6c 69 7a 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 6a 61 76 61 50 4b 01 02 0a 00 malizedGradientL2Norm.javaPK....
3f980 0a 00 00 00 00 00 cc 7c e6 3c 68 2b 76 59 4f 04 00 00 4f 04 00 00 2f 00 00 00 00 00 00 00 00 00 .......|.<h+vYO...O.../.........
3f9a0 00 00 00 00 21 91 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 ....!...optimization/stopCriteri
3f9c0 61 2f 56 61 6c 75 65 44 69 66 66 65 72 65 6e 63 65 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 a/ValueDifference.classPK.......
3f9e0 00 00 00 cc 7c e6 3c ba b3 9f ec 54 04 00 00 54 04 00 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 ....|.<....T...T................
3fa00 00 bd 95 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 56 .....optimization/stopCriteria/V
3fa20 61 6c 75 65 44 69 66 66 65 72 65 6e 63 65 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 alueDifference.javaPK...........
3fa40 59 e5 3c fa 9e 90 50 bd 05 00 00 bd 05 00 00 38 00 00 00 00 00 00 00 00 00 00 00 00 00 5d 9a 02 Y.<...P........8.............]..
3fa60 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 2f 43 6f 6d 70 6f .optimization/stopCriteria/Compo
3fa80 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a siteStopingCriteria.classPK.....
3faa0 00 00 00 00 00 b2 69 d6 3c 37 29 fc d3 9d 02 00 00 9d 02 00 00 37 00 00 00 00 00 00 00 00 00 00 ......i.<7)..........7..........
3fac0 00 00 00 70 a0 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 74 65 72 69 61 ...p...optimization/stopCriteria
3fae0 2f 43 6f 6d 70 6f 73 69 74 65 53 74 6f 70 69 6e 67 43 72 69 74 65 72 69 61 2e 6a 61 76 61 50 4b /CompositeStopingCriteria.javaPK
3fb00 01 02 0a 00 0a 00 00 00 00 00 c6 7c e6 3c 86 2e 32 7a e5 06 00 00 e5 06 00 00 37 00 00 00 00 00 ...........|.<..2z........7.....
3fb20 00 00 00 00 00 00 00 00 62 a3 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 6f 70 43 72 69 ........b...optimization/stopCri
3fb40 74 65 72 69 61 2f 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f 72 6d 2e 63 6c teria/ProjectedGradientL2Norm.cl
3fb60 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 c6 7c e6 3c 41 19 fe d3 fb 05 00 00 fb 05 00 00 36 assPK...........|.<A...........6
3fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 9c aa 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 73 74 .................optimization/st
3fba0 6f 70 43 72 69 74 65 72 69 61 2f 50 72 6f 6a 65 63 74 65 64 47 72 61 64 69 65 6e 74 4c 32 4e 6f opCriteria/ProjectedGradientL2No
3fbc0 72 6d 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c c3 77 29 81 46 05 00 00 46 rm.javaPK...........Y.<.w).F...F
3fbe0 05 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 eb b0 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f ...$.................optimizatio
3fc00 6e 2f 75 74 69 6c 2f 4d 61 74 72 69 78 4f 75 74 70 75 74 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a n/util/MatrixOutput.classPK.....
3fc20 00 00 00 00 00 b2 69 d6 3c af f1 5a b8 d6 02 00 00 d6 02 00 00 23 00 00 00 00 00 00 00 00 00 00 ......i.<..Z.........#..........
3fc40 00 00 00 73 b6 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 72 69 78 4f ...s...optimization/util/MatrixO
3fc60 75 74 70 75 74 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 43 02 3b 2e 7e 18 utput.javaPK...........Y.<C.;.~.
3fc80 00 00 7e 18 00 00 21 00 00 00 00 00 00 00 00 00 00 00 00 00 8a b9 02 00 6f 70 74 69 6d 69 7a 61 ..~...!.................optimiza
3fca0 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c 73 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a tion/util/MathUtils.classPK.....
3fcc0 00 00 00 00 00 b2 69 d6 3c 0c 1c 5a af 09 1a 00 00 09 1a 00 00 20 00 00 00 00 00 00 00 00 00 00 ......i.<..Z....................
3fce0 00 00 00 47 d2 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4d 61 74 68 55 74 69 ...G...optimization/util/MathUti
3fd00 6c 73 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c da 7e 6a ca a1 15 00 00 a1 ls.javaPK...........Y.<.~j......
3fd20 15 00 00 23 00 00 00 00 00 00 00 00 00 00 00 00 00 8e ec 02 00 6f 70 74 69 6d 69 7a 61 74 69 6f ...#.................optimizatio
3fd40 6e 2f 75 74 69 6c 2f 53 74 61 74 69 63 54 6f 6f 6c 73 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 n/util/StaticTools.classPK......
3fd60 00 00 00 00 b2 69 d6 3c 24 95 a5 72 bd 12 00 00 bd 12 00 00 22 00 00 00 00 00 00 00 00 00 00 00 .....i.<$..r........"...........
3fd80 00 00 70 02 03 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 53 74 61 74 69 63 54 6f ..p...optimization/util/StaticTo
3fda0 6f 6c 73 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 19 69 72 09 d9 04 00 00 ols.javaPK...........Y.<.ir.....
3fdc0 d9 04 00 00 25 00 00 00 00 00 00 00 00 00 00 00 00 00 6d 15 03 00 6f 70 74 69 6d 69 7a 61 74 69 ....%.............m...optimizati
3fde0 6f 6e 2f 75 74 69 6c 2f 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 2e 63 6c 61 73 73 50 4b 01 02 0a on/util/Interpolation.classPK...
3fe00 00 0a 00 00 00 00 00 b2 69 d6 3c 7a c5 f7 1e e1 03 00 00 e1 03 00 00 24 00 00 00 00 00 00 00 00 ........i.<z...........$........
3fe20 00 00 00 00 00 89 1a 03 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 49 6e 74 65 72 .........optimization/util/Inter
3fe40 70 6f 6c 61 74 69 6f 6e 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c cd 10 0a polation.javaPK...........Y.<...
3fe60 71 17 01 00 00 17 01 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 ac 1e 03 00 6f 70 74 69 6d q..........................optim
3fe80 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4c 6f 67 67 65 72 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a ization/util/Logger.classPK.....
3fea0 00 00 00 00 00 b2 69 d6 3c 6e 13 e4 11 3a 00 00 00 3a 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 ......i.<n...:...:..............
3fec0 00 00 00 ff 1f 03 00 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2f 75 74 69 6c 2f 4c 6f 67 67 65 72 2e .......optimization/util/Logger.
3fee0 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 5c be f2 90 c4 05 00 00 c4 05 00 00 javaPK...........Y.<\...........
3ff00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 74 20 03 00 75 74 69 6c 2f 50 61 69 72 2e 63 6c 61 73 ..............t...util/Pair.clas
3ff20 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c 9d 44 7e de c3 01 00 00 c3 01 00 00 0e 00 00 sPK...........i.<.D~............
3ff40 00 00 00 00 00 00 00 00 00 00 00 65 26 03 00 75 74 69 6c 2f 50 61 69 72 2e 6a 61 76 61 50 4b 01 ...........e&..util/Pair.javaPK.
3ff60 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 91 36 88 8c 0c 01 00 00 0c 01 00 00 22 00 00 00 00 00 00 ..........Y.<.6.........."......
3ff80 00 00 00 00 00 00 00 54 28 03 00 75 74 69 6c 2f 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4f 62 .......T(..util/DifferentiableOb
3ffa0 6a 65 63 74 69 76 65 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c 60 34 00 jective.classPK...........i.<`4.
3ffc0 71 0a 01 00 00 0a 01 00 00 21 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 29 03 00 75 74 69 6c 2f q........!..............)..util/
3ffe0 44 69 66 66 65 72 65 6e 74 69 61 62 6c 65 4f 62 6a 65 63 74 69 76 65 2e 6a 61 76 61 50 4b 01 02 DifferentiableObjective.javaPK..
40000 0a 00 0a 00 00 00 00 00 96 59 e5 3c 9f 4a ed 7d ac 05 00 00 ac 05 00 00 14 00 00 00 00 00 00 00 .........Y.<.J.}................
40020 00 00 00 00 00 00 e9 2a 03 00 75 74 69 6c 2f 4c 6f 67 53 75 6d 6d 65 72 2e 63 6c 61 73 73 50 4b .......*..util/LogSummer.classPK
40040 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c 7d 23 db 0f 57 09 00 00 57 09 00 00 13 00 00 00 00 00 ...........i.<}#..W...W.........
40060 00 00 00 00 00 00 00 00 c7 30 03 00 75 74 69 6c 2f 4c 6f 67 53 75 6d 6d 65 72 2e 6a 61 76 61 50 .........0..util/LogSummer.javaP
40080 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 3f 0b 61 70 7c 03 00 00 7c 03 00 00 22 00 00 00 00 K...........Y.<?.ap|...|..."....
400a0 00 00 00 00 00 00 00 00 00 4f 3a 03 00 75 74 69 6c 2f 53 6f 72 74 65 72 73 24 73 6f 72 74 57 6f .........O:..util/Sorters$sortWo
400c0 72 64 73 43 6f 75 6e 74 73 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c fc rdsCounts.classPK...........Y.<.
400e0 0f c2 12 7e 03 00 00 7e 03 00 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 3e 03 00 75 74 69 ...~...~..."..............>..uti
40100 6c 2f 53 6f 72 74 65 72 73 24 73 6f 72 74 57 6f 72 64 73 44 6f 75 62 6c 65 2e 63 6c 61 73 73 50 l/Sorters$sortWordsDouble.classP
40120 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 02 c9 f1 93 8f 01 00 00 8f 01 00 00 12 00 00 00 00 K...........Y.<.................
40140 00 00 00 00 00 00 00 00 00 c9 41 03 00 75 74 69 6c 2f 53 6f 72 74 65 72 73 2e 63 6c 61 73 73 50 ..........A..util/Sorters.classP
40160 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c d0 92 ee fb 55 03 00 00 55 03 00 00 11 00 00 00 00 K...........i.<....U...U........
40180 00 00 00 00 00 00 00 00 00 88 43 03 00 75 74 69 6c 2f 53 6f 72 74 65 72 73 2e 6a 61 76 61 50 4b ..........C..util/Sorters.javaPK
401a0 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c 3a a8 6a 58 5b 03 00 00 5b 03 00 00 1a 00 00 00 00 00 ...........Y.<:.jX[...[.........
401c0 00 00 00 00 00 00 00 00 0c 47 03 00 75 74 69 6c 2f 44 69 67 61 6d 6d 61 46 75 6e 63 74 69 6f 6e .........G..util/DigammaFunction
401e0 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c d8 b5 0d 3d 14 02 00 00 14 02 .classPK...........i.<...=......
40200 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 9f 4a 03 00 75 74 69 6c 2f 44 69 67 61 6d 6d 61 .................J..util/Digamma
40220 46 75 6e 63 74 69 6f 6e 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c f6 30 95 Function.javaPK...........Y.<.0.
40240 7a 91 01 00 00 91 01 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 ea 4c 03 00 75 74 69 6c 2f z.......................L..util/
40260 4d 61 74 72 69 78 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c 78 ae df a5 Matrix.classPK...........i.<x...
40280 ab 00 00 00 ab 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 aa 4e 03 00 75 74 69 6c 2f 4d .......................N..util/M
402a0 61 74 72 69 78 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c eb 0c a8 01 d2 04 atrix.javaPK...........Y.<......
402c0 00 00 d2 04 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 83 4f 03 00 75 74 69 6c 2f 41 72 72 .....................O..util/Arr
402e0 61 79 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c 38 03 60 81 94 03 00 00 ay.classPK...........i.<8.`.....
40300 94 03 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 83 54 03 00 75 74 69 6c 2f 41 72 72 61 79 ...................T..util/Array
40320 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c a8 6a 5a 34 4e 0e 00 00 4e 0e 00 .javaPK...........Y.<.jZ4N...N..
40340 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 44 58 03 00 75 74 69 6c 2f 4d 61 74 68 55 74 69 6c ...............DX..util/MathUtil
40360 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c 83 a6 4b f7 b7 0c 00 00 b7 0c .classPK...........i.<..K.......
40380 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 c3 66 03 00 75 74 69 6c 2f 4d 61 74 68 55 74 69 .................f..util/MathUti
403a0 6c 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c e8 f3 b9 52 16 04 00 00 16 04 l.javaPK...........Y.<...R......
403c0 00 00 15 00 00 00 00 00 00 00 00 00 00 00 00 00 aa 73 03 00 75 74 69 6c 2f 46 69 6c 65 53 79 73 .................s..util/FileSys
403e0 74 65 6d 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c fa 65 e4 32 d8 01 00 tem.classPK...........i.<.e.2...
40400 00 d8 01 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 f3 77 03 00 75 74 69 6c 2f 46 69 6c 65 ....................w..util/File
40420 53 79 73 74 65 6d 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c a3 62 f2 00 89 System.javaPK...........Y.<.b...
40440 05 00 00 89 05 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 fd 79 03 00 75 74 69 6c 2f 4d 65 ......................y..util/Me
40460 6d 6f 72 79 54 72 61 63 6b 65 72 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 moryTracker.classPK...........i.
40480 3c 92 43 73 12 65 03 00 00 65 03 00 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 bc 7f 03 00 75 <.Cs.e...e.....................u
404a0 74 69 6c 2f 4d 65 6d 6f 72 79 54 72 61 63 6b 65 72 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 00 til/MemoryTracker.javaPK........
404c0 00 00 96 59 e5 3c 10 7c 3c 0c 81 13 00 00 81 13 00 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00 ...Y.<.|<.......................
404e0 56 83 03 00 75 74 69 6c 2f 50 72 69 6e 74 69 6e 67 2e 63 6c 61 73 73 50 4b 01 02 0a 00 0a 00 00 V...util/Printing.classPK.......
40500 00 00 00 b3 69 d6 3c bd 07 92 fe 7c 10 00 00 7c 10 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 ....i.<....|...|................
40520 00 08 97 03 00 75 74 69 6c 2f 50 72 69 6e 74 69 6e 67 2e 6a 61 76 61 50 4b 01 02 0a 00 0a 00 00 .....util/Printing.javaPK.......
40540 00 00 00 96 59 e5 3c 26 9b 96 be 71 09 00 00 71 09 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 ....Y.<&...q...q................
40560 00 b4 a7 03 00 75 74 69 6c 2f 49 6e 70 75 74 4f 75 74 70 75 74 2e 63 6c 61 73 73 50 4b 01 02 0a .....util/InputOutput.classPK...
40580 00 0a 00 00 00 00 00 b3 69 d6 3c de b9 76 42 6c 07 00 00 6c 07 00 00 15 00 00 00 00 00 00 00 00 ........i.<..vBl...l............
405a0 00 00 00 00 00 59 b1 03 00 75 74 69 6c 2f 49 6e 70 75 74 4f 75 74 70 75 74 2e 6a 61 76 61 50 4b .....Y...util/InputOutput.javaPK
405c0 01 02 0a 00 0a 00 00 00 00 00 96 59 e5 3c e9 93 ee 93 17 13 00 00 17 13 00 00 14 00 00 00 00 00 ...........Y.<..................
405e0 00 00 00 00 00 00 00 00 f8 b8 03 00 75 74 69 6c 2f 41 72 72 61 79 4d 61 74 68 2e 63 6c 61 73 73 ............util/ArrayMath.class
40600 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c 8e 53 a1 38 5c 10 00 00 5c 10 00 00 13 00 00 00 PK...........i.<.S.8\...\.......
40620 00 00 00 00 00 00 00 00 00 00 41 cc 03 00 75 74 69 6c 2f 41 72 72 61 79 4d 61 74 68 2e 6a 61 76 ..........A...util/ArrayMath.jav
40640 61 50 4b 01 02 0a 00 0a 00 00 00 00 00 b3 69 d6 3c ad 39 24 93 1d 01 00 00 1d 01 00 00 0a 00 00 aPK...........i.<.9$............
40660 00 00 00 00 00 00 00 00 00 00 00 ce dc 03 00 2e 63 6c 61 73 73 70 61 74 68 50 4b 05 06 00 00 00 ................classpathPK.....
40680 00 74 00 74 00 66 28 00 00 13 de 03 00 00 00 .t.t.f(........