文章目录
- LAPACK库
- LAPACK库的地址
- LAPACK库的安装和编译
LAPACK库
LAPACK(Linear Algebra PACKage)库,是用Fortran语言编写的线性代数计算库,包含线性方程组求解(AX=b)、矩阵分解、矩阵求逆、求矩阵特征值、奇异值等。该库用BLAS库做底层运算,许多高层的数学库都用BLAS和LAPACK做底层。
BLAS(Basic Linear Algebra Subprograms)库,是用Fortran语言实现的向量和矩阵运算库,是许多数值计算软件库的核心, 但也有一些其它的包装, 如cblas是C语言, 也有C++的包装, boost/ublas 是C++ template class的实现; 另外还有一些特别的实现, 如intel MKL, AMD core math library blas就是做向量、矩阵的基本运算,如加、减、乘等操作。
LAPACK库的地址
LAPACK库的下载地址:http://www.netlib.org/lapack/。
LAPACK库的说明文档: http://www.netlib.org/lapack/lug/lapack_lug.html。
LAPACK库的头文件(C语言的)、Lib文件(MDd和MTd两种类型的,以及调试和发布版的)和源代码(Fortran语言,主要用于查看各个函数的参数的说明):http://www.fi.muni.cz/~xsvobod2/misc/lapack/。
LAPACK的其他相关资料可以从CSDN中查找:http://download.csdn.net/。
LAPACK库的安装和编译
- 下载好源码包
- 下载mingw
确保包含:
- C编译器:gcc.exe
- C++编译器:g++.exe
- fortan编译器:gfortan.exe
如为x64系统,可使用x86_64-w64-mingw32-*
编译器
- 使用cmake-gui编译
1>输入源码地址和生成地址
2>使用mingw编译器编译,选择Specify nativate compliers
并设置相应的编译器路径
3> 勾选以下选项:
BUILD_SHARED_LIBS
: 静态库CMKAE_GUNtoMS
: vs可调用- C:
CBLAS
: C语言的BLAS库LAPCAKE
: C语言的LAPACKE库
- C++:
BLAS++
: C++的BLAS库LAPCAK++
:C++的LAPACKE库
configure
、generate
编译生成;- 修改
SRC\CMakeFiles\lapack.dir
目录下的link.txt:
你的地址\gfortran.exe -frecursive -O2 -shared -o ..\bin\liblapack.dll -Wl,--out-implib,..\lib\liblapack.dll.a -Wl,--major-image-version,3,--minor-image-version,10 -Wl,--whole-archive CMakeFiles\lapack.dir/objects.a -Wl,--no-whole-archive @CMakeFiles\lapack.dir\linkLibs.rsp -Wl,--output-def,lapack.def
-
进入
build
目录,使用cmd
, 运行mingw的mingw32-make.exe
; -
此时在
build
下inlcude
、bin
、lib
为编译好的库文件
-
生成后,若
lapack.h
出现红色波浪线,无法编译通过,则将对应的宏定义修改:
float _Complex -> float
double _Complex -> double