8

我使用 LAPACK 的目的是计算矩阵的 cholesky。我在 Fedora 中使用 C/C++ 编程,但我对安装哪个 lapack 感到困惑 - LAPACK 与 lapacke 还是 clapack?

4

1 回答 1

9

两者的基本区别在于需要 Fortran 编译器。

CLAPACK 基本上只是通过旧的 f2c 转换器传递的参考 NETLIB LAPACK 例程,允许使用 C 编译器编译库。

LAPACKE 是一种尝试(由英特尔 IIRC 发起)为 Fortran LAPACK 库定义正式的 C 语言接口。它的优点是它独立于 LAPACK 实现,并将隐藏工具链特定的 C 到 Fortran 的互操作性,这样程序员就不必担心它们。LAPACKE 还具有与 C99 复杂内在类型正确工作的明显优势。

我不希望两者之间有很大的性能差异(BLAS 的选择决定了大部分),但如果我今天从头开始,我可能会更喜欢 LAPACKE + LAPACK 和 BLAS 的选择实现。

于 2011-07-04T07:04:34.380 回答