LAPACK是田纳西大学提供的软件包;加州大学伯克利分校;科罗拉多大学丹佛分校;和NAG有限公司。。

演示

LAPACK是用Fortran 90编写的,它提供了用于解决以下系统的例程联立线性方程组的最小二乘解方程、特征值问题和奇异值问题。关联的矩阵分解(LU、Cholesky、QR、SVD、Schur、广义Schur)为还提供了相关计算,如Schur的重新排序分解和估计条件数。致密和带状矩阵是处理,但不是一般稀疏矩阵。在所有领域,类似的功能为实矩阵和复矩阵提供了单精度和双精度。

LAPACK项目的最初目标是使广泛使用的EISPACK和LINPACK库在共享内存向量和并行上高效运行处理器。在这些机器上,LINPACK和EISPACK效率低下,因为它们的内存访问模式忽略了机器,从而花费太多时间移动数据而不是有用的浮点操作。LAPACK通过重组解决了这个问题使用块矩阵运算的算法,例如矩阵乘法,在最里面的循环中。这些块操作可以针对每个体系结构来考虑内存层次结构,因此提供了一个在各种现代机器上实现高效率的可运输方式。我们使用术语“可运输”而不是“便携式”,因为为了尽可能快性能,LAPACK要求高度优化的块矩阵操作已在每台机器上实现。

编写LAPACK例程,以便尽可能多地进行计算通过调用基本线性代数子程序(BLAS)执行。LAPACK在一开始就被设计为利用3级BLAS — 一套执行各种类型矩阵的Fortran子程序规范乘法与多右手边三角形系统的求解边。由于3级BLAS操作的粗粒度使用可以提高许多高性能计算机的效率,特别是如果制造商提供了特殊编码的实现。

BLAS的高效机器特定实现可用于许多现代高性能计算机。有关已知供应商的详细信息-或ISV提供了BLAS,请参阅BLAS常见问题解答。或者,用户可以下载ATLAS为架构自动生成优化的BLAS库。BLAS的Fortran 77参考实现可从netlib获得;然而,不鼓励使用它,因为它的性能不如特定的优化的实现。

致谢:

本材料基于国家科学基金会和能源部(DOE)。任何意见,本材料中表达的调查结果和结论或建议如下作者的观点,并不一定反映国民的观点科学基金会(NSF)或能源部(DOE)。

LAPACK项目的部分赞助方为迈斯沃克英特尔多年来。

软件

许可

LAPACK是一个免费的软件包。可通过以下途径从netlib获得匿名ftp和万维网http://www.netlib.org/lapack网站因此可以包含在商业软件包中(并且已经包含)。我们只问应该给予作者适当的信任。

用于软件的许可证是修改后的BSD许可证,请参见:

像所有软件一样,它是受版权保护的。它不是商标,但我们确实要求以下内容:

  • 如果您修改这些例程的源代码,我们要求您更改例程并注释对原始文件所做的更改。

  • 我们很乐意回答有关软件的任何问题。如果修改但是,这是修改例行程序提供支持。

LAPACK,版本3.12.0

LAPACK的标准C语言API

LAPACK和INTEL数学内核库团队合作

用于Windows的LAPACK

LAPACK是在Windows下使用制造商跨平台、开源构建系统。新的构建系统是与Kitware Inc.合作开发的。

