数值计算库:
科学计算领域的标准:
- BLAS
- 具体实现有OpenBLAS(汇编和C语言)、Intel MKL(针对Intel的特定CPU指令集的汇编代码)、Mir GLAS(D语言编写)
- LAPACK
- ARPACK
1、Eigen
纯头文件库;
2、Armadillo
特点:
- 所有的Armadillo的都定义在arma名空间下;
- Armadillo在arma::datum下定义包括pi和e在内的一些数学常量;
- Armadillo支持C++11的列表初始化语法来初始化对象;
- Armadillo支持使用流来输出对象;‘
Matlab代码转C++的时候,可以利用armadillo工具;;
3、Boost.Multiprecision
高精度整数类型和计算库;
特点:
-使用表达式模板和C++11的移动来避免不必要的拷贝
相关书籍:
1、英文版《From Mathematics to Generic Programming》;对应中文版《数学与泛型编程》
在线网站:
1、学习线性代数:http://textbooks.math.gatech.edu/ila/index.html
参考
1、极客时间-现代C++实战30讲