~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 231ABD57E71A749EB116F74436218E2B__1703590740 ✰
Заголовок документа оригинал.:
✰ LAPACK - Wikipedia ✰
Заголовок документа перевод.:
✰ ЛАПАК — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/LAPACK ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/23/2b/231abd57e71a749eb116f74436218e2b.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/23/2b/231abd57e71a749eb116f74436218e2b__translat.html ✰
Дата и время сохранения документа:
✰ 18.06.2024 20:59:03 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 26 December 2023, at 14:39 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

ЛАПАК — Википедия Jump to content

ЛАПАК

Из Википедии, бесплатной энциклопедии
LAPACK (эталовая реализация Netlib)
Начальная версия 1992 год ; 32 года назад ( 1992 )
Стабильная версия
3.12.0 [1]  Отредактируйте это в Викиданных/ 24 ноября 2023 г .; 6 месяцев назад ( 24 ноября 2023 г. )
Репозиторий
Написано в Фортран 90
Тип Библиотека программного обеспечения
Лицензия BSD-новый
Веб-сайт нетлиб .org /лапак /  Edit this on Wikidata

LAPACK Пакет линейной алгебры алгебры » ) — это стандартная программная библиотека для числовой линейной . Он предоставляет процедуры для решения систем линейных уравнений и линейных наименьших квадратов , задач на собственные значения и разложения по сингулярным значениям . Он также включает процедуры для реализации соответствующих матричных факторизаций , таких как LU , QR , разложение Холецкого и Шура . [2] LAPACK изначально был написан на FORTRAN 77 , но был перенесен на Fortran 90 в версии 3.2 (2008 г.). [3] Подпрограммы обрабатывают как вещественные , так и комплексные матрицы как с одинарной , так и с двойной точностью . LAPACK опирается на базовую реализацию BLAS , чтобы обеспечить эффективные и портативные вычислительные блоки для своих процедур. [2] : «BLAS как ключ к портативности»

LAPACK был разработан как преемник линейных уравнений и линейных процедур наименьших квадратов LINPACK , а также процедур собственных значений EISPACK . LINPACK , написанный в 1970-х и 1980-х годах, был разработан для работы на современных векторных компьютерах с общей памятью. LAPACK, напротив, был разработан для эффективного использования кэшей современных архитектур на основе кэша и параллелизма на уровне команд современных суперскалярных процессоров . [2] : «Факторы, влияющие на производительность» и, следовательно, может работать на таких машинах на несколько порядков быстрее, чем LINPACK, при условии хорошо настроенной реализации BLAS . [2] : «BLAS как ключ к портативности» LAPACK также был расширен для работы в системах с распределенной памятью в более поздних пакетах, таких как ScaLAPACK и PLAPACK. [4]

Netlib LAPACK лицензируется в соответствии с трехпунктовой лицензией в стиле BSD , разрешающей лицензией бесплатного программного обеспечения с небольшими ограничениями. [5]

Схема именования [ править ]

Подпрограммы в LAPACK имеют соглашение об именах, которое делает идентификаторы очень компактными. Это было необходимо, поскольку первые стандарты Фортрана поддерживали идентификаторы длиной до шести символов, поэтому имена приходилось сокращать, чтобы уложиться в этот предел. [2] : «Схема именования»

Имя подпрограммы LAPACK имеет вид pmmaaa, где:

  • p — однобуквенный код, обозначающий тип используемых числовых констант. S, D обозначают реальную арифметику с плавающей запятой соответственно одинарной и двойной точности, в то время как C и Zобозначают сложную арифметику с одинарной и двойной точностью соответственно. В более новой версии LAPACK95 используются общие подпрограммы, чтобы избежать необходимости явно указывать тип данных.
  • mm— двухбуквенный код, обозначающий тип матрицы, ожидаемой алгоритмом. Коды для различных типов матриц приведены ниже; фактические данные хранятся в другом формате в зависимости от конкретного вида; например, когда код DI задан, подпрограмма ожидает вектор длины n содержащие элементы по диагонали, а когда код GE задан, подпрограмма ожидает массив размера n × n , содержащий элементы матрицы.
  • aaa представляет собой код длиной от одной до трех букв, описывающий фактический алгоритм, реализованный в подпрограмме, например SV обозначает подпрограмму для решения линейной системы , а R обозначает обновление ранга 1.

Например, подпрограмма для решения линейной системы с общей (неструктурированной) матрицей с использованием реальной арифметики двойной точности называется DGESV. [2] : "Линейные уравнения"

Типы матриц в схеме именования LAPACK
Имя Описание
БД двудиагональная матрица
ОТ диагональная матрица
ГБ общая полосовая матрица
GE общая матрица (т. е. несимметричная , в некоторых случаях прямоугольная)
GG общие матрицы, обобщенная задача (т. е. пара общих матриц)
ГТ общая трехдиагональная матрица
полупансион ( комплексная ) эрмитовой ленты матрица
ОН ( комплексная ) Эрмитова матрица
ХГ верхняя матрица Хессенберга , обобщенная задача (т.е. матрица Хессенберга и треугольная матрица )
HP ( сложная ) Эрмитова , упакованная матрица хранения
HS верхняя матрица Хессенберга
НА ( действительная ) ортогональная матрица , упакованная матрица хранения
ИЛИ ( действительная ) ортогональная матрица
ПБ симметричная матрица или эрмитова матрица, положительно определенная зона
PO симметричная матрица или эрмитова матрица положительно определенная
ПП симметричная матрица или эрмитова матрица, положительно определенная , упакованная матрица хранения
ПТ симметричная матрица или эрмитова матрица, положительно определенная трехдиагональная матрица
СБ ( действительная ) симметричная полосовая матрица
СП симметричная , упакованная матрица хранения
СТ ( действительная ) симметричная матрица трехдиагональная матрица
СИ симметричная матрица
туберкулез треугольная ленточная матрица
ТГ треугольные матрицы , обобщенная задача (т.е. пара треугольных матриц )
Город треугольная , упакованная матрица хранения
ТР треугольная матрица (или в некоторых случаях квазитреугольная)
ТЗ трапециевидная матрица
И ( комплексная ) унитарная матрица
ВВЕРХ ( сложная ) унитарная , упакованная матрица хранения

