• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    4年前 (2013-11-21)  软件 |   抢沙发  20 
    文章评分 0 次,平均分 0.0

    1. BLAS(Basic Linear Algebra Subprograms)
    blas 是许多数值计算软件库的核心,用Fortran语言写成,库一共有三个level,第一level包含了vector计算的一些function;第二个level则是矩阵与vector计算;第三个level是矩阵与矩阵的计算。BLAS接口稍微复杂,一般很少直接使用。
    开源

    2. Intel MKL
    商用是不错的选择。
    Intel数学核心函数库(MKL)是一套高度优化、线程安全的数学例程、函数,面向高性能的工程、科学与财务应用。英特尔 MKL 的集群版本包括 ScaLAPACK 与分布式内存快速傅立叶转换,并提供了线性代数 (BLAS、LAPACK 和Sparse Solver)、快速傅立叶转换、矢量数学 (Vector Math) 与随机号码生成器支持。
    主要包括:
    ① LAPACK (线形代数工具linear algebra package)
    ② DFTs (离散傅立叶变换 Discrete Fourier transforms)
    ③ VML (矢量数学库Vector Math Library)
    ④ VSL (矢量统计库Vector Statistical Library)
    MKL的主要功能
    2.1)BLAS 和 LAPACK
    在英特尔处理器中部署经过高度优化的基本线性代数例程BLAS(Basic Linear Algebra Subroutines)和 线性代数包LAPACK(Linear Algebra Package) 例程,它们提供的性能改善十分显著。
    2.2)ScaLAPACK
    ScaLAPACK是一个并行计算软件包,适用于分布存储的MIMD并行机。ScaLAPACK提供若干线性代数求解功能,具有高效、可移植、可伸缩、高可靠性的特点,利用它的求解库可以开发出基于线性代数运算的并行应用程序。ScaLAPACK 的英特尔MKL 实施可提供显著的性能改进,远远超出标准 NETLIB 实施所能达到的程度。
    2.3)PARDISO稀疏矩阵解算器
    利用 PARDISO 直接稀疏矩阵解算器解算大型的稀疏线性方程组,该解算器获得了巴塞尔大学的授权,是一款易于使用、具备线程安全性、高性能的内存高效型软件库。英特尔? MKL 还包含共轭梯度解算器和 FGMRES 迭代稀疏矩阵解算器。
    2.4)快速傅立叶变换 (FFT)
    充分利用带有易于使用的新型 C/Fortran 接口的多维 FFT 子程序(从 1 维至 7 维)。英特尔? MKL 支持采用相同 API 的分布式内存集群,支持将工作负载轻松地分布到大量处理器上,从而实现大幅的性能提升。此外,英特尔 MKL 还提供了一系列 C 语言例程(“wrapper”),这些例程可模拟 FFTW 2.x 和 3.0 接口,从而支持当前的 FFTW 用户将英特尔 MKL 集成到现有应用中。
    2.5)矢量数学库(VML)
    矢量数学库(Vector Math Library)借助计算密集型核心数学函数(幂函数、三角函数、指数函数、双曲函数、对数函数等)的矢量实施显著提升应用速度。
    2.6)矢量统计库—随机数生成器(VSL)
    利用矢量统计库(Vector Statistical Library)随机数生成器加速模拟,从而实现远远高于标量随机数生成器的系统性能提升
    商用

    3. Eigen
    主页:
    http://eigen.tuxfamily.org/index.php?title=Main_Page
    Eigen 是一个轻量级的库,使用只需头文件,接口比较齐全,文档也很全面,一般的矩阵操作运算都能满足。提供了DenseMatrix 和 SparseMatrix,对于稀疏矩阵的效率也不错。
    开源

    4. Spoolse
    早期很多人使用,性能不错,使用简单。维护的不是很好,文档使用ps格式。
    http://www.netlib.org/linalg/spooles/spooles.2.2.html
    开源

    5. Lapack
    使用最广泛的线性代数包,底层调用 BLAS,能求解 AX=b, 矩阵分解、求逆,求矩阵特征值、奇异值等。文档齐全,使用灵活,稳定性好,用作研究和商业开发都是不错的选择。提供SVN源码下载
    http://www.netlib.org/lapack/
    开源

    6. Pardiso
    PARDISO是为解决大 稀疏对称和非对称线性系统的方程的软件包,如下特点:
    线程安全,,高性能的, 和内存使用率低,支持共享内存和内存多处理器。
    http://www.pardiso-project.org/
    商用,学术用免费

    7. Mumps
    使用多波前法的稀疏矩阵求解库,支持并行计算。
    http://mumps.enseeiht.fr/
    开源

    8. PETSc
    PETSc是一个高大上的科学计算库,求解线性方程是其中一个功能,支持内存共享并行计算机,支持多线程,GPU加速等,支持求解稀疏矩阵
    http://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html
    开源

    9. SuperLU
    SuperLU是一个求解大规模,稀疏,非对称系统对线性方程组的通用库,c语言编写,可供Fortran和C调用。最新版本为4.3 (2014/10/1)支持并行计算和分布式计算。
    http://www.cs.berkeley.edu/~demmel/SuperLU.html
    开源

    10. Umfpack
    UMFPACK是 用来求解不对称稀疏线性系统软件包, Ax = b,使用非对称多波方法,SuitSparse有此算法
    使用比较简单,Windows下需要自己编译。
    http://www.cise.ufl.edu/research/sparse/umfpack/
    开源

    11. TAUCS
    求解稀疏矩阵线性方程软件包,最新版本支持多线程
    http://www.tau.ac.il/~stoledo/taucs/
    开源

    12. SuitSparse
    SuiteSparse是一组C、Fortran和MATLAB函数集,用来生成空间稀疏矩阵数据。在SuiteSparse中几何多种稀疏矩阵的处理方法,包括矩阵的LU分解,QR分解,Cholesky分解,提供了解非线性方程组、实现最小二乘法等多种函数代码
    http://faculty.cse.tamu.edu/davis/suitesparse.html
    开源

    13. Sparselib++
    用C++写的 稀疏矩阵库,可以和 IML++一起使用做线性方程组的迭代求解。
    http://math.nist.gov/sparselib++/
    开源

    14. Trilinos
    Trilinos也是个高大上的东西,求解线性方程只是其中一部分功能
    http://trilinos.org/capability-areas/#ScalableLinearAlgebra
    开源

    15.IML++
    使用C++模板库 和迭代方法 求解对称,非对称矩阵库
    http://math.nist.gov/iml++/
    开源

    使用推荐:
    1. 简单快速上手 Eigen
    2. 商业使用 Intel MKL
    3. 研究使用 Lapack,PETSc,SuitSparse

    另外推荐几个更详细的连接:
    http://www.kankanews.com/ICkengine/archives/54337.shtml
    http://www.docin.com/p-296805272.html
    http://wenku.baidu.com/link?url=5Fm7lTa6n9465xDadukrYhRXbO4gsbuwesihmqDhM7gA44hLyyJryV3awokHIy-8jPBZEF0PBvg4r7XBzP9pNFGGOD47vW0OlxovPQNROpS

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/3837.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享