专用网站(http://icl.cs.utk.edu/lapack-for-windows/lapack)适用于Windows用户。

  • 您将找到有关配置需求的信息。

  • 您将能够下载BLAS、LAPACK和LAPACKE预先构建的库。

  • 您将了解如何从VS Studio直接运行LAPACKE(只需C代码,不需要Fortran!!!)。LAPACK现在为Windows用户提供了使用Microsoft Visual Studio用C编写代码的能力和链接到LAPACK Fortran库,而无需供应商提供的Fortran编译器插件。要获取更多信息,请参阅草坪270.

  • 您将获得一步一步的程序简易Windows构建。

GIT访问

LAPACK GIT系列(http://github.com/Reference-LAPACK/LAPACK参考)存储库对我们的用户是以只读方式打开的。

请使用我们的链接:http://github.com/Reference-LAPACK/LAPACK(网址:http://github.com/Reference-LAPACK/LAPACK)[*LAPACK开发存储库*]以修复最新的错误、提交问题或拉取请求。

支持

贡献者

LAPACK是一项全社区的努力。LAPACK依赖于许多贡献者,我们想承认他们出色的工作。以下是自1992年以来LAPACK贡献者的名单。

如果您希望捐款,请查看这个LAPACK程序风格。本文件旨在促进通过记录设计和实施对LAPACK的贡献指导方针。

LAPACK项目软件授权和企业贡献者许可协议(“协议”)[下载]

欢迎随时提供捐款,并可发送至LAPACK团队.

文档

发行说明

这个LAPACK发行说明包含对LAPACK库所做修改的历史记录每个新版本。

改进和错误

LAPACK是一个当前活跃的项目,我们正在努力带来新的改进以及定期使用新算法。以下是自LAPACK 3.0以来的改进。

请为我们的愿望单如果您通过发送电子邮件感到缺少某些功能或算法LAPACK团队.

这里是列表(已更正、已确认和待确认),自3.6.1起

这里是错误列表(已纠正、确认和待确认)

常见问题解答

咨询LAPACK常见问题.

如果您觉得缺少一些问题,请发送电子邮件至LAPACK团队.

这个LAPACK用户论坛也是寻找答案的好来源。

使用在线文档浏览器浏览、下载LAPACK例程

在这里,您可以浏览许多LAPACK函数,还可以下载单个例程及其依赖项。

要访问例程,请使用搜索功能或浏览不同的模块。

手册

请按照自述文件在您的机器上安装LAPACK手册页。

LAPACK团队感谢Sylvestre Ledru帮助我们维护这些手册页和Doxygen团队的Albert。

LAWNS公司:LAPACK工作说明

发布历史记录

版本1.0:1992年2月29日

  • 修订,版本1.0a:1992年6月30日

  • 修订,版本1.0b:1992年10月31日

  • 修订,1.1版:1993年3月31日

版本2.0:1994年9月30日

版本3.0:1999年6月30日

  • 更新,版本3.0:1999年10月31日

  • 更新,版本3.0:2000年5月31日

3.1.0版:2006年11月12日

  • 3.1.1版:2007年2月26日

版本3.2:2008年11月18日

  • 版本3.2.1:2009年4月17日

  • 版本3.2.2:2010年6月30日

版本3.3.0:2010年11月14日

  • 3.3.1版:2011年4月18日

版本3.4.0:2011年11月11日

  • 第3.4.1版:2012年4月20日

  • 版本3.4.2:2012年9月25日

版本3.5.0:2013年11月19日

版本3.6.0:2015年11月15日

  • 版本3.6.1:2016年6月18日

版本3.7.0:2016年12月24日

  • 版本3.7.1:2017年6月25日

版本3.8.0:2017年11月17日

版本3.9.0:2019年11月21日

  • 版本3.9.1:2021年4月1日

版本3.10.0:2021年6月28日

  • 版本3.10.1:2022年4月12日

第3.11.0版:2022年11月11日

版本3.12.0:2023年11月24日

上一版本

LAPACK,版本3.12.0

LAPACK,版本3.11.0

LAPACK,版本3.10.1

LAPACK,版本3.10.0

LAPACK,版本3.9.1

LAPACK,版本3.9.0

LAPACK,版本3.8.0

LAPACK,版本3.7.1

LAPACK,版本3.7.0

LAPACK,版本3.6.1

LAPACK,版本3.6.0

LAPACK,版本3.5.0

LAPACK,版本3.4.2

LAPACK,版本3.4.1

LAPACK,版本3.4.0

LAPACK,版本3.3.1

LAPACK版本3.3.0

LAPACK版本3.2.2

LAPACK 3.2.1版

带有CMAKE包的LAPACK 3.2版

LAPACK 3.2版

带有手册页和html的LAPACK 3.1.1版

LAPACK 3.1.1版

LAPACK 3.1版

LAPACK版本3.0+更新

LAPACK 3.0版更新

  • 下载:更新.tgz

  • 说明:cd LAPACK;gunzip-c update.tgz | tar xvf-

  • 更新日期:2000年5月31日

供应商LAPACK库

请向我们报告常见问题解答了解当前供应商实现的列表。

CLAPACK公司

CLAPACK是LAPACK的f2’ed转换

线性代数库

ScaLAPACK是LAPACK的分布式内存实现

血浆

可扩展多核体系结构的并行线性代数(PLASMA)该项目旨在解决关键且极具破坏性的情况面向线性代数和高性能计算社区,因为引入多核架构。

PLASMA的最终目标是创建能够支持程序员的软件框架简化开发应用程序的过程,以实现跨一系列新体系结构的性能和可移植性。

开发执行异步、无序的编程模型作业计划是作为定义的基础的概念一个可扩展但高效的计算线性软件框架代数应用。

MAGMA公司

MAGMA(GPU和多核架构上的矩阵代数)项目旨在开发类似于LAPACK的稠密线性代数库,但用于异构/混合体系结构,从当前的“多核+GPU”开始系统。

MAGMA的研究基于以下理念:在新兴的混合环境中,最佳软件解决方案本身必须进行混合,将不同算法的优势结合在一起基于这个思想,我们的目标是设计线性代数支持多核和GPU混合系统的算法和框架应用程序充分利用每个混合组件的功率提供。

LAPACK的Fortran95接口

LAPACK 95系列通过杰日·瓦希·涅夫斯基

Fortran到Java LAPACK

JLAPACK公司

LAPACK的C++实现

高性能线性代数计算的LAPACK扩展。这个该版本支持使用LU、Cholesky和QR求解线性系统矩阵分解。衣领++通过罗尔丹·波佐

埃塞尔

包含LAPACK/ESSL的CCI(调用转换接口)的子目录。有关更多信息,请参阅法律82。