Использование с другими языками программирования и библиотеками [ править ]

Многие среды программирования сегодня поддерживают использование библиотек с привязкой к C , что позволяет напрямую использовать подпрограммы LAPACK при условии соблюдения некоторых ограничений. Кроме того, на основе LAPACK построены многие другие программные библиотеки и инструменты для научных и численных вычислений, такие как R , [6] МАТЛАБ , [7] и СкиПи . [8]

несколько альтернативных языковых привязок Также доступны :

Реализации [ править ]

Как и в случае с BLAS, LAPACK иногда разветвляется или переписывается для обеспечения лучшей производительности в конкретных системах. Некоторые из реализаций:

Ускорение
macOS Платформа Apple для и iOS , включающая настроенные версии BLAS и LAPACK. [9] [10]
Нетлиб ЛАПАК
Официальный LAPACK.
Netlib ScaLAPACK
Масштабируемый (многоядерный) LAPACK, построенный на базе PBLAS .
Интел МКЛ
Математические процедуры Intel для процессоров x86.
OpenBLAS
Повторная реализация BLAS и LAPACK с открытым исходным кодом.
Гонум ЛАПАК
Частичная собственная реализация Go .

Поскольку LAPACK обычно вызывает базовые процедуры BLAS для выполнения основной части своих вычислений, простого подключения к лучше настроенной реализации BLAS может быть достаточно для значительного повышения производительности. В результате LAPACK переопределяется не так часто, как BLAS.

Похожие проекты [ править ]

Эти проекты предоставляют функциональность, аналогичную LAPACK, но основной интерфейс отличается от LAPACK:

Либфлейм
Плотная библиотека линейной алгебры. Имеет оболочку, совместимую с LAPACK. Может использоваться с любым BLAS, хотя BLIS является предпочтительной реализацией. [11]
Собственный
Библиотека заголовков для линейной алгебры. Имеет BLAS и частичную реализацию LAPACK для совместимости.
МАГМА
Проект «Матричная алгебра на графических процессорах и многоядерных архитектурах» (MAGMA) разрабатывает библиотеку плотной линейной алгебры, аналогичную LAPACK, но для гетерогенных и гибридных архитектур, включая многоядерные системы, ускоряемые с помощью GPGPU .
ПЛАЗМА
Проект «Параллельная линейная алгебра для масштабируемых многоядерных архитектур» (PLASMA) — это современная замена LAPACK для многоядерных архитектур. PLASMA — это программная платформа для разработки асинхронных операций и функций внеочередного планирования с помощью планировщика времени выполнения QUARK, который можно использовать для любого кода, выражающего свои зависимости с помощью направленного ациклического графа . [12]

См. также [ править ]

Ссылки [ править ]

  1. ^ «Выпуск 3.12.0» . 24 ноября 2023 г. Проверено 19 декабря 2023 г.
  2. ^ Перейти обратно: а б с д Это ж Андерсон, Э.; Бай, З.; Бишоф, К.; Блэкфорд, С.; Деммель, Дж. ; Донгарра, Дж. ; Дю Кроз, Ж.; Гринбаум, А .; Хаммарлинг, С.; Маккенни, А.; Соренсен, Д. (1999). Руководство пользователя LAPACK (Третье изд.). Филадельфия, Пенсильвания: Общество промышленной и прикладной математики. ISBN  0-89871-447-8 . Проверено 28 мая 2022 г.
  3. ^ «Примечания к выпуску LAPACK 3.2» . 16 ноября 2008 г.
  4. ^ «PLAPACK: Пакет параллельной линейной алгебры» . www.cs.utexas.edu . Техасский университет в Остине . 12 июня 2007 года . Проверено 20 апреля 2017 г.
  5. ^ "ЛИЦЕНЗИЯ.txt" . Нетлиб . Проверено 28 мая 2022 г.
  6. ^ «R: Библиотека LAPACK» . stat.ethz.ch. ​ Проверено 19 марта 2022 г.
  7. ^ «ЛАПАК в MATLAB» . Справочный центр Mathworks . Проверено 28 мая 2022 г.
  8. ^ «Низкоуровневые функции LAPACK» . Руководство по SciPy v1.8.1 . Проверено 28 мая 2022 г.
  9. ^ «Руководства и пример кода» . разработчик.apple.com . Проверено 7 июля 2017 г.
  10. ^ «Руководства и пример кода» . разработчик.apple.com . Проверено 7 июля 2017 г.
  11. ^ «amd/libflame: Высокопроизводительная объектно-ориентированная библиотека для вычислений DLA» . Гитхаб . АМД. 25 августа 2020 г.
  12. ^ «ИКЛ» . icl.eecs.utk.edu . Проверено 7 июля 2017 г.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 231ABD57E71A749EB116F74436218E2B__1703590740
URL1:https://en.wikipedia.org/wiki/LAPACK
Заголовок, (Title) документа по адресу, URL1:
LAPACK - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)