1.Eigen

Eigen 是一个高性能的 C++ 数值线性代数库,广泛用于矩阵、向量运算及相关算法。

  1. 功能:

    • 支持矩阵和向量操作(如加法、乘法、转置、逆等)。

    • 提供线性代数运算(如特征值分解、奇异值分解、LU 分解等)。

    • 支持复数、稀疏矩阵和稠密矩阵。

    • 包含几何模块(用于变换、旋转等)。

  2. 特点:

    • 高效:基于模板,无需动态内存分配,编译时优化。

    • 轻量:头文件库,无需编译安装,直接包含即可使用。

    • 跨平台:支持多种编译器(如 GCC、MSVC)和操作系统。

    • 灵活:支持任意尺寸的矩阵和多种数据类型(如 float、double、int)。

官网:https://eigen.tuxfamily.org

官网有时候无法访问,走gitlab:https://gitlab.com/libeigen/eigen/-/releases

下载解压,把文件夹移到/usr/local/include/目录下:

sudo mv eigen-3.4.0/ /usr/local/include/

2. osqp

OSQP(Operator Splitting Quadratic Program)是一个高效的数值优化库,专为解决凸二次规划(Quadratic Programming, QP)问题设计,广泛应用于机器学习、控制系统、信号处理等领域。

官网:https://osqp.org/

Github:https://github.com/osqp/osqp.git

安装也是非常的简单,直接clone下来然后编译就行

git clone -b v1.0.0 https://github.com/osqp/osqp.git
# 下载1.0.0版本 下面就算标准的cmake编译流程
cd osqp && mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
sudo ldconfig
source ~/.bashrc

3. osqp-eigen

osqp 库的 C++接口,需要依赖 osqp 和 Eigen,记得先安装上面两个库

github:https://github.com/robotology/osqp-eigen.git

git clone -b v0.10.0 https://github.com/robotology/osqp-eigen.git
cd osqp-eigen && mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
sudo ldconfig
source ~/.bashrc

4. yaml-cpp

这个简单,直接命名行安装就行

sudo apt install libyaml-cpp-dev

5.matplotlib(也可以用QT来做)

这个直接pip安装就行

pip3 install matplotlib