root/library/doc/html/main.html @ 661

Revision 661, 4.9 kB (checked in by smidl, 15 years ago)

doc

Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>mixpp: Bayesian Decision-Making toolbox for C++</title>
6<link href="tabs.css" rel="stylesheet" type="text/css"/>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head>
9<body>
10<!-- Generated by Doxygen 1.6.1 -->
11<script type="text/javascript">
12<!--
13function changeDisplayState (e){
14  var num=this.id.replace(/[^[0-9]/g,'');
15  var button=this.firstChild;
16  var sectionDiv=document.getElementById('dynsection'+num);
17  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
18    sectionDiv.style.display='block';
19    button.src='open.gif';
20  }else{
21    sectionDiv.style.display='none';
22    button.src='closed.gif';
23  }
24}
25function initDynSections(){
26  var divs=document.getElementsByTagName('div');
27  var sectionCounter=1;
28  for(var i=0;i<divs.length-1;i++){
29    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
30      var header=divs[i];
31      var section=divs[i+1];
32      var button=header.firstChild;
33      if (button!='IMG'){
34        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
35        button=document.createElement('img');
36        divs[i].insertBefore(button,divs[i].firstChild);
37      }
38      header.style.cursor='pointer';
39      header.onclick=changeDisplayState;
40      header.id='dynheader'+sectionCounter;
41      button.src='closed.gif';
42      section.id='dynsection'+sectionCounter;
43      section.style.display='none';
44      section.style.marginLeft='14px';
45      sectionCounter++;
46    }
47  }
48}
49window.onload = initDynSections;
50-->
51</script>
52<div class="navigation" id="top">
53  <div class="tabs">
54    <ul>
55      <li class="current"><a href="main.html"><span>Main&nbsp;Page</span></a></li>
56      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
57      <li><a href="annotated.html"><span>Classes</span></a></li>
58      <li><a href="files.html"><span>Files</span></a></li>
59    </ul>
60  </div>
61</div>
62<div class="contents">
63<h1>Bayesian Decision-Making toolbox for C++</h1><h3>1 </h3><dl class="version"><dt><b>Version:</b></dt><dd>0.1</dd></dl>
64<dl class="author"><dt><b>Author:</b></dt><dd>Vaclav Smidl</dd></dl>
65<p>BDM is a collection of methods for selected tasks of Bayesian decision-making, such as estimation, filtering and control.</p>
66<h2><a class="anchor" id="fea">
67Features</a></h2>
68<p>At present the following algorithms are implemented:</p>
69<ul>
70<li><b>Bayesian</b> <b>filtering</b> : Kalman filter, EKF, patricle filter (PF),<ul>
71<li>these can be combined mutualy together in mode demanding schemes, see marginalized particle filter MPF</li>
72</ul>
73</li>
74</ul>
75<ul>
76<li><b>Classification</b> using mixtures of exponential famiuly models (MixEF),</li>
77<li><b>Density</b> <b>estimation</b> : using mixtures (MixEF), density composition (merger)</li>
78</ul>
79<h2><a class="anchor" id="down">
80Download and Use</a></h2>
81<p>The library is available under GPL, see installation instructions on page <a class="el" href="install.html">BDM Use - Installation</a></p>
82<p>Precompiled Mex files for use within Matlab are available <a class="el" href="mexfiles.html">How to write and use mex files for Matlab</a></p>
83<h2><a class="anchor" id="app">
84Design Approach</a></h2>
85<p>The toolbox is designed using <b>object-oriented</b> approach with two design criteria: </p>
86<ul>
87<li>relation to mathematics, </li>
88<li>efficient evaluation, while the first one is more important than the latter.</li>
89</ul>
90<p>Hence, each mathematical object such as probability density is represented by one software object. The resulting algorithms are then implemented as operations on these objects. In cases when more efficient solution can be achived when this structure is not respected, a parallel implementation is created and clearly marked as specific.</p>
91<p>OpenMP is used to achive efficient implementation on parallel architectures.</p>
92<h2><a class="anchor" id="impl">
93Implementation</a></h2>
94<p>BDM is build on top of <code>IT++</code> which wraps numerically efficient operations of linear algebra into easy to use C++ classes. Thanks to this excellent library, writing of numerical algorithms is as easy as in Matlab but we gain significant advantages:</p>
95<ul>
96<li>computational speed comparable to built-in Matlab function, and surpassing interpreted Matlab in order of magnitudes, </li>
97<li>native support for object-oriented programming, </li>
98<li>support for templates which is often more appropriate than object-oriented programming, </li>
99<li>cross-platform compatibility. </li>
100</ul>
101</div>
102<hr size="1"/><address style="text-align: right;"><small>Generated on Thu Oct 15 00:07:48 2009 for mixpp by&nbsp;
103<a href="http://www.doxygen.org/index.html">
104<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
105</body>
106</html>
Note: See TracBrowser for help on using the browser.