User manual

# Introduction

RobOptim Core defines a C++ common interface to several non linear problem solvers.

The package is composed of a base class called optimization::GenericSolver and several sub-classes which transform the problem in order to pass it to an external solver.

The interface relies heavily on Boost for:

- advanced typing (Boost.Optional and Boost.Variant),
- and meta-programming (Boost.StaticAssert, Boost.TypeTraits, Boost.MPL).

Matrix manipulation is handled by default by the Eigen matrix.

New users might want to check out the idea behind Boost.Optional and Boost.Variant are these types are present in the public interface.

Users do not have to know about meta-programming to use this library.

To get basic knowledge about the library, you might want to check out the Quick start page.

Table of content:

- Quick start
- Frequently Asked Questions (FAQ)
- Design choices and libraries' internals
- How to link the library with a new solver?

# Reporting bugs

As this package is still in its early development steps, bugs report and enhancement proposals are highly welcomed.

To report a bug, please go this package's web page.

To discuss about this package, please use roboptim@googlegroups.com.