CholeskyCondNumReciprocal

Оценивает обратное число обусловленности (reciprocal condition number) вещественной симметричной или комплексной эрмитовой положительно определенной матрицы A с использованием LLT-разложения, вычисленного методом FactorizationCholesky. Соответствует LAPACK-функции POCON.

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

bool  matrix::CholeskyCondNumReciprocal(
   double          anorm,         // значение нормы матрицы
   double&         rcond          // обратное число обусловленности
   );

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

bool  matrixf::CholeskyCondNumReciprocal(
   float           anorm,         // значение нормы матрицы
   float&          rcond          // обратное число обусловленности
   );

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

bool  matrixc::CholeskyCondNumReciprocal(
   double          anorm,         // значение нормы матрицы
   double&         rcond          // обратное число обусловленности
   );

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

bool  matrixcf::CholeskyCondNumReciprocal(
   float           anorm,         // значение нормы матрицы
   float&          rcond          // обратное число обусловленности
   );

Параметры

anorm

[in]  Норма матрицы по первой норме (one-norm). Значение нормы можно получить с помощью метода MatrixNormSy, примененного к исходной матрице A.

rcond

[out] Оценка обратного числа обусловленности. Если оценка приводит к переполнению вниз (underflow), устанавливается rcond = 0, что означает, что матрица сингулярна (в пределах рабочей точности). Если значение rcond мало по сравнению с 1.0, это свидетельствует о том, что матрица может быть плохо обусловленной или даже сингулярной.

 

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

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

Примечание

Метод применяется к матрице L, полученной в результате разложения методом FactorizationCholesky.

Вычисленное значение rcond не может быть меньше, чем r (истинное обратное число обусловленности) и на практике почти всегда меньше 10r. Вызов метода содержит решение нескольких систем линейных уравнений вида A*x = b — обычно 4 или 5, но не более 11.