Я искал библиотеки линейной алгебры C ++ для проекта, над которым я работал. То, что я до сих пор не понимаю, это соединение BLAS и LAPACK с другими библиотеками линейной алгебры.
Просматривая эту статью о библиотеках линейной алгебры, я обнаружил, что интересно:
- некоторые библиотеки независимы от BLAS и LAPACK
- некоторые требуют BLAS и LAPACK
- некоторые имеют дополнительные интерфейсы для BLAS и LAPACK
- и, насколько я понимаю, вы можете использовать BLAS и LAPACK для непосредственного решения задач линейной алгебры
Я могу себе представить, что некоторые библиотеки являются просто интерфейсами C ++ к библиотекам BLAS и LAPACK, написанным на C и Fortran, а другие реализовали свои собственные замещающие процедуры, но
Каковы последствия дополнительных интерфейсов для BLAS и LAPACK? Что вы теряете, отказавшись, и что библиотеки делают вместо этого?
Любая из библиотек предоставляет больше, чем просто интерфейс? Например, UMFPACK написан на C и имеет дополнительные интерфейсы для BLAS и LAPACK. Что может сделать UMFPACK (или другие библиотеки), чего BLAS и LAPACK не могут сделать самостоятельно?
источник