FactorizationPLURaw

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

   A = P * L * U

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

Вычисления для типа matrix<double>

bool  matrix::FactorizationPLURaw(
   matrix&         AF,           // факторизованная матрица A
   long[]&         ipiv          // массив индексов опорных точек
   );

Вычисления для типа matrix<float>

bool  matrixf::FactorizationPLURaw(
   matrixf&        AF,           // факторизованная матрица A
   long[]&         ipiv          // массив индексов опорных точек
   );

Вычисления для типа matrix<complex>

bool  matrixc::FactorizationPLURaw(
   matrixc&        AF,           // факторизованная матрица A
   long[]&         ipiv          // массив индексов опорных точек
   );

Вычисления для типа matrix<complexf>

bool  matrixcf::FactorizationPLURaw(
   matrixcf&       AF,           // факторизованная матрица A
   long[]&         ipiv          // массив индексов опорных точек
   );

Параметры

AF

[out]  Факторизованная матрица A. Содержит множители L и U из факторизации A = P*L*U; единичные диагональные элементы матрицы L не сохраняются.

ipiv

[out]  Массив индексов перестановок размерности M; строка i матрицы A была переставлена со строкой ipiv[i].

 

Возвращаемое значение

Возвращает true в случае успеха и false в случае ошибки.

Примечания

Матрица AF и массив индексов ipiv[] являются "сырым" выходом функции GETRF и могут использоваться для последующих вычислений методами PLULinearEquationsSolution, PLUInverse и PLUCondNumReciprocal. В таких случаях исходная матрица А должна быть квадратной.