- FactorizationPLU
- FactorizationPLUQ
- FactorizationPLUGeTrid
- FactorizationLDL
- FactorizationLDLComplexSy
- FactorizationLDLSyTridPD
- FactorizationCholesky
- FactorizationCholeskySyPS
- FactorizationPLURaw
- FactorizationPLUQRaw
- FactorizationPLUGeTridRaw
- FactorizationLDLRaw
- FactorizationLDLComplexSyRaw
FactorizationLDLRaw
Вычисляет разложение для вещественной симметричной или комплексной эрмитовой матрицы A с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана. Разложение имеет вид:
A = L * D * L**T, если используется нижнетреугольная или симметричная матрица A,
или
A = U**T * D * U, если используется верхнетреугольная матрица A,
где L — нижнетреугольная матрица с единицами на диагонали, U — верхнетреугольная матрица с единицами на диагонали. D — симметричная блочно-диагональная матрица с диагональными блоками размером 1x1 и 2x2. LAPACK-функции SYTRF и HETRF.
Вычисления для типа matrix<double>
bool matrix::FactorizationLDLRaw(
|
Вычисления для типа matrix<float>
bool matrixf::FactorizationLDLRaw(
|
Вычисления для типа matrix<complex>
bool matrixc::FactorizationLDLRaw(
|
Вычисления для типа matrix<complexf>
bool matrixcf::FactorizationLDLRaw(
|
Параметры
AF
[out] Факторизованная матрица A. Блочно-диагональная матрица D и множитель L или U.
ipiv
[out] Массив индексов перестановок размера N с информацией о выполненных перестановках и блочной структуре матрицы D.
Возвращаемое значение
Возвращает true в случае успеха и false в случае ошибки.
Примечания
На вход можно подать симметричную (эрмитову), верхнетреугольную или нижнетреугольную матрицу. Треугольные матрицы подразумеваются симметричными (эрмитово-сопряженными).
Матрица AF и массив индексов ipiv[] являются "сырым" выходом функции SYTRF (HETRF) и могут использоваться для последующих вычислений методами LDLLinearEquationsSolution, LDLInverse и LDLCondNumReciprocal.