Files
mlpack/doc/html/sparse__coding_8hpp_source.html
T

147 lines
42 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>mlpack: src/mlpack/methods/sparse_coding/sparse_coding.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra-stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mlpack
&#160;<span id="projectnumber">master</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_44a936ef30fc126706c6284a2fc0c990.html">mlpack</a></li><li class="navelem"><a class="el" href="dir_3cfbf900288ec2fe8dd2c2c8482f216e.html">methods</a></li><li class="navelem"><a class="el" href="dir_00f0bd3cdd3257def9baafb81b12c5d0.html">sparse_coding</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">sparse_coding.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="sparse__coding_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#ifndef MLPACK_METHODS_SPARSE_CODING_SPARSE_CODING_HPP</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#define MLPACK_METHODS_SPARSE_CODING_SPARSE_CODING_HPP</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="prereqs_8hpp.html">mlpack/prereqs.hpp</a>&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="lars_8hpp.html">mlpack/methods/lars/lars.hpp</a>&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// Include our three simple dictionary initializers.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="nothing__initializer_8hpp.html">nothing_initializer.hpp</a>&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="data__dependent__random__initializer_8hpp.html">data_dependent_random_initializer.hpp</a>&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="random__initializer_8hpp.html">random_initializer.hpp</a>&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacemlpack.html">mlpack</a> {</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">namespace </span>sparse_coding {</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html"> 115</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html">SparseCoding</a></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DictionaryInitializer = DataDependentRandomInitializer&gt;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6a00e8188578c374b2d6036d64bb64dd">SparseCoding</a>(<span class="keyword">const</span> arma::mat&amp; data,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9b3bf2d390d108c626f7ea7368328b0">atoms</a>,</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab4711495fe1881bc4f61a3252b660166">lambda1</a>,</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a8b2505fdc424c72f9925060631f9d2cc">lambda2</a> = 0,</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ac2e86cbe516dc6c8a66541853e7c8e2f">maxIterations</a> = 0,</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6b04b57a6c0c93afd1f166549bed6d65">objTolerance</a> = 0.01,</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ad9474bd8956404954370c4fa75fb883a">newtonTolerance</a> = 1e-6,</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keyword">const</span> DictionaryInitializer&amp; initializer =</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; DictionaryInitializer());</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6a00e8188578c374b2d6036d64bb64dd">SparseCoding</a>(<span class="keyword">const</span> <span class="keywordtype">size_t</span> atoms = 0,</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> lambda1 = 0,</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a8b2505fdc424c72f9925060631f9d2cc">lambda2</a> = 0,</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ac2e86cbe516dc6c8a66541853e7c8e2f">maxIterations</a> = 0,</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6b04b57a6c0c93afd1f166549bed6d65">objTolerance</a> = 0.01,</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ad9474bd8956404954370c4fa75fb883a">newtonTolerance</a> = 1e-6);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> DictionaryInitializer = DataDependentRandomInitializer&gt;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a523ba5f1facb8ae4cafd734c33a1d230">Train</a>(<span class="keyword">const</span> arma::mat&amp; data,</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">const</span> DictionaryInitializer&amp; initializer =</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; DictionaryInitializer());</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a1a83718fbf6b44326e9309775ec5bd93">Encode</a>(<span class="keyword">const</span> arma::mat&amp; data, arma::mat&amp; codes);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a74bd6bdf548cdf4cafdc2dfd9bf088d6">OptimizeDictionary</a>(<span class="keyword">const</span> arma::mat&amp; data,</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keyword">const</span> arma::mat&amp; codes,</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keyword">const</span> arma::uvec&amp; adjacencies);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a893395402ca5da626cd262a41a28848c">ProjectDictionary</a>();</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a018fe8a03cd5788ae42c32c10fc0bb00">Objective</a>(<span class="keyword">const</span> arma::mat&amp; data, <span class="keyword">const</span> arma::mat&amp; codes) <span class="keyword">const</span>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9f8ca70ece9948605d25fb2e9ee76d5"> 221</a></span>&#160; <span class="keyword">const</span> arma::mat&amp; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9f8ca70ece9948605d25fb2e9ee76d5">Dictionary</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a930b87c1b123d6ffdbc244d68790d098">dictionary</a>; }</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab069f805f1db24a672b6f38a6d9cf755"> 223</a></span>&#160; arma::mat&amp; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab069f805f1db24a672b6f38a6d9cf755">Dictionary</a>() { <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a930b87c1b123d6ffdbc244d68790d098">dictionary</a>; }</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a953c6a16d66622fffb3be8a703e22554"> 226</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a953c6a16d66622fffb3be8a703e22554">Atoms</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9b3bf2d390d108c626f7ea7368328b0">atoms</a>; }</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a777e19b014ebeb2e9f0a033afe684d3c"> 228</a></span>&#160; <span class="keywordtype">size_t</span>&amp; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a777e19b014ebeb2e9f0a033afe684d3c">Atoms</a>() { <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9b3bf2d390d108c626f7ea7368328b0">atoms</a>; }</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a47d91644f8f0cc08961c3caf43cd81a9"> 231</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a47d91644f8f0cc08961c3caf43cd81a9">Lambda1</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab4711495fe1881bc4f61a3252b660166">lambda1</a>; }</div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a431d1dc6ec0c629c0168eb44d76e59c1"> 233</a></span>&#160; <span class="keywordtype">double</span>&amp; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a431d1dc6ec0c629c0168eb44d76e59c1">Lambda1</a>() { <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab4711495fe1881bc4f61a3252b660166">lambda1</a>; }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a54f409dd73bb45d60b769e2b759eb3c4"> 236</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a54f409dd73bb45d60b769e2b759eb3c4">Lambda2</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a8b2505fdc424c72f9925060631f9d2cc">lambda2</a>; }</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a90a77a7f18df81b2332ab55492878e61"> 238</a></span>&#160; <span class="keywordtype">double</span>&amp; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a90a77a7f18df81b2332ab55492878e61">Lambda2</a>() { <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a8b2505fdc424c72f9925060631f9d2cc">lambda2</a>; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#afbb6a1afa961fe55837defb7d020d693"> 241</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#afbb6a1afa961fe55837defb7d020d693">MaxIterations</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ac2e86cbe516dc6c8a66541853e7c8e2f">maxIterations</a>; }</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a309ec92833b38a75c7a1e83927166ecb"> 243</a></span>&#160; <span class="keywordtype">size_t</span>&amp; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a309ec92833b38a75c7a1e83927166ecb">MaxIterations</a>() { <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ac2e86cbe516dc6c8a66541853e7c8e2f">maxIterations</a>; }</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a9118842bfcd0c5f760aa1e139a2352bc"> 246</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a9118842bfcd0c5f760aa1e139a2352bc">ObjTolerance</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6b04b57a6c0c93afd1f166549bed6d65">objTolerance</a>; }</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a77437cec620b2d34d81fa17acf029b04"> 248</a></span>&#160; <span class="keywordtype">double</span>&amp; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a77437cec620b2d34d81fa17acf029b04">ObjTolerance</a>() { <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6b04b57a6c0c93afd1f166549bed6d65">objTolerance</a>; }</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a982c9d648fb8eed1258110e2709b753e"> 251</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a982c9d648fb8eed1258110e2709b753e">NewtonTolerance</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ad9474bd8956404954370c4fa75fb883a">newtonTolerance</a>; }</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a1bf33eeef675654898572456d67ce572"> 253</a></span>&#160; <span class="keywordtype">double</span>&amp; <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a1bf33eeef675654898572456d67ce572">NewtonTolerance</a>() { <span class="keywordflow">return</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ad9474bd8956404954370c4fa75fb883a">newtonTolerance</a>; }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Archive&gt;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a1d54b3fc3ff871f2febfe576ce146fb7">Serialize</a>(Archive&amp; ar, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="comment">/* version */</span>);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9b3bf2d390d108c626f7ea7368328b0"> 261</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9b3bf2d390d108c626f7ea7368328b0">atoms</a>;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a930b87c1b123d6ffdbc244d68790d098"> 264</a></span>&#160; arma::mat <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a930b87c1b123d6ffdbc244d68790d098">dictionary</a>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab4711495fe1881bc4f61a3252b660166"> 267</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab4711495fe1881bc4f61a3252b660166">lambda1</a>;</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a8b2505fdc424c72f9925060631f9d2cc"> 269</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a8b2505fdc424c72f9925060631f9d2cc">lambda2</a>;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ac2e86cbe516dc6c8a66541853e7c8e2f"> 272</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ac2e86cbe516dc6c8a66541853e7c8e2f">maxIterations</a>;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6b04b57a6c0c93afd1f166549bed6d65"> 274</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6b04b57a6c0c93afd1f166549bed6d65">objTolerance</a>;</div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ad9474bd8956404954370c4fa75fb883a"> 276</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ad9474bd8956404954370c4fa75fb883a">newtonTolerance</a>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;};</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;} <span class="comment">// namespace sparse_coding</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;} <span class="comment">// namespace mlpack</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="comment">// Include implementation.</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="preprocessor">#include &quot;sparse_coding_impl.hpp&quot;</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a953c6a16d66622fffb3be8a703e22554"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a953c6a16d66622fffb3be8a703e22554">mlpack::sparse_coding::SparseCoding::Atoms</a></div><div class="ttdeci">size_t Atoms() const </div><div class="ttdoc">Access the number of atoms. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00226">sparse_coding.hpp:226</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_afbb6a1afa961fe55837defb7d020d693"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#afbb6a1afa961fe55837defb7d020d693">mlpack::sparse_coding::SparseCoding::MaxIterations</a></div><div class="ttdeci">size_t MaxIterations() const </div><div class="ttdoc">Get the maximum number of iterations. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00241">sparse_coding.hpp:241</a></div></div>
<div class="ttc" id="namespacemlpack_html"><div class="ttname"><a href="namespacemlpack.html">mlpack</a></div><div class="ttdoc">Linear algebra utility functions, generally performed on matrices or vectors. </div><div class="ttdef"><b>Definition:</b> <a href="binarize_8hpp_source.html#l00018">binarize.hpp:18</a></div></div>
<div class="ttc" id="prereqs_8hpp_html"><div class="ttname"><a href="prereqs_8hpp.html">prereqs.hpp</a></div><div class="ttdoc">The core includes that mlpack expects; standard C++ includes and Armadillo. </div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a893395402ca5da626cd262a41a28848c"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a893395402ca5da626cd262a41a28848c">mlpack::sparse_coding::SparseCoding::ProjectDictionary</a></div><div class="ttdeci">void ProjectDictionary()</div><div class="ttdoc">Project each atom of the dictionary back onto the unit ball, if necessary. </div></div>
<div class="ttc" id="data__dependent__random__initializer_8hpp_html"><div class="ttname"><a href="data__dependent__random__initializer_8hpp.html">data_dependent_random_initializer.hpp</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a47d91644f8f0cc08961c3caf43cd81a9"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a47d91644f8f0cc08961c3caf43cd81a9">mlpack::sparse_coding::SparseCoding::Lambda1</a></div><div class="ttdeci">double Lambda1() const </div><div class="ttdoc">Access the L1 regularization term. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00231">sparse_coding.hpp:231</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_ad9474bd8956404954370c4fa75fb883a"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ad9474bd8956404954370c4fa75fb883a">mlpack::sparse_coding::SparseCoding::newtonTolerance</a></div><div class="ttdeci">double newtonTolerance</div><div class="ttdoc">Tolerance for Newton&amp;#39;s method (dictionary training). </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00276">sparse_coding.hpp:276</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_af9f8ca70ece9948605d25fb2e9ee76d5"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9f8ca70ece9948605d25fb2e9ee76d5">mlpack::sparse_coding::SparseCoding::Dictionary</a></div><div class="ttdeci">const arma::mat &amp; Dictionary() const </div><div class="ttdoc">Access the dictionary. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00221">sparse_coding.hpp:221</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a431d1dc6ec0c629c0168eb44d76e59c1"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a431d1dc6ec0c629c0168eb44d76e59c1">mlpack::sparse_coding::SparseCoding::Lambda1</a></div><div class="ttdeci">double &amp; Lambda1()</div><div class="ttdoc">Modify the L1 regularization term. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00233">sparse_coding.hpp:233</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_ab069f805f1db24a672b6f38a6d9cf755"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab069f805f1db24a672b6f38a6d9cf755">mlpack::sparse_coding::SparseCoding::Dictionary</a></div><div class="ttdeci">arma::mat &amp; Dictionary()</div><div class="ttdoc">Modify the dictionary. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00223">sparse_coding.hpp:223</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a54f409dd73bb45d60b769e2b759eb3c4"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a54f409dd73bb45d60b769e2b759eb3c4">mlpack::sparse_coding::SparseCoding::Lambda2</a></div><div class="ttdeci">double Lambda2() const </div><div class="ttdoc">Access the L2 regularization term. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00236">sparse_coding.hpp:236</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a6a00e8188578c374b2d6036d64bb64dd"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6a00e8188578c374b2d6036d64bb64dd">mlpack::sparse_coding::SparseCoding::SparseCoding</a></div><div class="ttdeci">SparseCoding(const arma::mat &amp;data, const size_t atoms, const double lambda1, const double lambda2=0, const size_t maxIterations=0, const double objTolerance=0.01, const double newtonTolerance=1e-6, const DictionaryInitializer &amp;initializer=DictionaryInitializer())</div><div class="ttdoc">Set the parameters to SparseCoding. </div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a9118842bfcd0c5f760aa1e139a2352bc"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a9118842bfcd0c5f760aa1e139a2352bc">mlpack::sparse_coding::SparseCoding::ObjTolerance</a></div><div class="ttdeci">double ObjTolerance() const </div><div class="ttdoc">Get the objective tolerance. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00246">sparse_coding.hpp:246</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a6b04b57a6c0c93afd1f166549bed6d65"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a6b04b57a6c0c93afd1f166549bed6d65">mlpack::sparse_coding::SparseCoding::objTolerance</a></div><div class="ttdeci">double objTolerance</div><div class="ttdoc">Tolerance for main objective. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00274">sparse_coding.hpp:274</a></div></div>
<div class="ttc" id="lars_8hpp_html"><div class="ttname"><a href="lars_8hpp.html">lars.hpp</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_af9b3bf2d390d108c626f7ea7368328b0"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#af9b3bf2d390d108c626f7ea7368328b0">mlpack::sparse_coding::SparseCoding::atoms</a></div><div class="ttdeci">size_t atoms</div><div class="ttdoc">Number of atoms. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00261">sparse_coding.hpp:261</a></div></div>
<div class="ttc" id="random__initializer_8hpp_html"><div class="ttname"><a href="random__initializer_8hpp.html">random_initializer.hpp</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a523ba5f1facb8ae4cafd734c33a1d230"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a523ba5f1facb8ae4cafd734c33a1d230">mlpack::sparse_coding::SparseCoding::Train</a></div><div class="ttdeci">void Train(const arma::mat &amp;data, const DictionaryInitializer &amp;initializer=DictionaryInitializer())</div><div class="ttdoc">Train the sparse coding model on the given dataset. </div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a8b2505fdc424c72f9925060631f9d2cc"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a8b2505fdc424c72f9925060631f9d2cc">mlpack::sparse_coding::SparseCoding::lambda2</a></div><div class="ttdeci">double lambda2</div><div class="ttdoc">l2 regularization term. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00269">sparse_coding.hpp:269</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html">mlpack::sparse_coding::SparseCoding</a></div><div class="ttdoc">An implementation of Sparse Coding with Dictionary Learning that achieves sparsity via an l1-norm reg...</div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00115">sparse_coding.hpp:115</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a930b87c1b123d6ffdbc244d68790d098"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a930b87c1b123d6ffdbc244d68790d098">mlpack::sparse_coding::SparseCoding::dictionary</a></div><div class="ttdeci">arma::mat dictionary</div><div class="ttdoc">Dictionary (columns are atoms). </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00264">sparse_coding.hpp:264</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a77437cec620b2d34d81fa17acf029b04"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a77437cec620b2d34d81fa17acf029b04">mlpack::sparse_coding::SparseCoding::ObjTolerance</a></div><div class="ttdeci">double &amp; ObjTolerance()</div><div class="ttdoc">Modify the objective tolerance. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00248">sparse_coding.hpp:248</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a1d54b3fc3ff871f2febfe576ce146fb7"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a1d54b3fc3ff871f2febfe576ce146fb7">mlpack::sparse_coding::SparseCoding::Serialize</a></div><div class="ttdeci">void Serialize(Archive &amp;ar, const unsigned int)</div><div class="ttdoc">Serialize the sparse coding model. </div></div>
<div class="ttc" id="nothing__initializer_8hpp_html"><div class="ttname"><a href="nothing__initializer_8hpp.html">nothing_initializer.hpp</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a777e19b014ebeb2e9f0a033afe684d3c"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a777e19b014ebeb2e9f0a033afe684d3c">mlpack::sparse_coding::SparseCoding::Atoms</a></div><div class="ttdeci">size_t &amp; Atoms()</div><div class="ttdoc">Modify the number of atoms. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00228">sparse_coding.hpp:228</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_ab4711495fe1881bc4f61a3252b660166"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ab4711495fe1881bc4f61a3252b660166">mlpack::sparse_coding::SparseCoding::lambda1</a></div><div class="ttdeci">double lambda1</div><div class="ttdoc">l1 regularization term. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00267">sparse_coding.hpp:267</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a1bf33eeef675654898572456d67ce572"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a1bf33eeef675654898572456d67ce572">mlpack::sparse_coding::SparseCoding::NewtonTolerance</a></div><div class="ttdeci">double &amp; NewtonTolerance()</div><div class="ttdoc">Modify the tolerance for Newton&amp;#39;s method (dictionary optimization step). </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00253">sparse_coding.hpp:253</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a309ec92833b38a75c7a1e83927166ecb"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a309ec92833b38a75c7a1e83927166ecb">mlpack::sparse_coding::SparseCoding::MaxIterations</a></div><div class="ttdeci">size_t &amp; MaxIterations()</div><div class="ttdoc">Modify the maximum number of iterations. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00243">sparse_coding.hpp:243</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a982c9d648fb8eed1258110e2709b753e"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a982c9d648fb8eed1258110e2709b753e">mlpack::sparse_coding::SparseCoding::NewtonTolerance</a></div><div class="ttdeci">double NewtonTolerance() const </div><div class="ttdoc">Get the tolerance for Newton&amp;#39;s method (dictionary optimization step). </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00251">sparse_coding.hpp:251</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a018fe8a03cd5788ae42c32c10fc0bb00"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a018fe8a03cd5788ae42c32c10fc0bb00">mlpack::sparse_coding::SparseCoding::Objective</a></div><div class="ttdeci">double Objective(const arma::mat &amp;data, const arma::mat &amp;codes) const </div><div class="ttdoc">Compute the objective function. </div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a90a77a7f18df81b2332ab55492878e61"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a90a77a7f18df81b2332ab55492878e61">mlpack::sparse_coding::SparseCoding::Lambda2</a></div><div class="ttdeci">double &amp; Lambda2()</div><div class="ttdoc">Modify the L2 regularization term. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00238">sparse_coding.hpp:238</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a74bd6bdf548cdf4cafdc2dfd9bf088d6"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a74bd6bdf548cdf4cafdc2dfd9bf088d6">mlpack::sparse_coding::SparseCoding::OptimizeDictionary</a></div><div class="ttdeci">double OptimizeDictionary(const arma::mat &amp;data, const arma::mat &amp;codes, const arma::uvec &amp;adjacencies)</div><div class="ttdoc">Learn dictionary via Newton method based on Lagrange dual. </div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_ac2e86cbe516dc6c8a66541853e7c8e2f"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#ac2e86cbe516dc6c8a66541853e7c8e2f">mlpack::sparse_coding::SparseCoding::maxIterations</a></div><div class="ttdeci">size_t maxIterations</div><div class="ttdoc">Maximum number of iterations during training. </div><div class="ttdef"><b>Definition:</b> <a href="sparse__coding_8hpp_source.html#l00272">sparse_coding.hpp:272</a></div></div>
<div class="ttc" id="classmlpack_1_1sparse__coding_1_1SparseCoding_html_a1a83718fbf6b44326e9309775ec5bd93"><div class="ttname"><a href="classmlpack_1_1sparse__coding_1_1SparseCoding.html#a1a83718fbf6b44326e9309775ec5bd93">mlpack::sparse_coding::SparseCoding::Encode</a></div><div class="ttdeci">void Encode(const arma::mat &amp;data, arma::mat &amp;codes)</div><div class="ttdoc">Sparse code each point in the given dataset via LARS, using the current dictionary and store the enco...</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
<script type="text/javascript">
var x = document.getElementsByClassName("formulaDsp");
var i;
for (i = 0; i < x.length; i++)
{
x[i].width /= 4;
}
</script>
</html>