FactorizationPLUGeTridRaw

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

   A = P * L * U

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

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

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

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

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

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

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

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

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

Параметры

AF

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

ipiv

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

 

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

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

Примечания

Матрица AF и массив индексов ipiv[] являются "сырым" выходом функции GTTRF и могут использоваться для последующих вычислений методами PLUGeTridLinearEquationsSolution и PLUGeTridCondNumReciprocal.