Factorizations

Раздел Factorizations содержит функции для выполнения различных видов матричных разложений, используемых при численном решении систем линейных уравнений, анализе устойчивости и других задачах линейной алгебры. Эти разложения преобразуют исходную матрицу в более простые формы, что облегчает дальнейшие вычисления. Все функции реализованы с использованием LAPACK-подпрограмм и поддерживают типы double, float, complex и complexf.

Функции этого раздела применяются:

  • Для предварительной обработки матриц при решении систем линейных уравнений;
  • При расчете определителей, ранга и инверсии матриц;
  • Для оценки устойчивости численных методов;
  • При решении задач в спектральной теории и методах оптимизации.

Разложение матриц — ключевой этап во многих алгоритмах линейной алгебры, и данный раздел обеспечивает доступ к наиболее эффективным и проверенным методам факторизации.

Функция

Выполняемое действие

FactorizationPLU

Вычисляет LU-разложение общей матрицы A размером m на n с использованием частичного выбора ведущего элемента и перестановок строк. Разложение имеет вид A = P * L * U. LAPACK-функция GETRF.

FactorizationPLUQ

Вычисляет LU-разложение общей матрицы A размером n на n с использованием полного выбора ведущего элемента (с перестановкой строк и столбцов). Разложение имеет вид: A = P * L * U * Q, где P — матрица перестановок строк, L — нижнетреугольная матрица с единицами по диагонали, U — верхнетреугольная матрица, а Q — матрица перестановок столбцов. LAPACK-функция GETC2.

FactorizationPLUGeTrid

Вычисляет LU-разложение общей (несимметричной) трехдиагональной матрицы A размером n на n с использованием частичного выбора ведущего элемента и перестановок строк. Разложение имеет вид A = P * L * U. LAPACK-функция GTTRF.

FactorizationLDL

Вычисляет разложение для вещественной симметричной или комплексной эрмитовой матрицы A с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана. LAPACK-функции SYTRF и HETRF.

FactorizationLDLComplexSy

Вычисляет разложение вещественной комплексной симметричной (не эрмитово сопряженной!) матрицы A с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана. Функция LAPACK SYTRF.

FactorizationLDLSyTridPD

Вычисляет разложение симметричной положительно определенной (для вещественных данных) или эрмитовой положительно определенной (для комплексных данных) трехдиагональной матрицы A. LAPACK-функция PTTRF.

FactorizationCholesky

Вычисляет разложение для вещественной симметричной или комплексной эрмитовой положительно-определенной матрицы A. LAPACK-функция POTRF.

FactorizationCholeskySyPS

Вычисляет разложение Холецкого с полным выбором ведущего элемента (complete pivoting) для вещественной симметричной (или комплексной эрмитовой) положительно полуопределенной матрицы A размером n на n. Функция LAPACK PSTRF.

FactorizationPLURaw

Вычисляет LU-разложение общей матрицы A размером m на n с использованием частичного выбора ведущего элемента и перестановок строк. Разложение имеет вид A = P * L * U,

где P — матрица перестановок, L — нижнетреугольная матрица с единицами на диагонали (или нижняя трапециевидная матрица, если m > n), а U — верхнетреугольная матрица (или верхняя трапециевидная матрица, если m < n). LAPACK function GETRF.

FactorizationPLUQRaw

Вычисляет LU-разложение общей матрицы A размером n на n с использованием полного выбора ведущего элемента (с перестановкой строк и столбцов). Разложение имеет вид A = P * L * U * Q,

где P — матрица перестановок строк, L — нижнетреугольная матрица с единицами по диагонали, U — верхнетреугольная матрица, а Q — матрица перестановок столбцов. LAPACK-функция GETC2.

FactorizationPLUGeTridRaw

Вычисляет LU-разложение общей (несимметричной) трехдиагональной матрицы A размером n на n с использованием частичного выбора ведущего элемента и перестановок строк. Разложение имеет вид A = P * L * U, где P — матрица перестановок, L — нижнетреугольная матрица с единицами по диагонали, а U — верхнетреугольная. LAPACK function GTTRF.

FactorizationLDLRaw

Computes the factorization of a real symmetric or complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. LAPACK functions SYTRF, HETRF.

FactorizationLDLComplexSyRaw

Вычисляет разложение вещественной комплексной симметричной матрицы A с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана.  Функция LAPACK SYTRF.