1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
---|
2 | <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> |
---|
3 | <title>mixpp: bdm::eigamma Class Reference</title> |
---|
4 | <link href="doxygen.css" rel="stylesheet" type="text/css"> |
---|
5 | <link href="tabs.css" rel="stylesheet" type="text/css"> |
---|
6 | </head><body> |
---|
7 | <!-- Generated by Doxygen 1.5.6 --> |
---|
8 | <div class="navigation" id="top"> |
---|
9 | <div class="tabs"> |
---|
10 | <ul> |
---|
11 | <li><a href="index.html"><span>Main Page</span></a></li> |
---|
12 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
---|
13 | <li><a href="modules.html"><span>Modules</span></a></li> |
---|
14 | <li><a href="namespaces.html"><span>Namespaces</span></a></li> |
---|
15 | <li class="current"><a href="classes.html"><span>Classes</span></a></li> |
---|
16 | <li><a href="files.html"><span>Files</span></a></li> |
---|
17 | </ul> |
---|
18 | </div> |
---|
19 | <div class="tabs"> |
---|
20 | <ul> |
---|
21 | <li><a href="classes.html"><span>Alphabetical List</span></a></li> |
---|
22 | <li><a href="annotated.html"><span>Class List</span></a></li> |
---|
23 | <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> |
---|
24 | <li><a href="functions.html"><span>Class Members</span></a></li> |
---|
25 | </ul> |
---|
26 | </div> |
---|
27 | <div class="navpath"><a class="el" href="namespacebdm.html">bdm</a>::<a class="el" href="classbdm_1_1eigamma.html">eigamma</a> |
---|
28 | </div> |
---|
29 | </div> |
---|
30 | <div class="contents"> |
---|
31 | <h1>bdm::eigamma Class Reference</h1><!-- doxytag: class="bdm::eigamma" --><!-- doxytag: inherits="bdm::eEF" -->Inverse-Gamma posterior density. |
---|
32 | <a href="#_details">More...</a> |
---|
33 | <p> |
---|
34 | <code>#include <<a class="el" href="libEF_8h-source.html">libEF.h</a>></code> |
---|
35 | <p> |
---|
36 | <div class="dynheader"> |
---|
37 | Inheritance diagram for bdm::eigamma:</div> |
---|
38 | <div class="dynsection"> |
---|
39 | <p><center><img src="classbdm_1_1eigamma__inherit__graph.png" border="0" usemap="#bdm_1_1eigamma__inherit__map" alt="Inheritance graph"></center> |
---|
40 | <map name="bdm_1_1eigamma__inherit__map"> |
---|
41 | <area shape="rect" href="classbdm_1_1eEF.html" title="General conjugate exponential family posterior density." alt="" coords="25,161,105,188"><area shape="rect" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="23,84,108,111"><area shape="rect" href="classbdm_1_1bdmroot.html" title="Root class of BDM objects." alt="" coords="9,7,121,33"></map> |
---|
42 | <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> |
---|
43 | <div class="dynheader"> |
---|
44 | Collaboration diagram for bdm::eigamma:</div> |
---|
45 | <div class="dynsection"> |
---|
46 | <p><center><img src="classbdm_1_1eigamma__coll__graph.png" border="0" usemap="#bdm_1_1eigamma__coll__map" alt="Collaboration graph"></center> |
---|
47 | <map name="bdm_1_1eigamma__coll__map"> |
---|
48 | <area shape="rect" href="classbdm_1_1eEF.html" title="General conjugate exponential family posterior density." alt="" coords="16,263,96,289"><area shape="rect" href="classbdm_1_1egamma.html" title="Gamma posterior density." alt="" coords="77,343,192,369"><area shape="rect" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="13,183,99,209"><area shape="rect" href="classbdm_1_1bdmroot.html" title="Root class of BDM objects." alt="" coords="5,7,117,33"><area shape="rect" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables." alt="" coords="72,87,147,113"></map> |
---|
49 | <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> |
---|
50 | |
---|
51 | <p> |
---|
52 | <a href="classbdm_1_1eigamma-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> |
---|
53 | <tr><td></td></tr> |
---|
54 | <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> |
---|
55 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34a8d2cd08399c3449e2efcda6ea2f89"></a><!-- doxytag: member="bdm::eigamma::eigamma" ref="34a8d2cd08399c3449e2efcda6ea2f89" args="(const RV &rv)" --> |
---|
56 | </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#34a8d2cd08399c3449e2efcda6ea2f89">eigamma</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &<a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a>)</td></tr> |
---|
57 | |
---|
58 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br></td></tr> |
---|
59 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09e616c95f31acddf7dfef96d1c5d645"></a><!-- doxytag: member="bdm::eigamma::set_parameters" ref="09e616c95f31acddf7dfef96d1c5d645" args="(const vec &a, const vec &b)" --> |
---|
60 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#09e616c95f31acddf7dfef96d1c5d645">set_parameters</a> (const vec &a, const vec &b)</td></tr> |
---|
61 | |
---|
62 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets parameters. <br></td></tr> |
---|
63 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3aff7bf25ddac27731c60826fcfd878f"></a><!-- doxytag: member="bdm::eigamma::sample" ref="3aff7bf25ddac27731c60826fcfd878f" args="() const " --> |
---|
64 | vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#3aff7bf25ddac27731c60826fcfd878f">sample</a> () const </td></tr> |
---|
65 | |
---|
66 | <tr><td class="mdescLeft"> </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> |
---|
67 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e26c80c8e6708bfcf2e684958af6f91"></a><!-- doxytag: member="bdm::eigamma::evallog" ref="9e26c80c8e6708bfcf2e684958af6f91" args="(const vec &val) const " --> |
---|
68 | double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#9e26c80c8e6708bfcf2e684958af6f91">evallog</a> (const vec &val) const </td></tr> |
---|
69 | |
---|
70 | <tr><td class="mdescLeft"> </td><td class="mdescRight">TODO: is it used anywhere? <br></td></tr> |
---|
71 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a52ac6d523e2fe05642d1f50fe66aec2"></a><!-- doxytag: member="bdm::eigamma::lognc" ref="a52ac6d523e2fe05642d1f50fe66aec2" args="() const " --> |
---|
72 | double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#a52ac6d523e2fe05642d1f50fe66aec2">lognc</a> () const </td></tr> |
---|
73 | |
---|
74 | <tr><td class="mdescLeft"> </td><td class="mdescRight">logarithm of the normalizing constant, <img class="formulaInl" alt="$\mathcal{I}$" src="form_60.png"> <br></td></tr> |
---|
75 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57b9ee79ef5d2cea243bbe6b274a2abe"></a><!-- doxytag: member="bdm::eigamma::_param" ref="57b9ee79ef5d2cea243bbe6b274a2abe" args="(vec *&a, vec *&b)" --> |
---|
76 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#57b9ee79ef5d2cea243bbe6b274a2abe">_param</a> (vec *&a, vec *&b)</td></tr> |
---|
77 | |
---|
78 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns poiter to alpha and beta. Potentially dangerous: use with care! <br></td></tr> |
---|
79 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="46cecb295edbabd28120cb0f6f572bcb"></a><!-- doxytag: member="bdm::eigamma::mean" ref="46cecb295edbabd28120cb0f6f572bcb" args="() const " --> |
---|
80 | vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#46cecb295edbabd28120cb0f6f572bcb">mean</a> () const </td></tr> |
---|
81 | |
---|
82 | <tr><td class="mdescLeft"> </td><td class="mdescRight">return expected value <br></td></tr> |
---|
83 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c2c696f8c668e9f65392c9449f6a5133"></a><!-- doxytag: member="bdm::eigamma::variance" ref="c2c696f8c668e9f65392c9449f6a5133" args="() const " --> |
---|
84 | vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#c2c696f8c668e9f65392c9449f6a5133">variance</a> () const </td></tr> |
---|
85 | |
---|
86 | <tr><td class="mdescLeft"> </td><td class="mdescRight">return expected variance (not covariance!) <br></td></tr> |
---|
87 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="deef7d6273ba4d5a5cf0bbd91ec7277a"></a><!-- doxytag: member="bdm::eigamma::dupdate" ref="deef7d6273ba4d5a5cf0bbd91ec7277a" args="(mat &v)" --> |
---|
88 | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eEF.html#deef7d6273ba4d5a5cf0bbd91ec7277a">dupdate</a> (mat &v)</td></tr> |
---|
89 | |
---|
90 | <tr><td class="mdescLeft"> </td><td class="mdescRight">TODO decide if it is really needed. <br></td></tr> |
---|
91 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4135778ecd9ab774762936c82a097c6"></a><!-- doxytag: member="bdm::eigamma::evallog_nn" ref="a4135778ecd9ab774762936c82a097c6" args="(const vec &val) const " --> |
---|
92 | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eEF.html#a4135778ecd9ab774762936c82a097c6">evallog_nn</a> (const vec &val) const </td></tr> |
---|
93 | |
---|
94 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluate normalized log-probability. <br></td></tr> |
---|
95 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="79a7c8ea8c02e45d410bd1d7ffd72b41"></a><!-- doxytag: member="bdm::eigamma::evallog" ref="79a7c8ea8c02e45d410bd1d7ffd72b41" args="(const mat &Val) const " --> |
---|
96 | virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eEF.html#79a7c8ea8c02e45d410bd1d7ffd72b41">evallog</a> (const mat &Val) const </td></tr> |
---|
97 | |
---|
98 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Evaluate normalized log-probability for many samples. <br></td></tr> |
---|
99 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf38af29e8e3d650c640509a52396053"></a><!-- doxytag: member="bdm::eigamma::pow" ref="cf38af29e8e3d650c640509a52396053" args="(double p)" --> |
---|
100 | virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eEF.html#cf38af29e8e3d650c640509a52396053">pow</a> (double p)</td></tr> |
---|
101 | |
---|
102 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Power of the density, used e.g. to flatten the density. <br></td></tr> |
---|
103 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4cf45fd83cc7573ede9fe1215256058"></a><!-- doxytag: member="bdm::eigamma::sample_m" ref="b4cf45fd83cc7573ede9fe1215256058" args="(int N) const " --> |
---|
104 | virtual mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#b4cf45fd83cc7573ede9fe1215256058">sample_m</a> (int N) const </td></tr> |
---|
105 | |
---|
106 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns N samples from density <img class="formulaInl" alt="$epdf(rv)$" src="form_59.png">. <br></td></tr> |
---|
107 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34956d4dd3176eeb5937cf48a1546b62"></a><!-- doxytag: member="bdm::eigamma::evallog_m" ref="34956d4dd3176eeb5937cf48a1546b62" args="(const mat &Val) const " --> |
---|
108 | virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#34956d4dd3176eeb5937cf48a1546b62">evallog_m</a> (const mat &Val) const </td></tr> |
---|
109 | |
---|
110 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute log-probability of multiple values argument <code>val</code>. <br></td></tr> |
---|
111 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e584eac5579c1b6384947ecf66166c77"></a><!-- doxytag: member="bdm::eigamma::condition" ref="e584eac5579c1b6384947ecf66166c77" args="(const RV &rv) const " --> |
---|
112 | virtual <a class="el" href="classbdm_1_1mpdf.html">mpdf</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#e584eac5579c1b6384947ecf66166c77">condition</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &<a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a>) const </td></tr> |
---|
113 | |
---|
114 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Return conditional density on the given <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a>, the remaining rvs will be in conditioning. <br></td></tr> |
---|
115 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3fb2ece54f720b62ad325e61214fa0a1"></a><!-- doxytag: member="bdm::eigamma::marginal" ref="3fb2ece54f720b62ad325e61214fa0a1" args="(const RV &rv) const " --> |
---|
116 | virtual <a class="el" href="classbdm_1_1epdf.html">epdf</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#3fb2ece54f720b62ad325e61214fa0a1">marginal</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &<a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a>) const </td></tr> |
---|
117 | |
---|
118 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Return marginal density on the given <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a>, the remainig rvs are intergrated out. <br></td></tr> |
---|
119 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4ab378d5e004c3ff3e2d4e64f7bba21"></a><!-- doxytag: member="bdm::eigamma::_rv" ref="a4ab378d5e004c3ff3e2d4e64f7bba21" args="() const " --> |
---|
120 | const <a class="el" href="classbdm_1_1RV.html">RV</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#a4ab378d5e004c3ff3e2d4e64f7bba21">_rv</a> () const </td></tr> |
---|
121 | |
---|
122 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function, possibly dangerous! <br></td></tr> |
---|
123 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62e88cbce0ce77a8692f5e15d76e805f"></a><!-- doxytag: member="bdm::eigamma::_renewrv" ref="62e88cbce0ce77a8692f5e15d76e805f" args="(const RV &in_rv)" --> |
---|
124 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#62e88cbce0ce77a8692f5e15d76e805f">_renewrv</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &in_rv)</td></tr> |
---|
125 | |
---|
126 | <tr><td class="mdescLeft"> </td><td class="mdescRight">modifier function - useful when copying epdfs <br></td></tr> |
---|
127 | <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> |
---|
128 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e2c49c77e04a96a9e6a4a628318ceb73"></a><!-- doxytag: member="bdm::eigamma::alpha" ref="e2c49c77e04a96a9e6a4a628318ceb73" args="" --> |
---|
129 | vec * </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#e2c49c77e04a96a9e6a4a628318ceb73">alpha</a></td></tr> |
---|
130 | |
---|
131 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Vector <img class="formulaInl" alt="$\alpha$" src="form_15.png">. <br></td></tr> |
---|
132 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2c62f2e869d1304a4055f6a7ac59cde"></a><!-- doxytag: member="bdm::eigamma::beta" ref="b2c62f2e869d1304a4055f6a7ac59cde" args="" --> |
---|
133 | vec * </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#b2c62f2e869d1304a4055f6a7ac59cde">beta</a></td></tr> |
---|
134 | |
---|
135 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Vector <img class="formulaInl" alt="$\beta$" src="form_16.png"> (in fact it is 1/beta as used in definition of iG). <br></td></tr> |
---|
136 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e5c03201f073033a7db894fa15ddb96"></a><!-- doxytag: member="bdm::eigamma::eg" ref="3e5c03201f073033a7db894fa15ddb96" args="" --> |
---|
137 | <a class="el" href="classbdm_1_1egamma.html">egamma</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eigamma.html#3e5c03201f073033a7db894fa15ddb96">eg</a></td></tr> |
---|
138 | |
---|
139 | <tr><td class="mdescLeft"> </td><td class="mdescRight">internal <a class="el" href="classbdm_1_1egamma.html" title="Gamma posterior density.">egamma</a> <br></td></tr> |
---|
140 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62c5b8ff71d9ebe6cd58d3c342eb1dc8"></a><!-- doxytag: member="bdm::eigamma::rv" ref="62c5b8ff71d9ebe6cd58d3c342eb1dc8" args="" --> |
---|
141 | <a class="el" href="classbdm_1_1RV.html">RV</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a></td></tr> |
---|
142 | |
---|
143 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Identified of the random variable. <br></td></tr> |
---|
144 | </table> |
---|
145 | <hr><a name="_details"></a><h2>Detailed Description</h2> |
---|
146 | Inverse-Gamma posterior density. |
---|
147 | <p> |
---|
148 | Multivariate inverse-Gamma density as product of independent univariate densities. <p class="formulaDsp"> |
---|
149 | <img class="formulaDsp" alt="\[ f(x|\alpha,\beta) = \prod f(x_i|\alpha_i,\beta_i) \]" src="form_8.png"> |
---|
150 | <p> |
---|
151 | <p> |
---|
152 | Inverse Gamma can be converted to Gamma using <p class="formulaDsp"> |
---|
153 | <img class="formulaDsp" alt="\[ x\sim iG(a,b) => 1/x\sim G(a,1/b) \]" src="form_93.png"> |
---|
154 | <p> |
---|
155 | This relation is used in sampling. <hr>The documentation for this class was generated from the following file:<ul> |
---|
156 | <li><a class="el" href="libEF_8h-source.html">libEF.h</a></ul> |
---|
157 | </div> |
---|
158 | <hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 11 10:21:07 2009 for mixpp by |
---|
159 | <a href="http://www.doxygen.org/index.html"> |
---|
160 | <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> |
---|
161 | </body> |
---|
162 | </html> |
---|