Commit a17531cb authored by Jean-Baptiste Mouret's avatar Jean-Baptiste Mouret
Browse files

fix the include issue

parent cf18f2ca
......@@ -155,7 +155,7 @@ FULL_PATH_NAMES = YES
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH =
STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
......@@ -164,7 +164,7 @@ STRIP_FROM_PATH =
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
STRIP_FROM_INC_PATH =
STRIP_FROM_INC_PATH = ../src/limbo/
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
......
......@@ -6,7 +6,7 @@ Limbo follows a `policy-based design <https://en.wikipedia.org/wiki/Policy-base
For the parameters of the algorithms themselves (e.g. an epsilon), they are given by a template class (usually called Params in our code, and always the first argument). See :doc:`parameters` for details.
To avoid defining each component of an optimizer manually, Limbo provides sensible defaults. In addition, Limbo relies on `Boost.Parameter <http://www.boost.org/doc/libs/1_60_0/libs/parameter/doc/html/index.html>` to make it easy to customize a single part. This Boost library allows us to write classes that accept template argument (user-defined custom classes) by name. For instance, to customize the stopping criteria:
To avoid defining each component of an optimizer manually, Limbo provides sensible defaults. In addition, Limbo relies on `Boost.Parameter <http://www.boost.org/doc/libs/1_60_0/libs/parameter/doc/html/index.html>`_ to make it easy to customize a single part. This Boost library allows us to write classes that accept template argument (user-defined custom classes) by name. For instance, to customize the stopping criteria:
::
......
......@@ -13,8 +13,18 @@ namespace limbo {
};
}
namespace kernel {
/// @ingroup kernel
/// Exponential kernel (TODO: formula)
/**
@ingroup kernel
\rst
Exponential kernel with a :math:`\sigma` parameter that controls the width (see :cite:`brochu2010tutorial` p. 9).
.. math::
k(v_1, v_2) = \exp (-\frac{1}{\sigma^2} ||v_1 - v_2||^2)
Parameters:
- ``double sigma``
\endrst
*/
template <typename Params>
struct Exp {
Exp(size_t dim = 1) {}
......
......@@ -15,12 +15,19 @@ namespace limbo {
};
}
namespace kernel {
/// @ingroup kernel
/// Matern kernel (TODO: formula)
///
/// Parameters:
/// - ``double sigma``
/// - ``double l``
/**
@ingroup kernel
\rst
Matern kernel (TODO: formula)
Parameters:
- ``double sigma``
- ``double l``
\endrst
*/
template <typename Params>
struct MaternFiveHalfs {
MaternFiveHalfs(size_t dim = 1) {}
......
......@@ -15,12 +15,17 @@ namespace limbo {
};
}
namespace kernel {
/// @ingroup kernel
/// Matern 3/2 kernel (TODO: formula)
///
/// Parameters:
/// - ``double sigma``
/// - ``double l``
/**
@ingroup kernel
\rst
Matern 3/2 kernel (TODO: formula)
Parameters:
- ``double sigma``
- ``double l``
\endrst
*/
template <typename Params>
struct MaternThreeHalfs {
MaternThreeHalfs(size_t dim = 1) {}
......
......@@ -2,29 +2,21 @@
#define LIMBO_KERNEL_SQUARED_EXP_ARD_HPP
#include <Eigen/Core>
/*\rst
Squared exponential covariance function with automatic relevance detection (to be used with a likelihood optimizer)
Computes the squared exponential covariance like this:
.. math::
k_{SE}(x, y) := \alpha^2 \exp(-\frac{1}{2}(x-y)^T\Lambda^{-1}(x-y)),
with :math:`\Lambda = diag(l_1^2, \dots, l_n^2)` being the characteristic length scales and :math:`\alpha\f$` describing the variability of the latent function. The parameters :math:`l_1^2, \dots, l_n^2, \alpha` are expected in this order in the parameter array.
\endrst
*/
namespace limbo {
namespace kernel {
/**
@ingroup kernel
\rst
Squared exponential covariance function with automatic relevance detection (to be used with a likelihood optimizer)
Computes the squared exponential covariance like this:
.. math::
k_{SE}(x, y) := \alpha^2 \exp(-\frac{1}{2}(x-y)^T\Lambda^{-1}(x-y)),
k_{SE}(x, y) = \alpha^2 \exp(-\frac{1}{2}(x-y)^T\Lambda^{-1}(x-y)),
with :math:`\Lambda = diag(l_1^2, \dots, l_n^2)` being the characteristic length scales and :math:`\alpha` describing the variability of the latent function. The parameters :math:`l_1^2, \dots, l_n^2, \alpha` are expected in this order in the parameter array.
\endrst
*/
template <typename Params>
......
......@@ -70,7 +70,7 @@ namespace limbo {
/**
\rst
return :math:`mu`, :math:`sigma` (unormalized). If there is no sample, return the value according to the mean function. Using this method instead of separate calls to mu() and sigma() is more efficient because some computations are shared between mu() and sigma().
return :math:`\mu`, :math:`\sigma` (unormalized). If there is no sample, return the value according to the mean function. Using this method instead of separate calls to mu() and sigma() is more efficient because some computations are shared between mu() and sigma().
\endrst
*/
std::tuple<Eigen::VectorXd, double> query(const Eigen::VectorXd& v) const
......@@ -89,7 +89,7 @@ namespace limbo {
/**
\rst
return :math:`mu` (unormalized). If there is no sample, return the value according to the mean function.
return :math:`\mu` (unormalized). If there is no sample, return the value according to the mean function.
\endrst
*/
Eigen::VectorXd mu(const Eigen::VectorXd& v) const
......@@ -101,7 +101,7 @@ namespace limbo {
/**
\rst
return :math:`sigma` (unormalized). If there is no sample, return the value according to the mean function.
return :math:`\sigma` (unormalized). If there is no sample, return the value according to the mean function.
\endrst
*/
double sigma(const Eigen::VectorXd& v) const
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment