Главная       Скачать       Коммерческая поддержка       FAQ       Forum       О нас       Английская версия

QR и LQ разложения

QR-разложение является наиболее известным представителем семейства ортогональных факторизаций, включающего в себя QR, LQ, RQ и QL разложения. Здесь Q обозначает ортогональную матрицу, а R и L - верхне и нижнетреугольные матрицы соответственно. В пакете ALGLIB реализованы наиболее часто использующиеся разложения: QR и LQ. Эти разложения могут использоваться для решения полной по рангу переопределенной системы линейных уравнений, как промежуточный этап в SVD-разложении матрицы, либо для других задач. QL и RQ разложения имеют меньше применений и в пакете ALGLIB не реализованы.

Содержание

    1 Алгоритм
    2 Быстродействие
    3 Подпрограммы
    4 Manual entries

Алгоритм

Для вычисления QR(LQ)-разложения в пакете ALGLIB используется алгоритм, схожий с реализованным в LAPACK:

Быстродействие

В отличие от алгоритмов треугольной факторизации, входящих в состав ALGLIB, реализация QR(LQ) разложения не является cache oblivious. Тем не менее, даже такой алгоритм может эффективно использовать кэш процессора без специальной настройки (хотя и несколько менее эффективно, чем алгоритмы треугольной факторизации). Алгоритм активно использует ALGLIB BLAS, главным образом - rank-k updates.

С точки зрения быстродействия, решаемые задачи относятся к одному из двух классов:

Подпрограммы

Пакет ALGLIB содержит подпрограммы для QR(LQ)-разложения как вещественных, так и комплексных матриц. Ниже приведен список вещественных версий подпрограмм:

Комплексные версии подпрограмм имеют аналогичные имена:

Manual entries

C++ ortfac subpackage   
C# ortfac subpackage   

This article is intended for personal use only.

Скачать ALGLIB

C#

Исходный код на C#

Downloads page

 

C++

Исходный код на C++

Downloads page

 

C++, арифметика высокой точности

Исходный код на C++, использующий библиотеки MPFR/GMP.

Исходный код GMP доступен на сайте gmplib.org. Исходный код MPFR доступен на сайте www.mpfr.org.

Downloads page

 

FreePascal

Исходный код на Free Pascal.

Downloads page

 

Delphi

Исходный код на Delphi.

Downloads page

 

VB.NET

Исходный код на VB.NET.

Downloads page

 

VBA

Исходный код на VBA.

Downloads page

 

Python

Исходный код на Python (CPython и IronPython).

Downloads page

 

 

ALGLIB® - numerical analysis library, 1999-2017.
ALGLIB is registered trademark of the ALGLIB Project.