Overview

This free software consist of two complementary libraries, the first being fairly generic while the other targets more specific problems. Both are open-source and can be downloaded from the BitBucket repository.

bogus

is a template C++ 98 header-only sparse block matrix library. It allows to express in a concise way algebraic operations on sparse matrices whose elements can be a variety of block types, such as Eigen dense or sparse matrices.

So-bogus

is a library that uses and completes bogus to solve systems with second order cone constraints, such as Coulomb friction problems.

Main features

bogus

So-bogus

License

bogus is released under the terms of the Mozilla Public License v2.0.

So-bogus is released under the terms of the GNU General Public License version 2 or, at your option, any later version.

For more information, see LICENCE.md.

Documentation

bogus includes documentation in the doxygen format, along with usage samples. Run doxygen from the doc/doxygen folder, or browse it online.

Requirements

Apart from a C++98 compiler, the only requirement is Eigen.

bogus has been successfully tested on a variety of Linux distributions with gcc 4.5+ and clang 3.5+, and on Mac OSX 10.8+ with clang 3.2+. Visual Studio 2012 ( and maybe earlier ) should also be able to compile and run the test suite, though no particular attention is given to this platform.

For more information, see INSTALL.md.

About

bogus and So-bogus are Copyright 2013 Gilles Daviet gdaviet@gmail.com.

So-bogus implements some algorithms initially developed within the BiPop team at Inria Rhônes-Alpes. Its name is derived from the main use case of the library, a Block-oriented Gauss-Seidel solver for Second Order cone problems.