Index: doc/html/classeprod.html
===================================================================
--- doc/html/classeprod.html (revision 145)
+++ doc/html/classeprod.html (revision 171)
@@ -24,5 +24,5 @@
 </div>
 <div class="contents">
-<h1>eprod Class Reference</h1><!-- doxytag: class="eprod" --><!-- doxytag: inherits="epdf" -->Chain rule decomposition of <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  
+<h1>eprod Class Reference</h1><!-- doxytag: class="eprod" --><!-- doxytag: inherits="epdf" -->Product of independent epdfs. For dependent pdfs, use <a class="el" href="classmprod.html" title="Chain rule decomposition of epdf.">mprod</a>.  
 <a href="#_details">More...</a>
 <p>
@@ -48,10 +48,23 @@
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c76cb1658c345cc30374c340608006c"></a><!-- doxytag: member="eprod::eprod" ref="6c76cb1658c345cc30374c340608006c" args="(Array&lt; epdf &gt; Facs)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>eprod</b> (Array&lt; <a class="el" href="classepdf.html">epdf</a> &gt; Facs)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="288ace3ff1df274dfa89e1a641448a43"></a><!-- doxytag: member="eprod::eprod" ref="288ace3ff1df274dfa89e1a641448a43" args="(const Array&lt; const epdf * &gt; epdfs0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>eprod</b> (const Array&lt; const <a class="el" href="classepdf.html">epdf</a> * &gt; epdfs0)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#8019654e494bf5e458f6fb947e11b262">sample</a> () const =0</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5752dd999e1f4638f9558b0cc35b64f7"></a><!-- doxytag: member="eprod::mean" ref="5752dd999e1f4638f9558b0cc35b64f7" args="() const " -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeprod.html#5752dd999e1f4638f9558b0cc35b64f7">mean</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  <a href="#8019654e494bf5e458f6fb947e11b262"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="94a5b7c44056cf7f4e688d53ba6295b4"></a><!-- doxytag: member="eprod::sample" ref="94a5b7c44056cf7f4e688d53ba6295b4" args="() const " -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeprod.html#94a5b7c44056cf7f4e688d53ba6295b4">sample</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a sample, <img class="formulaInl" alt="$x$" src="form_28.png"> from density <img class="formulaInl" alt="$epdf(rv)$" src="form_59.png">. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5adef154e3655a872c284b02635b8b35"></a><!-- doxytag: member="eprod::evalpdflog" ref="5adef154e3655a872c284b02635b8b35" args="(const vec &amp;val) const " -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeprod.html#5adef154e3655a872c284b02635b8b35">evalpdflog</a> (const vec &amp;val) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c049331d8b1ec7e4c088cf0cc6d47f3f"></a><!-- doxytag: member="eprod::operator()" ref="c049331d8b1ec7e4c088cf0cc6d47f3f" args="(int i) const " -->
+const <a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeprod.html#c049331d8b1ec7e4c088cf0cc6d47f3f">operator()</a> (int i) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="54d7dd53a641b618771cd9bee135181f"></a><!-- doxytag: member="eprod::sampleN" ref="54d7dd53a641b618771cd9bee135181f" args="(int N) const " -->
 virtual mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#54d7dd53a641b618771cd9bee135181f">sampleN</a> (int N) const </td></tr>
@@ -62,26 +75,25 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6aef3eca74899692503769c18add1a4c"></a><!-- doxytag: member="eprod::evalpdflog" ref="6aef3eca74899692503769c18add1a4c" args="(const vec &amp;val) const =0" -->
-virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#6aef3eca74899692503769c18add1a4c">evalpdflog</a> (const vec &amp;val) const =0</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6af383b6f1c6ea6fc5f6724dd03d8877"></a><!-- doxytag: member="eprod::evalpdflog" ref="6af383b6f1c6ea6fc5f6724dd03d8877" args="(const mat &amp;Val) const " -->
+virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#6af383b6f1c6ea6fc5f6724dd03d8877">evalpdflog</a> (const mat &amp;Val) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf0a070a8f3e67a93604ca724638b870"></a><!-- doxytag: member="eprod::mean" ref="bf0a070a8f3e67a93604ca724638b870" args="() const =0" -->
-virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#bf0a070a8f3e67a93604ca724638b870">mean</a> () const =0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of multiple values argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca0d32aabb4cbba347e0c37fe8607562"></a><!-- doxytag: member="eprod::_rv" ref="ca0d32aabb4cbba347e0c37fe8607562" args="() const " -->
+const <a class="el" href="classRV.html">RV</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#ca0d32aabb4cbba347e0c37fe8607562">_rv</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b89143f12c9b49282e30841e4fb5f337"></a><!-- doxytag: member="eprod::_rv" ref="b89143f12c9b49282e30841e4fb5f337" args="() const " -->
-<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#b89143f12c9b49282e30841e4fb5f337">_rv</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function, possibly dangerous! <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fb94ce90d1ac7077d29f7d6a6c3e0a5"></a><!-- doxytag: member="eprod::_renewrv" ref="7fb94ce90d1ac7077d29f7d6a6c3e0a5" args="(const RV &amp;in_rv)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#7fb94ce90d1ac7077d29f7d6a6c3e0a5">_renewrv</a> (const <a class="el" href="classRV.html">RV</a> &amp;in_rv)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">modifier function - useful when copying epdfs <br></td></tr>
 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5307a27aaf48be8213294b05ac533c39"></a><!-- doxytag: member="eprod::epdfs" ref="5307a27aaf48be8213294b05ac533c39" args="" -->
