常用数学函数库简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国外数学库

1.1 可扩展可移植科学计算工具箱(PETSc)

PETSc (Portable, Extensible Toolkit for Scientific Computation) 是由Argonne 国家实验室开发的可移植可扩展科学计算工具箱,主要用于高性能求解偏微分方程组及相关问题[2] 。PETSc 所有消息传递通信均采用MPI 标准实现。

PETSc 用C 语言开发,遵循面向对象设计的基本特征,用户可以基于PETSc 对象灵活开发应用程序。目前,PETSc 支持Fortran 77/90 、C 和C++编写的串行和并行代码。

PETSc 是系列软件和库的集合,三个基本组件SLES 、SNES 和TS 本身基于BLAS 、LAPACK 、MPI 等库实现,同时为TAO 、ADIC/ADIFOR 、Matlab、ESI 等工具提供数据接口或互操作功能,并具有极好的可扩展性能。PETSc 为用户提供了丰富的Krylov 子空间迭代方法和预条件子,并提供错误检测、性能统计和图形打印等功能。

PETSc 最新版本为petsc-2.2.1,PETSc 网站:/petsc ;。目前,PETSc 3 正在开发中。

1.2 大型稀疏线性方程组并行迭代求解库(AZTEC)

AZTEC ( A Massively Parallel Iterative Solver Library for Solving Sparse Linear Systems) 是由Sandia 国家实验室开发的,主要用于并行迭代求解大型(PDE 问题)稀疏线性方程组

[3] 。

AZETEC 是一个求解(PDE 问题)稀疏线性方程组的并行迭代解法库,它为用户提供了许多Krylov 子空间迭代方法(如CG、GMRES 、BiCGSTAB )和预条件子(如多项式预条件子、LU 分解和不完全LU 分解)。AZETEC 具有很强的可移植性,可在DEC、SGI、SUN、Gray T3E 、Intel TeraFlop 、Intel Paragon 、IBM SP2 等工作站系统和向量机上运行。

AZETEC 最新版本为azetec-2.1 , AZETEC 网站:

/ ;CRF/aztec1.html 。

1.3 高级最优化工具箱(TAO)

TAO (Toolkit for Advanced Optimization) 是Argonne 国家实验室开发的高级最优化工具箱,主要用于在高性能机器上求解大规模最优化问题[4] 。TAO 的所有消息传递通信均采用MPI 标准实现。

TAO 用C/C++ 语言开发,遵循面向对象设计的基本特征,使用简单方便。TAO 支持Fortran 77/90 、C 和C++编写的串行和并行代码,不过TAO 推荐使用C 和C++,某些C/C++ 的功能使用Fortran 很难实现。运行TAO 需要PETSc 对象的支持,用户可以基于TAO 和PETSc 对象灵活开发应用程序。

TAO 是系列软件和库的集合,其各个解法器本身基于BLAS, MPI, PETSc 等库实现。PETSc 为TAO 提供了丰富的线性代数支撑,用来定义矩阵、向量等线性代数对象和操作。

TAO 是一个正在不断完善的软件包。虽然 TAO 求解的问题广泛涉及无约束最优化、限界约束最优化、非线性最小二乘法、二次规划、非线性约束优化、半正定规划等问题,

但是TAO 目前支持无约束最优化、限界约束最优化、非线性组合优化问题,其他的解法器也正在完善中。

TAO 最新版本为 tao-1.6,其中提供对包括并行无约束最优化和约束限界最优化问题及非线性组合优化问题的支持。它需要MPI 和PETSc2.1.3 或更新版本的支持。TAO 网站:/tao ;。

1.4 非线性微分/代数方程求解器套装(SUNDIALS)SUNDIALS (Suite of Nonlinear and Differential/Algebraic Equation Solvers) 由Lawrence Livemore 国家实验室开发,用于求解大规模非线性微分/代数方程[5] 。SUNDIALS 基于标准C 语言开发,由几个解法器组成:串行/并行常微分方程初值问题求解器(CVODE/PVODE),非线性代数方程求解器(KINSOL )和微分代数方程初值问题求解器(IDA )。CVODES 是CVODE 的扩展,它采用正向积分和反向积分方法可以对模式

输出结果做参数敏感性分析。SUNDIALS 最近更新日期为 27/08/2002 , SUNDIALS 网站:http://www.llnl. ;gov/CASC/sundials 。

1.5 快速傅里叶变换(FFTW)

FFTW ( the Faster Fourier Transform in the West) 是一个快速离散傅里叶变换的标准C 语言程序集,由MIT 的Matteo Frigo 和Steven G.Johnson 开发[6] 。

FFTW 用于快速计算复型、实型以及奇或偶对称实型离散傅里叶变换。 FFTW 以O (n log n )的计算代价处理任意维、任意规模数据的离散傅里叶变换。

FFTW 支持SSE 、SSE2 、3Dnow 和Altive 指令集。FFTW (版本3.0.1 )支持共享存储环境下的并行和多线程离散傅里叶变换。

FFTW 最新版本为fftw-3.0.1,FFTW 网站: ;。

1.6 线性代数库(LAPACK)

LAPACK (Linear Algebra PACKage) 是Oak Ridge 国家实验室、加州大学Davis 分校和Illinois 大学等联合开发的线性代数函数库,用于在不同高性能计算环境上高效求解数值线性代数问题[7] 。

LAPACK 采用标准Fortran 77 编写。LAPACK 支持实型和复型数据类型,完全支持单精度和双精度计算。LAPACK 可以在向量机,高性能超标量工作站,和共享存储多处理机上高效运行,也可以在各种类型的单机(PC, 工作站, 大型机)上获得满意的结果。LAPACK 最新版本为lapack-3.0,

LAPACK 网站:/lapack/ ;index.html 。

1.7 可扩展线性代数库(ScaLAPACK)

ScaLAPACK (Scalable LAPACK) 是美国能源部DOE2000 支持开发的20 多个ACTS 工具箱之一,由Oak Ridge 国家实验室、加州大学Berkeley 分校和Illinois 大学等联合开发,主要是在分布式存储环境运行的线性代数库[8]。

ScaLAPACK 是LAPACK 的并行扩展。ScaLAPACK 被设计为具有高效率、可移植性、可扩展性、可靠性、灵活性和易用性,它可以在任何有BLAS 和BLACS 的机器上运行,同时支持支持PVM 和MPI 。ScaLAPACK 现在使用基于SPMD 模型的Fortran 77 编程,采用显式消息传递进行处理器间通信。

相关文档
最新文档