Сандық сызықтық алгебра кітапханасы: LAPACK туралы мәліметтер
LAPACK
LAPACK: сандық сызықтық алгебра кітапханасы. Теңдеулерді шешу, өзіндік мәндерді табу, матрицалармен жұмыс жасау үшін пайдалы. Fortran тілінде жазылған.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Сандық сызықтық алгебра үшін бағдарламалық кітапхана
Software library for numerical linear algebra
LAPACK («Сызықтық алгебра пакеті») – сандық сызықтық алгебра үшін стандартты бағдарламалық кітапхана. Ол сызықтық теңдеулер жүйесін және сызықтық ең кіші квадраттарды, өзіндік мәндерді табу және жеке мәнді жіктеу мәселелерін шешуге арналған процедураларды қамтиды. Сондай-ақ, LAPACK LU, QR, Холецкий және Schur жіктеулері сияқты матрицалық факторлауды іске асыруға қажетті процедураларды да ұсынады. LAPACK бастапқыда FORTRAN 77 тілінде жазылған, бірақ 3.2 (2008) нұсқасында Fortran 90 тіліне көшirilген. Процедуралар нақты және кешенді матрицаларды, сондай-ақ бір және қос дәлдікте жұмыс істейді. 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 – PBLAS негізінде құрылған, масштабталатын (көп ядролы) LAPACK. 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.