-Array&lt; <a class="el" href="classepdf.html">epdf</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>epdfs</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="63fc0db078542bce1c5dff94f9c3a357"></a><!-- doxytag: member="eprod::epdfs" ref="63fc0db078542bce1c5dff94f9c3a357" args="" -->
+Array&lt; const <a class="el" href="classepdf.html">epdf</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeprod.html#63fc0db078542bce1c5dff94f9c3a357">epdfs</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4387c81276ca66c1ca9336cf8bf74a8"></a><!-- doxytag: member="eprod::mpdfs" ref="a4387c81276ca66c1ca9336cf8bf74a8" args="" -->
-Array&lt; <a class="el" href="classmpdf.html">mpdf</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>mpdfs</b></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Components (epdfs). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a471987de1115dc639eccff65f3b9aa3"></a><!-- doxytag: member="eprod::rvinds" ref="a471987de1115dc639eccff65f3b9aa3" args="" -->
+Array&lt; ivec &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeprod.html#a471987de1115dc639eccff65f3b9aa3">rvinds</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68b66b05b3b6987472247f541846a366"></a><!-- doxytag: member="eprod::sizes" ref="68b66b05b3b6987472247f541846a366" args="" -->
-ivec&nbsp;</td><td class="memItemRight" valign="bottom"><b>sizes</b></td></tr>
-
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array of indeces. <br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="eprod::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
 <a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#74da992e3f5d598da8850b646b79b9d9">rv</a></td></tr>
@@ -90,36 +102,8 @@
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-Chain rule decomposition of <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>. 
-<p>
-Probability density in the form of Chain-rule decomposition: \[ f(x_1,x_2,x_3) = f(x_1|x_2,x_3)f(x_2,x_3)f(x_3) \] Note that <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="8019654e494bf5e458f6fb947e11b262"></a><!-- doxytag: member="eprod::sample" ref="8019654e494bf5e458f6fb947e11b262" args="() const =0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual vec epdf::sample           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td> const<code> [pure virtual, inherited]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>. 
-<p>
-Returns a sample, <img class="formulaInl" alt="$x$" src="form_28.png"> from density <img class="formulaInl" alt="$epdf(rv)$" src="form_59.png"> 
-<p>Implemented in <a class="el" href="classemix.html#0650601f24e633e0ab09aa1e46c14483">emix</a>, <a class="el" href="classenorm.html#60b47544f6181ffd4530d3e415ce12c5">enorm&lt; sq_T &gt;</a>, <a class="el" href="classegiw.html#3d2c1f2ba0f9966781f1e0ae695e8a6f">egiw</a>, <a class="el" href="classegamma.html#8e10c0021b5dfdd9cb62c6959b5ef425">egamma</a>, <a class="el" href="classeuni.html#4a0e09392be17beaee120ba98fc038cd">euni</a>, <a class="el" href="classeEmp.html#83f9283f92b805508d896479dc1ccf12">eEmp</a>, <a class="el" href="classenorm.html#60b47544f6181ffd4530d3e415ce12c5">enorm&lt; ldmat &gt;</a>, <a class="el" href="classenorm.html#60b47544f6181ffd4530d3e415ce12c5">enorm&lt; chmat &gt;</a>, and <a class="el" href="classenorm.html#60b47544f6181ffd4530d3e415ce12c5">enorm&lt; fsqmat &gt;</a>.</p>
-
-<p>Referenced by <a class="el" href="libBM_8h-source.html#l00169">mpdf::samplecond()</a>, <a class="el" href="libPF_8cpp-source.html#l00035">PF::set_est()</a>, and <a class="el" href="libEF_8cpp-source.html#l00223">eEmp::set_parameters()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
+Product of independent epdfs. For dependent pdfs, use <a class="el" href="classmprod.html" title="Chain rule decomposition of epdf.">mprod</a>. <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/git/mixpp/bdm/stat/<a class="el" href="emix_8h-source.html">emix.h</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sat Aug 16 17:22:08 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 23 16:00:52 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
