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

Определитель симметричной положительно определенной матрицы

Если симметричная положительно определенная матрица A представлена своим разложением Холецкого A = LL T или A = U TU, то её определитель может быть вычислен, как произведение квадратов диагональных элементов матрицы L или U.

С учетом того, что разложение Холецкого осуществляется в два раза быстрее, чем LU-разложение, которое используется для вычисления определителей матриц общего вида, этот способ является предпочтительным, если требуется вычислить определитель симметричной положительно определенной матрицы. Для вычисления определителей симметричных матриц, не являющихся положительно определенными, можно использовать алгоритм на основе LDLT-разложения.

Описание подпрограммы

В этом модуле представлено две подпрограммы. Первая подпрограмма, SPDMatrixCholeskyDet, вычисляет определитель матрицы, чье разложение Холецкого уже известно. Вторая подпрограмма, SPDMatrixDet (от англ. symmetric positive definite), работает с симметричными матрицами, чье разложение Холецкого ещё не построено.

В случае, если переданная в подпрограмму SPDMatrixDet матрица не является положительно определенной, определитель матрицы нельзя вычислить этим алгоритмом, и подпрограмма возвращает вместо определителя отрицательное число. Ошибку легко обнаружить, поскольку определитель положительно определенной матрицы является строго положительным числом.

Manual entries

C++ matdet subpackage   
C# matdet 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-2012.
ALGLIB is registered trademark of the ALGLIB Project.