数学相关三方库整理

CasADi

CasADi提供了一种高效的开源优化问题解决方案,非常适用于解决非线性优化问题(nonlinear optimization)和实现自动微分(algorithmic differentiation)

  • 其他优化库ACADO、GRAMPC
  • 提供C、C++、Matlab、Python接口API

Minpack

MINPACK是一个FORTRAN子程序库,用于求解非线性方程组,或线性或非线性方程组残差的最小二乘最小化

  • 其他库LINPACK、EISPACK
  • 提供FORTRAN接口

Sundials

SUNDIALS是一个非线性和微分/代数方程求解器的集合。它由以下六个求解器组成:

  • CVODE,求解常微分方程(ODE)系统的初值问题;
  • CVODES,解决ODE系统,包括灵敏度分析能力(正向和伴随);
  • ARKODE使用加法Runge-Kutta方法解决初始值ODE问题,包括对IMEX方法的支持;
  • IDA解决微分代数方程(DAE)系统的初值问题;
  • IDAS解决了DAE系统,包括灵敏度分析能力(前向和伴随);
  • KINSOL求解非线性代数系统

Lapack

LAPACK,其名为Linear Algebra PACKage的缩写,是一以Fortran编程语言写的,用于数值计算的函数集。 LAPACK提供了丰富的工具函数,可用于诸如解多元线性方程、线性系统方程组的最小二乘解、计算特征向量、用于计算矩阵QR分解的Householder变换、以及奇异值分解等问题

Blas

BLAS是一个应用程序接口标准,用以规范发布基础线性代数操作的数值库。该程序集最初发布于1979年,并用于创建更大的数值程序包。在高性能计算领域,BLAS被广泛使用。例如,LINPACK的运算成绩则很大程度上取决于BLAS中子程序DGEMM的表现。 为提高性能,各软硬件厂商则针对其产品对BLAS接口实现进行高度优化

posted on 2022-12-06 22:25  流浪的夜空  阅读(436)  评论(0)    收藏  举报