Index: doc/html/classeEF.html
===================================================================
--- doc/html/classeEF.html (revision 162)
+++ doc/html/classeEF.html (revision 171)
@@ -34,5 +34,5 @@
 <p><center><img src="classeEF__inherit__graph.png" border="0" usemap="#eEF__inherit__map" alt="Inheritance graph"></center>
 <map name="eEF__inherit__map">
-<area shape="rect" href="classegamma.html" title="Gamma posterior density." alt="" coords="5,161,77,185"><area shape="rect" href="classegiw.html" title="Gauss&#45;inverse&#45;Wishart density stored in LD form." alt="" coords="101,161,149,185"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="295,161,404,185"><area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="151,249,263,273"><area shape="rect" href="classenorm.html" title="enorm\&lt; chmat \&gt;" alt="" coords="463,249,580,273"><area shape="rect" href="classenorm.html" title="enorm\&lt; fsqmat \&gt;" alt="" coords="297,249,417,273"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="189,7,235,31"></map>
+<area shape="rect" href="classeDirich.html" title="Dirichlet posterior density." alt="" coords="5,167,69,193"><area shape="rect" href="classegamma.html" title="Gamma posterior density." alt="" coords="93,167,173,193"><area shape="rect" href="classegiw.html" title="Gauss&#45;inverse&#45;Wishart density stored in LD form." alt="" coords="197,167,245,193"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="392,167,515,193"><area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="233,263,364,289"><area shape="rect" href="classenorm.html" title="enorm\&lt; chmat \&gt;" alt="" coords="581,263,715,289"><area shape="rect" href="classenorm.html" title="enorm\&lt; fsqmat \&gt;" alt="" coords="396,263,535,289"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="259,7,307,33"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -56,15 +56,28 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">logarithm of the normalizing constant, <img class="formulaInl" alt="$\mathcal{I}$" src="form_60.png"> <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd88bc35550ec8fe9281d358216d0fcf"></a><!-- doxytag: member="eEF::tupdate" ref="fd88bc35550ec8fe9281d358216d0fcf" args="(double phi, mat &amp;vbar, double nubar)" -->
-virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html#fd88bc35550ec8fe9281d358216d0fcf">tupdate</a> (double phi, mat &amp;vbar, double nubar)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a89bef8996410609004fa019b5b48964"></a><!-- doxytag: member="eEF::dupdate" ref="a89bef8996410609004fa019b5b48964" args="(mat &amp;v)" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html#a89bef8996410609004fa019b5b48964">dupdate</a> (mat &amp;v)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">TODO decide if it is really needed. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5863718c3b2fb1496dece10c5b745d5c"></a><!-- doxytag: member="eEF::dupdate" ref="5863718c3b2fb1496dece10c5b745d5c" args="(mat &amp;v, double nu=1.0)" -->
-virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html#5863718c3b2fb1496dece10c5b745d5c">dupdate</a> (mat &amp;v, double nu=1.0)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="48cdd33d0e20d1a1aa45683c956bc61c"></a><!-- doxytag: member="eEF::evalpdflog_nn" ref="48cdd33d0e20d1a1aa45683c956bc61c" args="(const vec &amp;val) const " -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html#48cdd33d0e20d1a1aa45683c956bc61c">evalpdflog_nn</a> (const vec &amp;val) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">TODO decide if it is really needed. <br></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="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate normalized log-probability. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6466e8d4aa9dd64698ed288cbb1afc03"></a><!-- doxytag: member="eEF::evalpdflog" ref="6466e8d4aa9dd64698ed288cbb1afc03" args="(const vec &amp;val) const " -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html#6466e8d4aa9dd64698ed288cbb1afc03">evalpdflog</a> (const vec &amp;val) 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">Evaluate normalized log-probability. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c71faf4b2d153efda14bf1f87dca1507"></a><!-- doxytag: member="eEF::evalpdflog" ref="c71faf4b2d153efda14bf1f87dca1507" args="(const mat &amp;Val) const " -->
+virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html#c71faf4b2d153efda14bf1f87dca1507">evalpdflog</a> (const mat &amp;Val) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate normalized log-probability for many samples. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f8385dd1cc9740522dc373b1dc3cbf5"></a><!-- doxytag: member="eEF::pow" ref="4f8385dd1cc9740522dc373b1dc3cbf5" args="(double p)" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html#4f8385dd1cc9740522dc373b1dc3cbf5">pow</a> (double p)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power of the density, used e.g. to flatten the density. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8019654e494bf5e458f6fb947e11b262"></a><!-- doxytag: member="eEF::sample" ref="8019654e494bf5e458f6fb947e11b262" args="() const =0" -->
+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="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="54d7dd53a641b618771cd9bee135181f"></a><!-- doxytag: member="eEF::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>
@@ -75,16 +88,16 @@
 
 <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="eEF::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="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="eEF::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">return expected value <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4778ea61ef400813e47750e024e9fc2f"></a><!-- doxytag: member="eEF::_rv" ref="4778ea61ef400813e47750e024e9fc2f" args="()" -->
-<a class="el" href="classRV.html">RV</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#4778ea61ef400813e47750e024e9fc2f">_rv</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca0d32aabb4cbba347e0c37fe8607562"></a><!-- doxytag: member="eEF::_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">access function, possibly dangerous! <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fb94ce90d1ac7077d29f7d6a6c3e0a5"></a><!-- doxytag: member="eEF::_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">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="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="eEF::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
@@ -96,34 +109,8 @@
 General conjugate exponential family posterior density. 
 <p>
-More?... <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="8019654e494bf5e458f6fb947e11b262"></a><!-- doxytag: member="eEF::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#l00184">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#l00199">eEmp::set_parameters()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
+More?... <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/git/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 4 19:28:07 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 23 16:00:50 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>
