Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Программная библиотека для численной линейной алгебры
Software library for numerical linear algebra
LAPACK ("Пакет линейной алгебры") – это стандартная программная библиотека для численной линейной алгебры. Она предоставляет подпрограммы для решения систем линейных уравнений и задач наименьших квадратов, вычисления собственных значений и сингулярного разложения. Также в неё включены подпрограммы для реализации соответствующих матричных разложений, таких как LU, QR, Холецкого и Шура. LAPACK изначально был написан на FORTRAN 77, но перешёл на Fortran 90 в версии 3.2 (2008). Подпрограммы работают как с вещественными, так и с комплексными матрицами одинарной и двойной точности. LAPACK опирается на базовую реализацию BLAS для обеспечения эффективных и переносимых вычислительных блоков для своих подпрограмм. Netlib LAPACK распространяется под трёхпунктной BSD-лицензией, являющейся разрешительной лицензией свободного программного обеспечения с небольшим количеством ограничений.
LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It also includes routines to implement the associated matrix factorizations such as LU, QR, Cholesky and Schur decomposition. LAPACK was originally written in FORTRAN 77, but moved to Fortran 90 in version 3.2 (2008). The routines handle both real and complex matrices in both single and double precision. LAPACK relies on an underlying BLAS implementation to provide efficient and portable computational building blocks for its routines. Netlib LAPACK is licensed under a three clause BSD style license, a permissive free software license with few restrictions.
Реализация
Как и в случае с BLAS, LAPACK иногда форкается или переписывается для обеспечения более высокой производительности на конкретных системах. Некоторые из реализаций:
As with BLAS, LAPACK is sometimes forked or rewritten to provide better performance on specific systems. Some of the implementations are:
Accelerate – фреймворк Apple для macOS и iOS, включающий оптимизированные версии BLAS и LAPACK. Netlib LAPACK – официальная версия LAPACK. Netlib ScaLAPACK – масштабируемая (многоядерная) LAPACK, построенная на основе PBLAS. Intel MKL – математические библиотеки Intel для процессоров x86. OpenBLAS – реализация BLAS и LAPACK с открытым исходным кодом. Gonum LAPACK – частичная нативная реализация на Go. Поскольку LAPACK обычно вызывает базовые подпрограммы BLAS для выполнения основной части вычислений, простой переход на более оптимизированную реализацию BLAS может быть достаточным для значительного повышения производительности. В результате, LAPACK переписывается не так часто, как BLAS.
Accelerate Apple's framework for macOS and iOS, which includes tuned versions of BLAS and LAPACK. Netlib LAPACK The official LAPACK. Netlib ScaLAPACK Scalable (multicore) LAPACK, built on top of PBLAS. Intel MKL Intel's Math routines for their x86 CPUs. OpenBLAS Open source reimplementation of BLAS and LAPACK. Gonum LAPACK A partial native Go implementation. Since LAPACK typically calls underlying BLAS routines to perform the bulk of its computations, simply linking to a better tuned BLAS implementation can be enough to significantly improve performance. As a result, LAPACK is not reimplemented as often as BLAS is.