Кіріспе

Сандық сызықтық алгебра үшін бағдарламалық кітапхана

LAPACK («Сызықтық алгебра пакеті») – сандық сызықтық алгебра үшін стандартты бағдарламалық кітапхана. Ол сызықтық теңдеулер жүйесін және сызықтық ең кіші квадраттарды, өзіндік мәндерді табу және жеке мәнді жіктеу мәселелерін шешуге арналған процедураларды қамтиды. Сондай-ақ, LAPACK LU, QR, Холецкий және Schur жіктеулері сияқты матрицалық факторлауды іске асыруға қажетті процедураларды да ұсынады. LAPACK бастапқыда FORTRAN 77 тілінде жазылған, бірақ 3.2 (2008) нұсқасында Fortran 90 тіліне көшirilген. Процедуралар нақты және кешенді матрицаларды, сондай-ақ бір және қос дәлдікте жұмыс істейді. LAPACK тиімді және портативті есептеу блоктарын қамтамасыз ету үшін BLAS-тың іске асырылуына сенеді. Netlib LAPACK үш тармақты BSD стиліндегі лицензия бойынша лицензияланған, бұл шектеулердің аз болуымен еркін бағдарламалық қамтамасыз ету лицензиясы болып табылады.

Қолданылу

BLAS сияқты, LAPACK та кейде нақты жүйелерде жақсы өнімділікке қол жеткізу үшін тармақталдырылады немесе қайта жазылады. Кейбір іске асырылымдары:

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-қа қарағанда сирек қайта іске асырылады.