Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > eebc325dc36bd6e3b09b9b45133e42f8 > files > 4089

HippoDraw-devel-docs-1.21.1-10.fc13.i686.rpm

<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>HippoDraw Class Library</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="hippoApp.ico">
</head><body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
      <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacehippodraw.html">hippodraw</a>::<a class="el" href="namespacehippodraw_1_1Numeric.html">Numeric</a>
  </div>
</div>
<div class="contents">
<h1>hippodraw::Numeric Namespace Reference</h1>
<p>Collection of linear algebra functions.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#af167b6f41b28d68a0af3813267f70be5">allocateMatrix</a> (std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, int m, int n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a matrix of size m x n.  <a href="#af167b6f41b28d68a0af3813267f70be5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a9958ce4dea9d284442d0e5239793df76">allocateVector</a> (std::vector&lt; double &gt; &amp;x, int n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a vector of size n.  <a href="#a9958ce4dea9d284442d0e5239793df76"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a6e34a1848b8e6e40e354f0c93e6b205d">cholBackSolve</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;L, std::vector&lt; double &gt; &amp;x, const std::vector&lt; double &gt; &amp;b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Solves the equation LL'x = b where L is lower triangular matrix.  <a href="#a6e34a1848b8e6e40e354f0c93e6b205d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#aecbdf19ba7109e37b7e89e490aaa453a">cholFactor</a> (std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The subroutine which does cholesky factorization of a given Symmetric positive definite matrix (say) A.  <a href="#aecbdf19ba7109e37b7e89e490aaa453a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a3c1c282c14b12b9f982f4f3f359fde67">eye</a> (std::vector&lt; std::vector&lt; double &gt; &gt; &amp;M, int n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an n x n identity matrix for M.  <a href="#a3c1c282c14b12b9f982f4f3f359fde67"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#ae01374ddda83bc2216ba9df9c76d9995">gammln</a> (double xx)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates natural log of a gamma function.  <a href="#ae01374ddda83bc2216ba9df9c76d9995"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a3875415d74d3aaf6f58d9e58fc061efd">gammq</a> (double a, double x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates Q, the probability that the chi2 should exceed a particilar chi2 (input) by chance.  <a href="#a3875415d74d3aaf6f58d9e58fc061efd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a5b446e3e8ec13c8e2383ac156f0cf77f">gcf</a> (double *gammcf, double a, double x, double *gln)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates Q, the probability that the chi2 should exceed a particilar chi2 (input) by chance, by using continued fractions.  <a href="#a5b446e3e8ec13c8e2383ac156f0cf77f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a5277079b0c65d166db9553deb8a92de2">gser</a> (double *gamser, double a, double x, double *gln)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates Q, the probability that the chi2 should exceed a particilar chi2 (input) by chance, by using series approximation.  <a href="#a5277079b0c65d166db9553deb8a92de2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a329ce3200d86ee77e2b9721db28388ee">innerProduct</a> (const std::vector&lt; double &gt; &amp;a, const std::vector&lt; double &gt; &amp;b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the dot or the inner product of two vectors(i.e.  <a href="#a329ce3200d86ee77e2b9721db28388ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a87403e87bbdd901c7e42f4bf6f314d5d">invertMatrix</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, std::vector&lt; std::vector&lt; double &gt; &gt; &amp;Ainv)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverts a SPD matrix a to get inverse Ainv using the cholesky factorization.  <a href="#a87403e87bbdd901c7e42f4bf6f314d5d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a2fc63b8199da4a6f45b4a9590fbab38f">norm</a> (const std::vector&lt; double &gt; &amp;a)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the two norm of the vector.  <a href="#a2fc63b8199da4a6f45b4a9590fbab38f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; vector&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#aed7c2d69196dbccacf351d0fd7a3a8f9">operator*</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;B)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes Matrix Matrix Product C=A*B.  <a href="#aed7c2d69196dbccacf351d0fd7a3a8f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#acfd13c1849567e45760bebda154cd5ac">operator*</a> (const std::vector&lt; double &gt; &amp;x, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the vector matrix product y = x'A.  <a href="#acfd13c1849567e45760bebda154cd5ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a8469fb08c4d3dcfb5821cc5f2f07b7bd">operator*</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; double &gt; &amp;x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the Matrix vector product y = Ax.  <a href="#a8469fb08c4d3dcfb5821cc5f2f07b7bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::vector<br class="typebreak"/>
&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#af01728f5af099c71a39c34feac7a6601">operator*</a> (double a, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the scalar matrix product B = aA.  <a href="#af01728f5af099c71a39c34feac7a6601"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a25db1c1e5a7b83f6b4b0ea16793808fd">operator*</a> (double a, const std::vector&lt; double &gt; &amp;x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a scalar a and a vector x this function performs operation y = ax.  <a href="#a25db1c1e5a7b83f6b4b0ea16793808fd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; vector&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#af5a5fe133eac91d7da446fb2d76171ec">operator+</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;B)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given two matrices A and B this function performs operation C = A + B.  <a href="#af5a5fe133eac91d7da446fb2d76171ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#aab0ab86ece0308067f6955d5fbd36349">operator+</a> (const std::vector&lt; double &gt; &amp;x, const std::vector&lt; double &gt; &amp;y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given two vectors x and y this function performs operation z = x + y.  <a href="#aab0ab86ece0308067f6955d5fbd36349"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; vector&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#aa94f5f18611ba6d92109a8f9ed759f89">operator-</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;B)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given two matrices A and B this function performs operation C = A - B.  <a href="#aa94f5f18611ba6d92109a8f9ed759f89"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#ae4cc126d925009eba9a72fd3aeb43eee">operator-</a> (const std::vector&lt; double &gt; &amp;y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a vector y this function performs operation z = - y.  <a href="#ae4cc126d925009eba9a72fd3aeb43eee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a83635d69c8d1388f6f5857be75105d43">operator-</a> (const std::vector&lt; double &gt; &amp;x, const std::vector&lt; double &gt; &amp;y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given two vectors x and y this function performs operation z = x - y.  <a href="#a83635d69c8d1388f6f5857be75105d43"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::vector<br class="typebreak"/>
&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#af1026e0b4c90d1226b59b1c7570b6fde">operator/</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, double a)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the scalar matrix product B = A/a.  <a href="#af1026e0b4c90d1226b59b1c7570b6fde"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a1f5254a9fe7eb0973dd1eff892ac39a0">operator/</a> (const std::vector&lt; double &gt; &amp;x, double a)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a scalar and a vector x this function performs operation y = x/a.  <a href="#a1f5254a9fe7eb0973dd1eff892ac39a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">vector&lt; vector&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#af9cb017e1c9362831eccadf6bceac017">outerProduct</a> (const std::vector&lt; double &gt; &amp;a, const std::vector&lt; double &gt; &amp;b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the outer product of two vectors (i.e.  <a href="#af9cb017e1c9362831eccadf6bceac017"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#ab6ec8f5900d139d769c7e4aaa8e63f8a">quadraticProduct</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; double &gt; x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates the vector-matrix-vector product x'*A*x.  <a href="#ab6ec8f5900d139d769c7e4aaa8e63f8a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a7d05b2097f4cf54b1afca1c96806613e">write</a> (const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given the matrix it writes it to std stream.  <a href="#a7d05b2097f4cf54b1afca1c96806613e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacehippodraw_1_1Numeric.html#a339393d88f1319ad9ae63afad77ec304">write</a> (const std::vector&lt; double &gt; &amp;x)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given the vector it writes it to std stream.  <a href="#a339393d88f1319ad9ae63afad77ec304"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Collection of linear algebra functions. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="af167b6f41b28d68a0af3813267f70be5"></a><!-- doxytag: member="hippodraw::Numeric::allocateMatrix" ref="af167b6f41b28d68a0af3813267f70be5" args="(std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, int m, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int allocateMatrix </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocates a matrix of size m x n. </p>

