scs-eigen
Simple C++ wrapper for scs
library.
Dependencies
The project depends only on scs
and Eigen3. Please install scs
using the cmake-build
system provided in this repository.
Usage
- Clone the repository
git clone https://github.com/GiulioRomualdi/scs-eigen
Build it
cd scs-eigen mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX:PATH=<custom-folder> ../ make make install
- Add the following environmental variable
ScsEigen_DIR=/path/where/you/installed/
How to include the library in your CMake project
scs-eigen provides native CMake
support which allows the library to be easily used in CMake
projects. scs-eigen exports a CMake target called ScsEigen::ScsEigen
which can be imported using the find_package
CMake command and used by calling target_link_libraries
as in the following example:
cmake_minimum_required(VERSION 3.0) project(myproject) find_package(ScsEigen REQUIRED) add_executable(example example.cpp) target_link_libraries(example ScsEigen::ScsEigen)
In your code
#include <ScsEigen/ScsEigen.h> ... auto solver = ScsEigen::Solver(); ...
How to use the library
scs-eigen introduces the ScsEigen::
class that can be used to easily design a convex optimization problem.
ScsEigen::
can be seen as an helper that allows you to easily add convex costraints and convex costs. Once the cost and the constraints have been added to ScsEigen::
, ScsEigen::
will perform the so called conic-embedding to convert them in a form compatible with scs
.
We provide a list of self-contained examples that can be used as a reference to build an optimization problem:
License
Materials in this repository are distributed under the following license:
All software is licensed under the MIT License. See LICENSE file for details.