- FactorizationPLU
- FactorizationPLUQ
- FactorizationPLUGeTrid
- FactorizationLDL
- FactorizationLDLComplexSy
- FactorizationLDLSyTridPD
- FactorizationCholesky
- FactorizationCholeskySyPS
- FactorizationPLURaw
- FactorizationPLUQRaw
- FactorizationPLUGeTridRaw
- FactorizationLDLRaw
FactorizationLDLSyTridPD
Вычисляет разложение (факторизацию) симметричной положительно определенной (для вещественных данных) или эрмитовой положительно определенной (для комплексных данных) трехдиагональной матрицы A. Разложение имеет вид:
A = L * D * L**T, если используется нижнетреугольная (или симметричная) матрица A,
или
A = U**T * D * U, если используется верхнетреугольная матрица A,
где L — нижнетреугольная матрица с единицами на диагонали, U — верхнетреугольная матрица с единицами на диагонали. D — диагональная матрица. LAPACK-функция PTTRF.
Вычисления для типа matrix<double>
bool matrix::FactorizationLDLSyTridPD(
|
Вычисления для типа matrix<float>
bool matrix::FactorizationLDLSyTridPD(
|
Вычисления для типа matrix<complex>
bool matrix::FactorizationLDLSyTridPD(
|
Вычисления для типа matrix<complexf>
bool matrix::FactorizationLDLSyTridPD(
|
Параметры
L
[out] Нижнетреугольная или верхнетреугольная матрица с единицами по диагонали.
D
[out] Диагональная матрица D.
Возвращаемое значение
Возвращает true в случае успеха и false в случае ошибки.
Примечание
На вход можно подать симметричную (эрмитову), верхнетреугольную или нижнетреугольную матрицу. Треугольные матрицы подразумеваются симметричными (эрмитово-сопряженными).
Матрицы L и D могут быть использованы для последующих вычислений с помощью методов LDLSyTridPDLinearEquationsSolution и LDLSyTridPDCondNumReciprocal.