</div>
</div>
<a class="anchor" id="a9958ce4dea9d284442d0e5239793df76"></a><!-- doxytag: member="hippodraw::Numeric::allocateVector" ref="a9958ce4dea9d284442d0e5239793df76" args="(std::vector&lt; double &gt; &amp;x, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int allocateVector </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocates a vector of size n. </p>

</div>
</div>
<a class="anchor" id="a6e34a1848b8e6e40e354f0c93e6b205d"></a><!-- doxytag: member="hippodraw::Numeric::cholBackSolve" ref="a6e34a1848b8e6e40e354f0c93e6b205d" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;L, std::vector&lt; double &gt; &amp;x, const std::vector&lt; double &gt; &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cholBackSolve </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Solves the equation LL'x = b where L is lower triangular matrix. </p>

</div>
</div>
<a class="anchor" id="aecbdf19ba7109e37b7e89e490aaa453a"></a><!-- doxytag: member="hippodraw::Numeric::cholFactor" ref="aecbdf19ba7109e37b7e89e490aaa453a" args="(std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int cholFactor </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The subroutine which does cholesky factorization of a given Symmetric positive definite matrix (say) A. </p>
<p>It over-writes A by resulting lower triangular matrix </p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00472">BFGSFitter::calcCovariance()</a>.</p>

