LDLSyTridPDLinearEquationsSolution

Решает систему линейных уравнений  A * X = B  с вещественной симметричной или комплексной эрмитовой положительно определенной трехдиагональной матрицей, используя разложение A = L * D * L**T, вычисленное методом FactorizationLDLSyTridPD, для нескольких правых частей. LAPACK-функция PTTRS.

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

bool  matrix::LDLSyTridPDLinearEquationsSolution(
   matrix&             D,            // диагональная матрица
   matrix&             B,            // матрица B правой части
   matrix&             X             // матрица решений X
   );
 
bool  matrix::LDLSyTridPDLinearEquationsSolution(
   matrix&             D,            // диагональная матрица
   vector&             B,            // вектор B правой части
   vector&             X             // вектор решений X
   );

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

bool  matrixf::LDLSyTridPDLinearEquationsSolution(
   matrixf&            D,            // диагональная матрица
   matrixf&            B,            // матрица B правой части
   matrixf&            X             // матрица решений X
   );
 
bool  matrixf::LDLSyTridPDLinearEquationsSolution(
   matrixf&            D,            // диагональная матрица
   vectorf&            B,            // вектор B правой части
   vectorf&            X             // вектор решений X
   );

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

bool  matrixc::LDLSyTridPDLinearEquationsSolution(
   matrixcd&           D,            // диагональная матрица
   matrixc&            B,            // матрица B правой части
   matrixc&            X             // матрица решений X
   );
 
bool  matrixc::LDLSyTridPDLinearEquationsSolution(
   matrixcd&           D,            // диагональная матрица
   vectorc&            B,            // вектор B правой части
   vectorc&            X             // вектор решений X
   );

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

bool  matrixcf::LDLSyTridPDLinearEquationsSolution(
   matrixcf&           D,            // диагональная матрица
   matrixcf&           B,            // матрица B правой части
   matrixcf&           X             // матрица решений X
   );
 
bool  matrixcf::LDLSyTridPDLinearEquationsSolution(
   matrixcf&           D,            // диагональная матрица
   vectorcf&           B,            // вектор B правой части
   vectorcf&           X             // вектор решений X
   );

Параметры

D

[in]  Диагональная матрица, полученная в результате разложения методом FactorizationLDLSyTridPD.

B

[in]  Матрица B, столбцы которой представляют собой правые части систем линейных уравнений. Если это вектор B, здесь содержится одна правая часть.

X

[out]  Матрица или вектор X с решениями системы линейных уравнений.

 

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

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

Примечание

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

Выходная матрица X имеет те же размеры, что и входная матрица B. Выходной вектор X имеет ту же размерность, что и входной вектор B.