我使用LAPACK的目的是计算矩阵的cholesky。我在Fedora中使用C / C ++进行编程,但是我对使用lapacke或clapack的LAPACK进行安装感到困惑?
答案 0 :(得分:9)
两者之间的基本区别是需要Fortran编译器。
CLAPACK基本上只是通过旧的f2c转换器传递的参考NETLIB LAPACK例程,允许使用C编译器编译库。
LAPACKE是一种尝试(由Intel IIRC启动)为Fortran LAPACK库定义正式的C语言接口。它的优点是它独立于LAPACK实现,并将工具链特定的C隐藏到Fortran互操作性,以便程序员不必担心它们。 LAPACKE还具有与C99复杂内在类型正确配合的独特优势。
我不希望两者之间存在重大的性能差异(BLAS的选择决定了大部分),但如果我今天从头开始,我可能会喜欢LAPACKE + LAPACK和BLAS的首选。 / p>