Awesome
<p align="center"> <img src="https://raw.githubusercontent.com/Simple-Robotics/proxsuite-nlp/main/doc/images/proxsuite-logo.png" width="700" alt="Proxsuite Logo" align="center"/> </p>proxsuite-nlp: a package for nonlinear optimization on manifolds
proxsuite-nlp is a C++ library, implementing a primal-dual augmented Lagrangian-type algorithm for nonlinear optimization on manifolds, as well as some modelling tools.
Installation
From Conda
From our channel
conda install -c simple-robotics proxsuite-nlp
From source with Pixi
To build proxsuite-nlp from source the easiest way is to use Pixi.
Pixi is a cross-platform package management tool for developers that
will install all required dependencies in .pixi
directory.
It's used by our CI agent so you have the guarantee to get the right dependencies.
Run the following command to install dependencies, configure, build and test the project:
pixi run test
The project will be built in the build
directory.
You can run pixi shell
and build the project with cmake
and ninja
manually.
From source
Clone this repo using
git clone [url-to-repo] --recursive
Create a build tree using CMake, build and install:
cd your/checkout/folder/
cmake -S . -B build
cmake --build build/ --config Release --target install
Dependencies
- CMake (with the JRL CMake modules)
- Eigen>=3.3.7
- fmtlib>=9.1.0, <11
- Boost>=1.71
- (optional) eigenpy>=3.2.0 | conda (Python bindings)
- (optional) pinocchio | conda
- a C++-14 compliant compiler
Python dependencies:
- numpy
- matplotlib
- typed-argument-parser
- meshcat-python
Notes
-
To build against a Conda environment, activate the environment and add
export CMAKE_PREFIX_PATH=$CONDA_PREFIX
before running CMake. -
To build the documentation:
cd build/ make doc
Credits
The following people have been involved in the development of proxsuite-nlp and are warmly thanked for their contributions:
- Wilson Jallet (LAAS-CNRS/Inria): main developer and manager of the project
- Sarah El Kazdadi (Inria): linear algebra modules developer
- Fabian Schramm (Inria): core developper
- Joris Vaillant (Inria): core developer
- Justin Carpentier (Inria): project coordinator
- Nicolas Mansard (LAAS-CNRS): project coordinator
Acknowledgments
The development of proxsuite-nlp is actively supported by the Willow team @INRIA and the Gepetto team @LAAS-CNRS.