<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.5.6">
  <compounddef id="indexpage" kind="page">
    <compoundname>index</compoundname>
    <title>Bayesian Decision-Making toolbox for C++</title>
    <detaileddescription>
<para><simplesect kind="version"><para>0.1</para></simplesect>
<simplesect kind="author"><para>Vaclav Smidl</para></simplesect>
BDM is a collection of methods for selected tasks of Bayesian decision-making, such as estimation, filtering and control.</para><sect1 id="index_1Approach">
<title>Approach</title>
<para>The toolbox is designed using two design criteria: <itemizedlist>
<listitem><para>relation to mathematics, </para></listitem>
<listitem><para>efficient evaluation, while the first one is more important than the latter.</para></listitem>
</itemizedlist>
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.</para></sect1>
<sect1 id="index_1Methods">
<title>Methods</title>
<para>At present we support the following methods: <itemizedlist>
<listitem><para>Estimation: <ref refid="classARX" kindref="compound">ARX</ref> models </para></listitem>
<listitem><para>Filtering: <ref refid="classKalman" kindref="compound">Kalman</ref> filtering, Extended Kalman filters (<ref refid="classEKF" kindref="compound">EKF</ref>), Particle filters (<ref refid="classPF" kindref="compound">PF</ref>), Marginalized Particle filters (<ref refid="classMPF" kindref="compound">MPF</ref>). </para></listitem>
<listitem><para>Desing: None.</para></listitem>
</itemizedlist>
</para></sect1>
<sect1 id="index_1Implementation">
<title>Implementation</title>
<para>BDM is build on top of <computeroutput>IT++</computeroutput> 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:</para><para><itemizedlist>
<listitem><para>computational speed comparable to built-in Matlab function, and surpassing interpreted Matlab in order of magnitudes, </para></listitem>
<listitem><para>native support for object-oriented programming, </para></listitem>
<listitem><para>support for templates which is often more appropriate than object-oriented programming, </para></listitem>
<listitem><para>cross-platform compatibility. </para></listitem>
</itemizedlist>
</para></sect1>
    </detaileddescription>
  </compounddef>
</doxygen>
