由于笔者在学习工作中需要大量用到c++线性运算库进行科学计算,在配置环境的摸索过程中趟了不少坑,所以写下常用工具以及配置心得,以备日后查阅,也方便新来者快速上手。
C++线性运算库
c++中可用的线性运算库有很多种,笔者也见过很多做计算机的同仁不满意现有的库,自己实现线性运算库。然而笔者并不打算自己重新造轮子,毕竟计算机领域的一大优势就在于我们能通过开源的优秀代码,站在别人的肩膀上更进一步。在做过一些调查以后,笔者主要介绍两个c++线性运算库,其中 Eigen 是笔者工作生产中常用的库。
Eigen
Eigen 是一款十分著名的线性运算模板库, Eigen 支持稠密矩阵(Dense Matrix)和稀疏矩阵(Sparse Matrix)运算,并内置实现了对两种矩阵的求解器(Solver)。使用 Eigen 十分简单,因为是模板库,所以只需要将头文件拷入 include 目录即可,缺点是编译时比较费时。Eigen 的稠密矩阵运算在某些平台上的性能甚至接近 Intel ®