http://git-wip-us.apache.org/repos/asf/commons-complex/blob/b3576eeb/site-content/.svn/pristine/00/00eb30976fade92e55064ed2eb1635ef4d92a57c.svn-base ---------------------------------------------------------------------- diff --git a/site-content/.svn/pristine/00/00eb30976fade92e55064ed2eb1635ef4d92a57c.svn-base b/site-content/.svn/pristine/00/00eb30976fade92e55064ed2eb1635ef4d92a57c.svn-base deleted file mode 100644 index f5ccd06..0000000 --- a/site-content/.svn/pristine/00/00eb30976fade92e55064ed2eb1635ef4d92a57c.svn-base +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>org.apache.commons.math3.analysis.function</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <span class="el_package">org.apache.commons.math3.analysis.function</span></div><h1>org.apache.commons.math3.analysis.function </h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(th is)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">257 of 2,128</td><td class="ctr2">88%</td><td class="bar">2 of 108</td><td class="ctr2">98%</td><td class="ctr1">58</td><td class="ctr2">234</td><td class="ctr1">61</td><td class="ctr2">415</td><td class="ctr1">56</td><td class="ctr2">180</td><td class="ctr1">5</td><td class="ctr2">50</td></tr></tfoot><tbody><tr><td id="a30"><a href="Logit$Parametric.html" class="el_class">Logit.Parametric</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="10" height="10" title="30" alt="30"/><img src="../.resources/greenbar.gif" width="11" height="10" title="33" alt="33"/></td><td class="ctr2" id="c33">52%</td><td class="bar" id="d7"><img src="../.resources/greenbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f18">1</td><td class="ctr2" id="g8">6</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i10">12</td><td class="ctr1" id="j17">1</t d><td class="ctr2" id="k6">4</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a28"><a href="Logistic$Parametric.html" class="el_class">Logistic.Parametric</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="9" height="10" title="27" alt="27"/><img src="../.resources/greenbar.gif" width="52" height="10" title="156" alt="156"/></td><td class="ctr2" id="c23">85%</td><td class="bar" id="d5"><img src="../.resources/greenbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f19">1</td><td class="ctr2" id="g5">7</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i4">27</td><td class="ctr1" id="j18">1</td><td class="ctr2" id="k7">4</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="Acosh.html" class="el_class">Acosh</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="4" height="10" title="13" alt="13"/></td ><td class="ctr2" id="c45">0%</td><td class="bar" id="d12"/><td class="ctr2" >id="e12">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" >id="g12">4</td><td class="ctr1" id="h1">4</td><td class="ctr2" >id="i14">4</td><td class="ctr1" id="j0">4</td><td class="ctr2" >id="k8">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" >id="m2">1</td></tr><tr><td id="a8"><a href="Atanh.html" >class="el_class">Atanh</a></td><td class="bar" id="b3"><img >src="../.resources/redbar.gif" width="4" height="10" title="13" >alt="13"/></td><td class="ctr2" id="c46">0%</td><td class="bar" id="d13"/><td >class="ctr2" id="e13">n/a</td><td class="ctr1" id="f1">4</td><td class="ctr2" >id="g13">4</td><td class="ctr1" id="h2">4</td><td class="ctr2" >id="i15">4</td><td class="ctr1" id="j1">4</td><td class="ctr2" >id="k9">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" >id="m3">1</td></tr><tr><td id="a5"><a href="Asinh.html" >class="el_class">Asinh</a></td><td class="bar" id="b4"><img >src="../.resources/redbar.g if" width="4" height="10" title="13" alt="13"/></td><td class="ctr2" id="c47">0%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g14">4</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i16">4</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k10">4</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a29"><a href="Logit.html" class="el_class">Logit</a></td><td class="bar" id="b5"><img src="../.resources/redbar.gif" width="3" height="10" title="9" alt="9"/><img src="../.resources/greenbar.gif" width="56" height="10" title="168" alt="168"/></td><td class="ctr2" id="c22">95%</td><td class="bar" id="d1"><img src="../.resources/greenbar.gif" width="73" height="10" title="16" alt="16"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g1">14</td><td class="ctr1" id="h4">3</td><td class="ctr2" id="i2">30</td><td class="ctr1" id="j3">2</td>< td class="ctr2" id="k1">6</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a6"><a href="Atan.html" class="el_class">Atan</a></td><td class="bar" id="b6"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c34">46%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f5">2</td><td class="ctr2" id="g15">4</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i17">4</td><td class="ctr1" id="j4">2</td><td class="ctr2" id="k11">4</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a16"><a href="Expm1.html" class="el_class">Expm1</a></td><td class="bar" id="b7"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c35">46%</td><td class=" bar" id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g16">4</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i18">4</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k12">4</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a9"><a href="Cbrt.html" class="el_class">Cbrt</a></td><td class="bar" id="b8"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c36">46%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f7">2</td><td class="ctr2" id="g17">4</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i19">4</td><td class="ctr1" id="j6">2</td><td class="ctr2" id="k13">4</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a25"><a href="Log10.html" class="el_class">Log10</a></td><td class="bar" id="b 9"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c37">46%</td><td class="bar" id="d18"/><td class="ctr2" id="e18">n/a</td><td class="ctr1" id="f8">2</td><td class="ctr2" id="g18">4</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i20">4</td><td class="ctr1" id="j7">2</td><td class="ctr2" id="k14">4</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a48"><a href="Tanh.html" class="el_class">Tanh</a></td><td class="bar" id="b10"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c38">46%</td><td class="bar" id="d19"/><td class="ctr2" id="e19">n/a</td><td class="ctr1" id="f9">2</td><td class="ctr2" id="g19">4</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i21">4</td><td clas s="ctr1" id="j8">2</td><td class="ctr2" id="k15">4</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a26"><a href="Log1p.html" class="el_class">Log1p</a></td><td class="bar" id="b11"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c39">46%</td><td class="bar" id="d20"/><td class="ctr2" id="e20">n/a</td><td class="ctr1" id="f10">2</td><td class="ctr2" id="g20">4</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i22">4</td><td class="ctr1" id="j9">2</td><td class="ctr2" id="k16">4</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a43"><a href="Sinh.html" class="el_class">Sinh</a></td><td class="bar" id="b12"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class=" ctr2" id="c40">46%</td><td class="bar" id="d21"/><td class="ctr2" id="e21">n/a</td><td class="ctr1" id="f11">2</td><td class="ctr2" id="g21">4</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i23">4</td><td class="ctr1" id="j10">2</td><td class="ctr2" id="k17">4</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a4"><a href="Asin.html" class="el_class">Asin</a></td><td class="bar" id="b13"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c41">46%</td><td class="bar" id="d22"/><td class="ctr2" id="e22">n/a</td><td class="ctr1" id="f12">2</td><td class="ctr2" id="g22">4</td><td class="ctr1" id="h13">2</td><td class="ctr2" id="i24">4</td><td class="ctr1" id="j11">2</td><td class="ctr2" id="k18">4</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a15"><a href="Exp.html" class="el_ class">Exp</a></td><td class="bar" id="b14"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c42">46%</td><td class="bar" id="d23"/><td class="ctr2" id="e23">n/a</td><td class="ctr1" id="f13">2</td><td class="ctr2" id="g23">4</td><td class="ctr1" id="h14">2</td><td class="ctr2" id="i25">4</td><td class="ctr1" id="j12">2</td><td class="ctr2" id="k19">4</td><td class="ctr1" id="l16">0</td><td class="ctr2" id="m14">1</td></tr><tr><td id="a1"><a href="Acos.html" class="el_class">Acos</a></td><td class="bar" id="b15"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c43">46%</td><td class="bar" id="d24"/><td class="ctr2" id="e24">n/a</td><td class="ctr1" id="f14">2</td><td class="ctr2" id="g24">4</td><td class="ctr1" id="h15">2 </td><td class="ctr2" id="i26">4</td><td class="ctr1" id="j13">2</td><td class="ctr2" id="k20">4</td><td class="ctr1" id="l17">0</td><td class="ctr2" id="m15">1</td></tr><tr><td id="a47"><a href="Tan.html" class="el_class">Tan</a></td><td class="bar" id="b16"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c44">46%</td><td class="bar" id="d25"/><td class="ctr2" id="e25">n/a</td><td class="ctr1" id="f15">2</td><td class="ctr2" id="g25">4</td><td class="ctr1" id="h16">2</td><td class="ctr2" id="i27">4</td><td class="ctr1" id="j14">2</td><td class="ctr2" id="k21">4</td><td class="ctr1" id="l18">0</td><td class="ctr2" id="m16">1</td></tr><tr><td id="a46"><a href="Subtract.html" class="el_class">Subtract</a></td><td class="bar" id="b17"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c48">0%</td><td cl ass="bar" id="d26"/><td class="ctr2" id="e26">n/a</td><td class="ctr1" id="f16">2</td><td class="ctr2" id="g36">2</td><td class="ctr1" id="h17">2</td><td class="ctr2" id="i36">2</td><td class="ctr1" id="j15">2</td><td class="ctr2" id="k35">2</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m17">1</td></tr><tr><td id="a7"><a href="Atan2.html" class="el_class">Atan2</a></td><td class="bar" id="b18"><img src="../.resources/redbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c49">0%</td><td class="bar" id="d27"/><td class="ctr2" id="e27">n/a</td><td class="ctr1" id="f17">2</td><td class="ctr2" id="g37">2</td><td class="ctr1" id="h18">2</td><td class="ctr2" id="i37">2</td><td class="ctr1" id="j16">2</td><td class="ctr2" id="k36">2</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m18">1</td></tr><tr><td id="a42"><a href="Sinc.html" class="el_class">Sinc</a></td><td class="bar" id="b19"><img src="../.resources/redbar.gif" width="2" height="10" title ="6" alt="6"/><img src="../.resources/greenbar.gif" width="117" height="10" title="353" alt="353"/></td><td class="ctr2" id="c17">98%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="9" height="10" title="2" alt="2"/><img src="../.resources/greenbar.gif" width="110" height="10" title="24" alt="24"/></td><td class="ctr2" id="e11">92%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g0">18</td><td class="ctr1" id="h19">1</td><td class="ctr2" id="i0">51</td><td class="ctr1" id="j19">1</td><td class="ctr2" id="k3">5</td><td class="ctr1" id="l19">0</td><td class="ctr2" id="m19">1</td></tr><tr><td id="a11"><a href="Constant.html" class="el_class">Constant</a></td><td class="bar" id="b20"><img src="../.resources/redbar.gif" width="1" height="10" title="5" alt="5"/><img src="../.resources/greenbar.gif" width="6" height="10" title="19" alt="19"/></td><td class="ctr2" id="c25">79%</td><td class="bar" id="d28"/><td class="ctr2" id="e28">n/a</td><td class="ctr1" id= "f20">1</td><td class="ctr2" id="g26">4</td><td class="ctr1" id="h20">1</td><td class="ctr2" id="i12">6</td><td class="ctr1" id="j20">1</td><td class="ctr2" id="k22">4</td><td class="ctr1" id="l20">0</td><td class="ctr2" id="m20">1</td></tr><tr><td id="a33"><a href="Minus.html" class="el_class">Minus</a></td><td class="bar" id="b21"><img src="../.resources/redbar.gif" width="1" height="10" title="5" alt="5"/><img src="../.resources/greenbar.gif" width="3" height="10" title="9" alt="9"/></td><td class="ctr2" id="c31">64%</td><td class="bar" id="d29"/><td class="ctr2" id="e29">n/a</td><td class="ctr1" id="f21">1</td><td class="ctr2" id="g27">4</td><td class="ctr1" id="h21">1</td><td class="ctr2" id="i28">4</td><td class="ctr1" id="j21">1</td><td class="ctr2" id="k23">4</td><td class="ctr1" id="l21">0</td><td class="ctr2" id="m21">1</td></tr><tr><td id="a22"><a href="Identity.html" class="el_class">Identity</a></td><td class="bar" id="b22"><img src="../.resources/redbar.gif" width="1" height="10" title="5" alt="5"/><img src="../.resources/greenbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c32">58%</td><td class="bar" id="d30"/><td class="ctr2" id="e30">n/a</td><td class="ctr1" id="f22">1</td><td class="ctr2" id="g28">4</td><td class="ctr1" id="h22">1</td><td class="ctr2" id="i29">4</td><td class="ctr1" id="j22">1</td><td class="ctr2" id="k24">4</td><td class="ctr1" id="l22">0</td><td class="ctr2" id="m22">1</td></tr><tr><td id="a18"><a href="Gaussian.html" class="el_class">Gaussian</a></td><td class="bar" id="b23"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="69" height="10" title="207" alt="207"/></td><td class="ctr2" id="c18">98%</td><td class="bar" id="d2"><img src="../.resources/greenbar.gif" width="64" height="10" title="14" alt="14"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f23">1</td><td class="ctr2" id="g2">14</td><td class="ctr1" i d="h23">1</td><td class="ctr2" id="i1">38</td><td class="ctr1" id="j23">1</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l23">0</td><td class="ctr2" id="m23">1</td></tr><tr><td id="a38"><a href="Sigmoid.html" class="el_class">Sigmoid</a></td><td class="bar" id="b24"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="53" height="10" title="161" alt="161"/></td><td class="ctr2" id="c19">98%</td><td class="bar" id="d4"><img src="../.resources/greenbar.gif" width="36" height="10" title="8" alt="8"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f24">1</td><td class="ctr2" id="g3">10</td><td class="ctr1" id="h24">1</td><td class="ctr2" id="i3">29</td><td class="ctr1" id="j24">1</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l24">0</td><td class="ctr2" id="m24">1</td></tr><tr><td id="a20"><a href="HarmonicOscillator.html" class="el_class">HarmonicOscillator</a></td><td class="bar" id="b25 "><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="32" height="10" title="98" alt="98"/></td><td class="ctr2" id="c20">96%</td><td class="bar" id="d8"><img src="../.resources/greenbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f25">1</td><td class="ctr2" id="g6">7</td><td class="ctr1" id="h25">1</td><td class="ctr2" id="i7">18</td><td class="ctr1" id="j25">1</td><td class="ctr2" id="k4">5</td><td class="ctr1" id="l25">0</td><td class="ctr2" id="m25">1</td></tr><tr><td id="a27"><a href="Logistic.html" class="el_class">Logistic</a></td><td class="bar" id="b26"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="31" height="10" title="94" alt="94"/></td><td class="ctr2" id="c21">96%</td><td class="bar" id="d11"><img src="../.resources/greenbar.gif" width="9" height="10" title="2" al t="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f26">1</td><td class="ctr2" id="g9">6</td><td class="ctr1" id="h26">1</td><td class="ctr2" id="i9">14</td><td class="ctr1" id="j26">1</td><td class="ctr2" id="k5">5</td><td class="ctr1" id="l26">0</td><td class="ctr2" id="m26">1</td></tr><tr><td id="a36"><a href="Power.html" class="el_class">Power</a></td><td class="bar" id="b27"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="5" height="10" title="16" alt="16"/></td><td class="ctr2" id="c24">80%</td><td class="bar" id="d31"/><td class="ctr2" id="e31">n/a</td><td class="ctr1" id="f27">1</td><td class="ctr2" id="g29">4</td><td class="ctr1" id="h27">1</td><td class="ctr2" id="i13">6</td><td class="ctr1" id="j27">1</td><td class="ctr2" id="k25">4</td><td class="ctr1" id="l27">0</td><td class="ctr2" id="m27">1</td></tr><tr><td id="a23"><a href="Inverse.html" class="el_class">Inverse</a></td><td cla ss="bar" id="b28"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="3" height="10" title="10" alt="10"/></td><td class="ctr2" id="c26">71%</td><td class="bar" id="d32"/><td class="ctr2" id="e32">n/a</td><td class="ctr1" id="f28">1</td><td class="ctr2" id="g30">4</td><td class="ctr1" id="h28">1</td><td class="ctr2" id="i30">4</td><td class="ctr1" id="j28">1</td><td class="ctr2" id="k26">4</td><td class="ctr1" id="l28">0</td><td class="ctr2" id="m28">1</td></tr><tr><td id="a44"><a href="Sqrt.html" class="el_class">Sqrt</a></td><td class="bar" id="b29"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="3" height="10" title="9" alt="9"/></td><td class="ctr2" id="c27">69%</td><td class="bar" id="d33"/><td class="ctr2" id="e33">n/a</td><td class="ctr1" id="f29">1</td><td class="ctr2" id="g31">4</td><td class="ctr1" id="h29">1</td><td class="ctr2" i d="i31">4</td><td class="ctr1" id="j29">1</td><td class="ctr2" id="k27">4</td><td class="ctr1" id="l29">0</td><td class="ctr2" id="m29">1</td></tr><tr><td id="a12"><a href="Cos.html" class="el_class">Cos</a></td><td class="bar" id="b30"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="3" height="10" title="9" alt="9"/></td><td class="ctr2" id="c28">69%</td><td class="bar" id="d34"/><td class="ctr2" id="e34">n/a</td><td class="ctr1" id="f30">1</td><td class="ctr2" id="g32">4</td><td class="ctr1" id="h30">1</td><td class="ctr2" id="i32">4</td><td class="ctr1" id="j30">1</td><td class="ctr2" id="k28">4</td><td class="ctr1" id="l30">0</td><td class="ctr2" id="m30">1</td></tr><tr><td id="a13"><a href="Cosh.html" class="el_class">Cosh</a></td><td class="bar" id="b31"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="3" height="10" title="9" alt=" 9"/></td><td class="ctr2" id="c29">69%</td><td class="bar" id="d35"/><td class="ctr2" id="e35">n/a</td><td class="ctr1" id="f31">1</td><td class="ctr2" id="g33">4</td><td class="ctr1" id="h31">1</td><td class="ctr2" id="i33">4</td><td class="ctr1" id="j31">1</td><td class="ctr2" id="k29">4</td><td class="ctr1" id="l31">0</td><td class="ctr2" id="m31">1</td></tr><tr><td id="a24"><a href="Log.html" class="el_class">Log</a></td><td class="bar" id="b32"><img src="../.resources/redbar.gif" width="1" height="10" title="4" alt="4"/><img src="../.resources/greenbar.gif" width="3" height="10" title="9" alt="9"/></td><td class="ctr2" id="c30">69%</td><td class="bar" id="d36"/><td class="ctr2" id="e36">n/a</td><td class="ctr1" id="f32">1</td><td class="ctr2" id="g34">4</td><td class="ctr1" id="h32">1</td><td class="ctr2" id="i34">4</td><td class="ctr1" id="j32">1</td><td class="ctr2" id="k30">4</td><td class="ctr1" id="l32">0</td><td class="ctr2" id="m32">1</td></tr><tr><td id="a19"><a href="G aussian$Parametric.html" class="el_class">Gaussian.Parametric</a></td><td class="bar" id="b33"><img src="../.resources/greenbar.gif" width="41" height="10" title="124" alt="124"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d6"><img src="../.resources/greenbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="e7">100%</td><td class="ctr1" id="f33">0</td><td class="ctr2" id="g7">7</td><td class="ctr1" id="h33">0</td><td class="ctr2" id="i5">21</td><td class="ctr1" id="j33">0</td><td class="ctr2" id="k31">4</td><td class="ctr1" id="l33">0</td><td class="ctr2" id="m33">1</td></tr><tr><td id="a21"><a href="HarmonicOscillator$Parametric.html" class="el_class">HarmonicOscillator.Parametric</a></td><td class="bar" id="b34"><img src="../.resources/greenbar.gif" width="29" height="10" title="88" alt="88"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d9"><img src="../.resources/greenbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">100%</td><td class="ctr1" id="f34">0</td><td class="ctr2" id="g10">6</td><td class="ctr1" id="h34">0</td><td class="ctr2" id="i8">17</td><td class="ctr1" id="j34">0</td><td class="ctr2" id="k32">4</td><td class="ctr1" id="l34">0</td><td class="ctr2" id="m34">1</td></tr><tr><td id="a45"><a href="StepFunction.html" class="el_class">StepFunction</a></td><td class="bar" id="b35"><img src="../.resources/greenbar.gif" width="26" height="10" title="78" alt="78"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"><img src="../.resources/greenbar.gif" width="64" height="10" title="14" alt="14"/></td><td class="ctr2" id="e9">100%</td><td class="ctr1" id="f35">0</td><td class="ctr2" id="g4">9</td><td class="ctr1" id="h35">0</td><td class="ctr2" id="i6">19</td><td class="ctr1" id="j35">0</td><td class="ctr2" id="k37">2</td><td class="ctr1" id="l35">0</td><td class="ctr2" id="m35">1</td></tr><tr><td id="a39"><a href="Sigmoid$Parametric.html" class="el_class">Sigm oid.Parametric</a></td><td class="bar" id="b36"><img src="../.resources/greenbar.gif" width="19" height="10" title="57" alt="57"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d10"><img src="../.resources/greenbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="e10">100%</td><td class="ctr1" id="f36">0</td><td class="ctr2" id="g11">6</td><td class="ctr1" id="h36">0</td><td class="ctr2" id="i11">11</td><td class="ctr1" id="j36">0</td><td class="ctr2" id="k33">4</td><td class="ctr1" id="l36">0</td><td class="ctr2" id="m36">1</td></tr><tr><td id="a41"><a href="Sin.html" class="el_class">Sin</a></td><td class="bar" id="b37"><img src="../.resources/greenbar.gif" width="4" height="10" title="13" alt="13"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d37"/><td class="ctr2" id="e37">n/a</td><td class="ctr1" id="f37">0</td><td class="ctr2" id="g35">4</td><td class="ctr1" id="h37">0</td><td class="ctr2" id="i35">4</td><td class="ctr1" id="j3 7">0</td><td class="ctr2" id="k34">4</td><td class="ctr1" id="l37">0</td><td class="ctr2" id="m37">1</td></tr><tr><td id="a35"><a href="Pow.html" class="el_class">Pow</a></td><td class="bar" id="b38"><img src="../.resources/greenbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d38"/><td class="ctr2" id="e38">n/a</td><td class="ctr1" id="f38">0</td><td class="ctr2" id="g38">2</td><td class="ctr1" id="h38">0</td><td class="ctr2" id="i38">2</td><td class="ctr1" id="j38">0</td><td class="ctr2" id="k38">2</td><td class="ctr1" id="l38">0</td><td class="ctr2" id="m38">1</td></tr><tr><td id="a3"><a href="Add.html" class="el_class">Add</a></td><td class="bar" id="b39"><img src="../.resources/greenbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d39"/><td class="ctr2" id="e39">n/a</td><td class="ctr1" id="f39">0</td><td class="ctr2" id="g39">2</td><td class="ctr1" id="h39">0 </td><td class="ctr2" id="i39">2</td><td class="ctr1" id="j39">0</td><td class="ctr2" id="k39">2</td><td class="ctr1" id="l39">0</td><td class="ctr2" id="m39">1</td></tr><tr><td id="a31"><a href="Max.html" class="el_class">Max</a></td><td class="bar" id="b40"><img src="../.resources/greenbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d40"/><td class="ctr2" id="e40">n/a</td><td class="ctr1" id="f40">0</td><td class="ctr2" id="g40">2</td><td class="ctr1" id="h40">0</td><td class="ctr2" id="i40">2</td><td class="ctr1" id="j40">0</td><td class="ctr2" id="k40">2</td><td class="ctr1" id="l40">0</td><td class="ctr2" id="m40">1</td></tr><tr><td id="a34"><a href="Multiply.html" class="el_class">Multiply</a></td><td class="bar" id="b41"><img src="../.resources/greenbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d41"/><td class="ctr2" id="e41">n/a</td><td class="ctr1" id= "f41">0</td><td class="ctr2" id="g41">2</td><td class="ctr1" id="h41">0</td><td class="ctr2" id="i41">2</td><td class="ctr1" id="j41">0</td><td class="ctr2" id="k41">2</td><td class="ctr1" id="l41">0</td><td class="ctr2" id="m41">1</td></tr><tr><td id="a32"><a href="Min.html" class="el_class">Min</a></td><td class="bar" id="b42"><img src="../.resources/greenbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c9">100%</td><td class="bar" id="d42"/><td class="ctr2" id="e42">n/a</td><td class="ctr1" id="f42">0</td><td class="ctr2" id="g42">2</td><td class="ctr1" id="h42">0</td><td class="ctr2" id="i42">2</td><td class="ctr1" id="j42">0</td><td class="ctr2" id="k42">2</td><td class="ctr1" id="l42">0</td><td class="ctr2" id="m42">1</td></tr><tr><td id="a14"><a href="Divide.html" class="el_class">Divide</a></td><td class="bar" id="b43"><img src="../.resources/greenbar.gif" width="2" height="10" title="7" alt="7"/></td><td class="ctr2" id="c10">100%</td><td class="b ar" id="d43"/><td class="ctr2" id="e43">n/a</td><td class="ctr1" id="f43">0</td><td class="ctr2" id="g43">2</td><td class="ctr1" id="h43">0</td><td class="ctr2" id="i43">2</td><td class="ctr1" id="j43">0</td><td class="ctr2" id="k43">2</td><td class="ctr1" id="l43">0</td><td class="ctr2" id="m43">1</td></tr><tr><td id="a17"><a href="Floor.html" class="el_class">Floor</a></td><td class="bar" id="b44"><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d44"/><td class="ctr2" id="e44">n/a</td><td class="ctr1" id="f44">0</td><td class="ctr2" id="g44">2</td><td class="ctr1" id="h44">0</td><td class="ctr2" id="i44">2</td><td class="ctr1" id="j44">0</td><td class="ctr2" id="k44">2</td><td class="ctr1" id="l44">0</td><td class="ctr2" id="m44">1</td></tr><tr><td id="a0"><a href="Abs.html" class="el_class">Abs</a></td><td class="bar" id="b45"><img src="../.resources/greenbar.gif" width="2" height="10" title ="6" alt="6"/></td><td class="ctr2" id="c12">100%</td><td class="bar" id="d45"/><td class="ctr2" id="e45">n/a</td><td class="ctr1" id="f45">0</td><td class="ctr2" id="g45">2</td><td class="ctr1" id="h45">0</td><td class="ctr2" id="i45">2</td><td class="ctr1" id="j45">0</td><td class="ctr2" id="k45">2</td><td class="ctr1" id="l45">0</td><td class="ctr2" id="m45">1</td></tr><tr><td id="a49"><a href="Ulp.html" class="el_class">Ulp</a></td><td class="bar" id="b46"><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d46"/><td class="ctr2" id="e46">n/a</td><td class="ctr1" id="f46">0</td><td class="ctr2" id="g46">2</td><td class="ctr1" id="h46">0</td><td class="ctr2" id="i46">2</td><td class="ctr1" id="j46">0</td><td class="ctr2" id="k46">2</td><td class="ctr1" id="l46">0</td><td class="ctr2" id="m46">1</td></tr><tr><td id="a37"><a href="Rint.html" class="el_class">Rint</a></td><td class="bar" id="b47"> <img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c14">100%</td><td class="bar" id="d47"/><td class="ctr2" id="e47">n/a</td><td class="ctr1" id="f47">0</td><td class="ctr2" id="g47">2</td><td class="ctr1" id="h47">0</td><td class="ctr2" id="i47">2</td><td class="ctr1" id="j47">0</td><td class="ctr2" id="k47">2</td><td class="ctr1" id="l47">0</td><td class="ctr2" id="m47">1</td></tr><tr><td id="a10"><a href="Ceil.html" class="el_class">Ceil</a></td><td class="bar" id="b48"><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d48"/><td class="ctr2" id="e48">n/a</td><td class="ctr1" id="f48">0</td><td class="ctr2" id="g48">2</td><td class="ctr1" id="h48">0</td><td class="ctr2" id="i48">2</td><td class="ctr1" id="j48">0</td><td class="ctr2" id="k48">2</td><td class="ctr1" id="l48">0</td><td class="ctr2" id="m48">1</td></tr><tr><td id="a40"><a href= "Signum.html" class="el_class">Signum</a></td><td class="bar" id="b49"><img src="../.resources/greenbar.gif" width="2" height="10" title="6" alt="6"/></td><td class="ctr2" id="c16">100%</td><td class="bar" id="d49"/><td class="ctr2" id="e49">n/a</td><td class="ctr1" id="f49">0</td><td class="ctr2" id="g49">2</td><td class="ctr1" id="h49">0</td><td class="ctr2" id="i49">2</td><td class="ctr1" id="j49">0</td><td class="ctr2" id="k49">2</td><td class="ctr1" id="l49">0</td><td class="ctr2" id="m49">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.5.201505241946</span></div></body></html> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/commons-complex/blob/b3576eeb/site-content/.svn/pristine/00/00f5f87327fe16af2e08b5fe9ac2494c5f257788.svn-base ---------------------------------------------------------------------- diff --git a/site-content/.svn/pristine/00/00f5f87327fe16af2e08b5fe9ac2494c5f257788.svn-base b/site-content/.svn/pristine/00/00f5f87327fe16af2e08b5fe9ac2494c5f257788.svn-base deleted file mode 100644 index 1986451..0000000 --- a/site-content/.svn/pristine/00/00f5f87327fe16af2e08b5fe9ac2494c5f257788.svn-base +++ /dev/null @@ -1,239 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>SimplexSolver.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.source.html" class="el_package">org.apache.commons.math3.optimization.linear</a> > <span class="el_source">SimplexSolver.j ava</span></div><h1>SimplexSolver.java</h1><pre class="source lang-java linenums">/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.commons.math3.optimization.linear; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.math3.exception.MaxCountExceededException; -import org.apache.commons.math3.optimization.PointValuePair; -import org.apache.commons.math3.util.Precision; - - -/** - * Solves a linear problem using the Two-Phase Simplex Method. - * - * @deprecated As of 3.1 (to be removed in 4.0). - * @since 2.0 - */ -@Deprecated -public class SimplexSolver extends AbstractLinearOptimizer { - - /** Default amount of error to accept for algorithm convergence. */ - private static final double DEFAULT_EPSILON = 1.0e-6; - - /** Default amount of error to accept in floating point comparisons (as ulps). */ - private static final int DEFAULT_ULPS = 10; - - /** Amount of error to accept for algorithm convergence. */ - private final double epsilon; - - /** Amount of error to accept in floating point comparisons (as ulps). */ - private final int maxUlps; - - /** - * Build a simplex solver with default settings. - */ - public SimplexSolver() { -<span class="fc" id="L53"> this(DEFAULT_EPSILON, DEFAULT_ULPS);</span> -<span class="fc" id="L54"> }</span> - - /** - * Build a simplex solver with a specified accepted amount of error - * @param epsilon the amount of error to accept for algorithm convergence - * @param maxUlps amount of error to accept in floating point comparisons - */ -<span class="fc" id="L61"> public SimplexSolver(final double epsilon, final int maxUlps) {</span> -<span class="fc" id="L62"> this.epsilon = epsilon;</span> -<span class="fc" id="L63"> this.maxUlps = maxUlps;</span> -<span class="fc" id="L64"> }</span> - - /** - * Returns the column with the most negative coefficient in the objective function row. - * @param tableau simple tableau for the problem - * @return column with the most negative coefficient - */ - private Integer getPivotColumn(SimplexTableau tableau) { -<span class="fc" id="L72"> double minValue = 0;</span> -<span class="fc" id="L73"> Integer minPos = null;</span> -<span class="fc bfc" id="L74" title="All 2 branches covered."> for (int i = tableau.getNumObjectiveFunctions(); i < tableau.getWidth() - 1; i++) {</span> -<span class="fc" id="L75"> final double entry = tableau.getEntry(0, i);</span> - // check if the entry is strictly smaller than the current minimum - // do not use a ulp/epsilon check -<span class="fc bfc" id="L78" title="All 2 branches covered."> if (entry < minValue) {</span> -<span class="fc" id="L79"> minValue = entry;</span> -<span class="fc" id="L80"> minPos = i;</span> - } - } -<span class="fc" id="L83"> return minPos;</span> - } - - /** - * Returns the row with the minimum ratio as given by the minimum ratio test (MRT). - * @param tableau simple tableau for the problem - * @param col the column to test the ratio of. See {@link #getPivotColumn(SimplexTableau)} - * @return row with the minimum ratio - */ - private Integer getPivotRow(SimplexTableau tableau, final int col) { - // create a list of all the rows that tie for the lowest score in the minimum ratio test -<span class="fc" id="L94"> List<Integer> minRatioPositions = new ArrayList<Integer>();</span> -<span class="fc" id="L95"> double minRatio = Double.MAX_VALUE;</span> -<span class="fc bfc" id="L96" title="All 2 branches covered."> for (int i = tableau.getNumObjectiveFunctions(); i < tableau.getHeight(); i++) {</span> -<span class="fc" id="L97"> final double rhs = tableau.getEntry(i, tableau.getWidth() - 1);</span> -<span class="fc" id="L98"> final double entry = tableau.getEntry(i, col);</span> - -<span class="fc bfc" id="L100" title="All 2 branches covered."> if (Precision.compareTo(entry, 0d, maxUlps) > 0) {</span> -<span class="fc" id="L101"> final double ratio = rhs / entry;</span> - // check if the entry is strictly equal to the current min ratio - // do not use a ulp/epsilon check -<span class="fc" id="L104"> final int cmp = Double.compare(ratio, minRatio);</span> -<span class="fc bfc" id="L105" title="All 2 branches covered."> if (cmp == 0) {</span> -<span class="fc" id="L106"> minRatioPositions.add(i);</span> -<span class="fc bfc" id="L107" title="All 2 branches covered."> } else if (cmp < 0) {</span> -<span class="fc" id="L108"> minRatio = ratio;</span> -<span class="fc" id="L109"> minRatioPositions = new ArrayList<Integer>();</span> -<span class="fc" id="L110"> minRatioPositions.add(i);</span> - } - } - } - -<span class="fc bfc" id="L115" title="All 2 branches covered."> if (minRatioPositions.size() == 0) {</span> -<span class="fc" id="L116"> return null;</span> -<span class="fc bfc" id="L117" title="All 2 branches covered."> } else if (minRatioPositions.size() > 1) {</span> - // there's a degeneracy as indicated by a tie in the minimum ratio test - - // 1. check if there's an artificial variable that can be forced out of the basis -<span class="fc bfc" id="L121" title="All 2 branches covered."> if (tableau.getNumArtificialVariables() > 0) {</span> -<span class="fc bfc" id="L122" title="All 2 branches covered."> for (Integer row : minRatioPositions) {</span> -<span class="fc bfc" id="L123" title="All 2 branches covered."> for (int i = 0; i < tableau.getNumArtificialVariables(); i++) {</span> -<span class="fc" id="L124"> int column = i + tableau.getArtificialVariableOffset();</span> -<span class="fc" id="L125"> final double entry = tableau.getEntry(row, column);</span> -<span class="fc bfc" id="L126" title="All 4 branches covered."> if (Precision.equals(entry, 1d, maxUlps) && row.equals(tableau.getBasicRow(column))) {</span> -<span class="fc" id="L127"> return row;</span> - } - } -<span class="fc" id="L130"> }</span> - } - - // 2. apply Bland's rule to prevent cycling: - // take the row for which the corresponding basic variable has the smallest index - // - // see http://www.stanford.edu/class/msande310/blandrule.pdf - // see http://en.wikipedia.org/wiki/Bland%27s_rule (not equivalent to the above paper) - // - // Additional heuristic: if we did not get a solution after half of maxIterations - // revert to the simple case of just returning the top-most row - // This heuristic is based on empirical data gathered while investigating MATH-828. -<span class="fc bfc" id="L142" title="All 2 branches covered."> if (getIterations() < getMaxIterations() / 2) {</span> -<span class="fc" id="L143"> Integer minRow = null;</span> -<span class="fc" id="L144"> int minIndex = tableau.getWidth();</span> -<span class="fc" id="L145"> final int varStart = tableau.getNumObjectiveFunctions();</span> -<span class="fc" id="L146"> final int varEnd = tableau.getWidth() - 1;</span> -<span class="fc bfc" id="L147" title="All 2 branches covered."> for (Integer row : minRatioPositions) {</span> -<span class="fc bfc" id="L148" title="All 4 branches covered."> for (int i = varStart; i < varEnd && !row.equals(minRow); i++) {</span> -<span class="fc" id="L149"> final Integer basicRow = tableau.getBasicRow(i);</span> -<span class="fc bfc" id="L150" title="All 6 branches covered."> if (basicRow != null && basicRow.equals(row) && i < minIndex) {</span> -<span class="fc" id="L151"> minIndex = i;</span> -<span class="fc" id="L152"> minRow = row;</span> - } - } -<span class="fc" id="L155"> }</span> -<span class="fc" id="L156"> return minRow;</span> - } - } -<span class="fc" id="L159"> return minRatioPositions.get(0);</span> - } - - /** - * Runs one iteration of the Simplex method on the given model. - * @param tableau simple tableau for the problem - * @throws MaxCountExceededException if the maximal iteration count has been exceeded - * @throws UnboundedSolutionException if the model is found not to have a bounded solution - */ - protected void doIteration(final SimplexTableau tableau) - throws MaxCountExceededException, UnboundedSolutionException { - -<span class="fc" id="L171"> incrementIterationsCounter();</span> - -<span class="fc" id="L173"> Integer pivotCol = getPivotColumn(tableau);</span> -<span class="fc" id="L174"> Integer pivotRow = getPivotRow(tableau, pivotCol);</span> -<span class="fc bfc" id="L175" title="All 2 branches covered."> if (pivotRow == null) {</span> -<span class="fc" id="L176"> throw new UnboundedSolutionException();</span> - } - - // set the pivot element to 1 -<span class="fc" id="L180"> double pivotVal = tableau.getEntry(pivotRow, pivotCol);</span> -<span class="fc" id="L181"> tableau.divideRow(pivotRow, pivotVal);</span> - - // set the rest of the pivot column to 0 -<span class="fc bfc" id="L184" title="All 2 branches covered."> for (int i = 0; i < tableau.getHeight(); i++) {</span> -<span class="fc bfc" id="L185" title="All 2 branches covered."> if (i != pivotRow) {</span> -<span class="fc" id="L186"> final double multiplier = tableau.getEntry(i, pivotCol);</span> -<span class="fc" id="L187"> tableau.subtractRow(i, pivotRow, multiplier);</span> - } - } -<span class="fc" id="L190"> }</span> - - /** - * Solves Phase 1 of the Simplex method. - * @param tableau simple tableau for the problem - * @throws MaxCountExceededException if the maximal iteration count has been exceeded - * @throws UnboundedSolutionException if the model is found not to have a bounded solution - * @throws NoFeasibleSolutionException if there is no feasible solution - */ - protected void solvePhase1(final SimplexTableau tableau) - throws MaxCountExceededException, UnboundedSolutionException, NoFeasibleSolutionException { - - // make sure we're in Phase 1 -<span class="fc bfc" id="L203" title="All 2 branches covered."> if (tableau.getNumArtificialVariables() == 0) {</span> -<span class="fc" id="L204"> return;</span> - } - -<span class="fc bfc" id="L207" title="All 2 branches covered."> while (!tableau.isOptimal()) {</span> -<span class="fc" id="L208"> doIteration(tableau);</span> - } - - // if W is not zero then we have no feasible solution -<span class="fc bfc" id="L212" title="All 2 branches covered."> if (!Precision.equals(tableau.getEntry(0, tableau.getRhsOffset()), 0d, epsilon)) {</span> -<span class="fc" id="L213"> throw new NoFeasibleSolutionException();</span> - } -<span class="fc" id="L215"> }</span> - - /** {@inheritDoc} */ - @Override - public PointValuePair doOptimize() - throws MaxCountExceededException, UnboundedSolutionException, NoFeasibleSolutionException { -<span class="fc" id="L221"> final SimplexTableau tableau =</span> - new SimplexTableau(getFunction(), - getConstraints(), - getGoalType(), - restrictToNonNegative(), - epsilon, - maxUlps); - -<span class="fc" id="L229"> solvePhase1(tableau);</span> -<span class="fc" id="L230"> tableau.dropPhase1Objective();</span> - -<span class="fc bfc" id="L232" title="All 2 branches covered."> while (!tableau.isOptimal()) {</span> -<span class="fc" id="L233"> doIteration(tableau);</span> - } -<span class="fc" id="L235"> return tableau.getSolution();</span> - } - -} -</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.5.201505241946</span></div></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-complex/blob/b3576eeb/site-content/.svn/pristine/01/0105e6430b10c526de3f811c2c9c28ded7073a95.svn-base ---------------------------------------------------------------------- diff --git a/site-content/.svn/pristine/01/0105e6430b10c526de3f811c2c9c28ded7073a95.svn-base b/site-content/.svn/pristine/01/0105e6430b10c526de3f811c2c9c28ded7073a95.svn-base deleted file mode 100644 index 6a44fd7..0000000 --- a/site-content/.svn/pristine/01/0105e6430b10c526de3f811c2c9c28ded7073a95.svn-base +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>AbstractConvergenceChecker.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Math</a> > <a href="index.source.html" class="el_package">org.apache.commons.math3.optimization</a> > <span class="el_source">AbstractC onvergenceChecker.java</span></div><h1>AbstractConvergenceChecker.java</h1><pre class="source lang-java linenums">/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.commons.math3.optimization; - -import org.apache.commons.math3.util.Precision; - -/** - * Base class for all convergence checker implementations. - * - * @param <PAIR> Type of (point, value) pair. - * - * @deprecated As of 3.1 (to be removed in 4.0). - * @since 3.0 - */ -@Deprecated -public abstract class AbstractConvergenceChecker<PAIR> - implements ConvergenceChecker<PAIR> { - /** - * Default relative threshold. - * @deprecated in 3.1 (to be removed in 4.0) because this value is too small - * to be useful as a default (cf. MATH-798). - */ - @Deprecated -<span class="fc" id="L39"> private static final double DEFAULT_RELATIVE_THRESHOLD = 100 * Precision.EPSILON;</span> - /** - * Default absolute threshold. - * @deprecated in 3.1 (to be removed in 4.0) because this value is too small - * to be useful as a default (cf. MATH-798). - */ - @Deprecated -<span class="fc" id="L46"> private static final double DEFAULT_ABSOLUTE_THRESHOLD = 100 * Precision.SAFE_MIN;</span> - /** - * Relative tolerance threshold. - */ - private final double relativeThreshold; - /** - * Absolute tolerance threshold. - */ - private final double absoluteThreshold; - - /** - * Build an instance with default thresholds. - * @deprecated in 3.1 (to be removed in 4.0). Convergence thresholds are - * problem-dependent. As this class is intended for users who want to set - * their own convergence criterion instead of relying on an algorithm's - * default procedure, they should also set the thresholds appropriately - * (cf. MATH-798). - */ - @Deprecated -<span class="nc" id="L65"> public AbstractConvergenceChecker() {</span> -<span class="nc" id="L66"> this.relativeThreshold = DEFAULT_RELATIVE_THRESHOLD;</span> -<span class="nc" id="L67"> this.absoluteThreshold = DEFAULT_ABSOLUTE_THRESHOLD;</span> -<span class="nc" id="L68"> }</span> - - /** - * Build an instance with a specified thresholds. - * - * @param relativeThreshold relative tolerance threshold - * @param absoluteThreshold absolute tolerance threshold - */ - public AbstractConvergenceChecker(final double relativeThreshold, -<span class="fc" id="L77"> final double absoluteThreshold) {</span> -<span class="fc" id="L78"> this.relativeThreshold = relativeThreshold;</span> -<span class="fc" id="L79"> this.absoluteThreshold = absoluteThreshold;</span> -<span class="fc" id="L80"> }</span> - - /** - * @return the relative threshold. - */ - public double getRelativeThreshold() { -<span class="fc" id="L86"> return relativeThreshold;</span> - } - - /** - * @return the absolute threshold. - */ - public double getAbsoluteThreshold() { -<span class="fc" id="L93"> return absoluteThreshold;</span> - } - - /** - * {@inheritDoc} - */ - public abstract boolean converged(int iteration, - PAIR previous, - PAIR current); -} -</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.5.201505241946</span></div></body></html> \ No newline at end of file