</div>
</div>
<a class="anchor" id="a3c1c282c14b12b9f982f4f3f359fde67"></a><!-- doxytag: member="hippodraw::Numeric::eye" ref="a3c1c282c14b12b9f982f4f3f359fde67" args="(std::vector&lt; std::vector&lt; double &gt; &gt; &amp;M, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int eye </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>I</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates an n x n identity matrix for M. </p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="ae01374ddda83bc2216ba9df9c76d9995"></a><!-- doxytag: member="hippodraw::Numeric::gammln" ref="ae01374ddda83bc2216ba9df9c76d9995" args="(double xx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double gammln </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates natural log of a gamma function. </p>

</div>
</div>
<a class="anchor" id="a3875415d74d3aaf6f58d9e58fc061efd"></a><!-- doxytag: member="hippodraw::Numeric::gammq" ref="a3875415d74d3aaf6f58d9e58fc061efd" args="(double a, double x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double gammq </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates Q, the probability that the chi2 should exceed a particilar chi2 (input) by chance. </p>
<p>It internally calls gser and gcf depending on the input range. </p>

<p>Referenced by <a class="el" href="FunctionController_8cxx_source.html#l00906">FunctionController::ellipsoidNTuple()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b446e3e8ec13c8e2383ac156f0cf77f"></a><!-- doxytag: member="hippodraw::Numeric::gcf" ref="a5b446e3e8ec13c8e2383ac156f0cf77f" args="(double *gammcf, double a, double x, double *gln)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gcf </td>
          <td>(</td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>gammcf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>gln</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates Q, the probability that the chi2 should exceed a particilar chi2 (input) by chance, by using continued fractions. </p>

</div>
</div>
<a class="anchor" id="a5277079b0c65d166db9553deb8a92de2"></a><!-- doxytag: member="hippodraw::Numeric::gser" ref="a5277079b0c65d166db9553deb8a92de2" args="(double *gamser, double a, double x, double *gln)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gser </td>
          <td>(</td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>gamser</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>gln</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates Q, the probability that the chi2 should exceed a particilar chi2 (input) by chance, by using series approximation. </p>

</div>
</div>
<a class="anchor" id="a329ce3200d86ee77e2b9721db28388ee"></a><!-- doxytag: member="hippodraw::Numeric::innerProduct" ref="a329ce3200d86ee77e2b9721db28388ee" args="(const std::vector&lt; double &gt; &amp;a, const std::vector&lt; double &gt; &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double innerProduct </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the dot or the inner product of two vectors(i.e. </p>
<p>a'b) </p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="a87403e87bbdd901c7e42f4bf6f314d5d"></a><!-- doxytag: member="hippodraw::Numeric::invertMatrix" ref="a87403e87bbdd901c7e42f4bf6f314d5d" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, std::vector&lt; std::vector&lt; double &gt; &gt; &amp;Ainv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int invertMatrix </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>Ainv</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inverts a SPD matrix a to get inverse Ainv using the cholesky factorization. </p>
<p>It inverts the matrix by repeatedly solving Ax = ei </p>

<p>Referenced by <a class="el" href="LMFitter_8cxx_source.html#l00094">LMFitter::calcCovariance()</a>, and <a class="el" href="FunctionController_8cxx_source.html#l00906">FunctionController::ellipsoidNTuple()</a>.</p>

</div>
</div>
<a class="anchor" id="a2fc63b8199da4a6f45b4a9590fbab38f"></a><!-- doxytag: member="hippodraw::Numeric::norm" ref="a2fc63b8199da4a6f45b4a9590fbab38f" args="(const std::vector&lt; double &gt; &amp;a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double norm </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the two norm of the vector. </p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00144">Gaussian::derivByMean()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00101">Gaussian::derivByParm()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00158">Gaussian::derivBySigma()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00045">Gaussian::Gaussian()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00098">Novosibirsk::initialParameters()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00078">LogNormal::initialParameters()</a>, <a class="el" href="Gaussian_8cxx_source.html#l00089">Gaussian::initialParameters()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00041">LogNormal::LogNormal()</a>, <a class="el" href="BinningProjector_8cxx_source.html#l00286">BinningProjector::normalize()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00040">Novosibirsk::Novosibirsk()</a>, <a class="el" href="Novosibirsk_8cxx_source.html#l00067">Novosibirsk::operator()()</a>, <a class="el" href="LogNormal_8cxx_source.html#l00066">LogNormal::operator()()</a>, and <a class="el" href="Gaussian_8cxx_source.html#l00070">Gaussian::operator()()</a>.</p>

</div>
</div>
<a class="anchor" id="aed7c2d69196dbccacf351d0fd7a3a8f9"></a><!-- doxytag: member="hippodraw::Numeric::operator*" ref="aed7c2d69196dbccacf351d0fd7a3a8f9" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt; double &gt; &gt; operator* </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes Matrix Matrix Product C=A*B. </p>

</div>
</div>
<a class="anchor" id="acfd13c1849567e45760bebda154cd5ac"></a><!-- doxytag: member="hippodraw::Numeric::operator*" ref="acfd13c1849567e45760bebda154cd5ac" args="(const std::vector&lt; double &gt; &amp;x, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; operator* </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the vector matrix product y = x'A. </p>

</div>
</div>
<a class="anchor" id="a8469fb08c4d3dcfb5821cc5f2f07b7bd"></a><!-- doxytag: member="hippodraw::Numeric::operator*" ref="a8469fb08c4d3dcfb5821cc5f2f07b7bd" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; double &gt; &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; operator* </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the Matrix vector product y = Ax. </p>

</div>
</div>
<a class="anchor" id="af01728f5af099c71a39c34feac7a6601"></a><!-- doxytag: member="hippodraw::Numeric::operator*" ref="af01728f5af099c71a39c34feac7a6601" args="(double a, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt; double &gt; &gt; operator* </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the scalar matrix product B = aA. </p>

</div>
</div>
<a class="anchor" id="a25db1c1e5a7b83f6b4b0ea16793808fd"></a><!-- doxytag: member="hippodraw::Numeric::operator*" ref="a25db1c1e5a7b83f6b4b0ea16793808fd" args="(double a, const std::vector&lt; double &gt; &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; operator* </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a scalar a and a vector x this function performs operation y = ax. </p>

</div>
</div>
<a class="anchor" id="af5a5fe133eac91d7da446fb2d76171ec"></a><!-- doxytag: member="hippodraw::Numeric::operator+" ref="af5a5fe133eac91d7da446fb2d76171ec" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt; double &gt; &gt; operator+ </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given two matrices A and B this function performs operation C = A + B. </p>

</div>
</div>
<a class="anchor" id="aab0ab86ece0308067f6955d5fbd36349"></a><!-- doxytag: member="hippodraw::Numeric::operator+" ref="aab0ab86ece0308067f6955d5fbd36349" args="(const std::vector&lt; double &gt; &amp;x, const std::vector&lt; double &gt; &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; operator+ </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given two vectors x and y this function performs operation z = x + y. </p>

</div>
</div>
<a class="anchor" id="aa94f5f18611ba6d92109a8f9ed759f89"></a><!-- doxytag: member="hippodraw::Numeric::operator&#45;" ref="aa94f5f18611ba6d92109a8f9ed759f89" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt; double &gt; &gt; operator- </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given two matrices A and B this function performs operation C = A - B. </p>

</div>
</div>
<a class="anchor" id="ae4cc126d925009eba9a72fd3aeb43eee"></a><!-- doxytag: member="hippodraw::Numeric::operator&#45;" ref="ae4cc126d925009eba9a72fd3aeb43eee" args="(const std::vector&lt; double &gt; &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; operator- </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a vector y this function performs operation z = - y. </p>

</div>
</div>
<a class="anchor" id="a83635d69c8d1388f6f5857be75105d43"></a><!-- doxytag: member="hippodraw::Numeric::operator&#45;" ref="a83635d69c8d1388f6f5857be75105d43" args="(const std::vector&lt; double &gt; &amp;x, const std::vector&lt; double &gt; &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; operator- </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given two vectors x and y this function performs operation z = x - y. </p>

</div>
</div>
<a class="anchor" id="af1026e0b4c90d1226b59b1c7570b6fde"></a><!-- doxytag: member="hippodraw::Numeric::operator/" ref="af1026e0b4c90d1226b59b1c7570b6fde" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, double a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt; double &gt; &gt; operator/ </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the scalar matrix product B = A/a. </p>

</div>
</div>
<a class="anchor" id="a1f5254a9fe7eb0973dd1eff892ac39a0"></a><!-- doxytag: member="hippodraw::Numeric::operator/" ref="a1f5254a9fe7eb0973dd1eff892ac39a0" args="(const std::vector&lt; double &gt; &amp;x, double a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; double &gt; operator/ </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a scalar and a vector x this function performs operation y = x/a. </p>

</div>
</div>
<a class="anchor" id="af9cb017e1c9362831eccadf6bceac017"></a><!-- doxytag: member="hippodraw::Numeric::outerProduct" ref="af9cb017e1c9362831eccadf6bceac017" args="(const std::vector&lt; double &gt; &amp;a, const std::vector&lt; double &gt; &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::vector&lt; double &gt; &gt; outerProduct </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the outer product of two vectors (i.e. </p>
<p>C = ab') </p>

<p>Referenced by <a class="el" href="BFGSFitter_8cxx_source.html#l00089">BFGSFitter::calcBestFit()</a>.</p>

</div>
</div>
<a class="anchor" id="ab6ec8f5900d139d769c7e4aaa8e63f8a"></a><!-- doxytag: member="hippodraw::Numeric::quadraticProduct" ref="ab6ec8f5900d139d769c7e4aaa8e63f8a" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A, const std::vector&lt; double &gt; x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double quadraticProduct </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; double &gt;&nbsp;</td>
          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the vector-matrix-vector product x'*A*x. </p>

<p>Referenced by <a class="el" href="FunctionController_8cxx_source.html#l00906">FunctionController::ellipsoidNTuple()</a>.</p>

</div>
</div>
<a class="anchor" id="a7d05b2097f4cf54b1afca1c96806613e"></a><!-- doxytag: member="hippodraw::Numeric::write" ref="a7d05b2097f4cf54b1afca1c96806613e" args="(const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int write </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; std::vector&lt; double &gt; &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given the matrix it writes it to std stream. </p>

</div>
</div>
<a class="anchor" id="a339393d88f1319ad9ae63afad77ec304"></a><!-- doxytag: member="hippodraw::Numeric::write" ref="a339393d88f1319ad9ae63afad77ec304" args="(const std::vector&lt; double &gt; &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int write </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; double &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>a</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given the vector it writes it to std stream. </p>

</div>
</div>
</div>
<hr size="1"><address style="align: right;"><small>
Generated for HippoDraw Class Library by <a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0>
</a> </small></address>
</body>
</html>