LDLLinearEquationsSolution

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

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

bool  matrix::LDLLinearEquationsSolution(
   long[]&             ipiv,         // массив индексов перестановок
   matrix&             B,            // матрица B правой части
   matrix&             X             // матрица решений X
   );
 
bool  matrix::LDLLinearEquationsSolution(
   long[]&             ipiv,         // массив индексов перестановок
   vector&             B,            // вектор B правой части
   vector&             X             // вектор решений X
   );

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

bool  matrixf::LDLLinearEquationsSolution(
   long[]&             ipiv,         // массив индексов перестановок
   matrixf&            B,            // матрица B правой части
   matrixf&            X             // матрица решений X
   );
 
bool  matrixf::LDLLinearEquationsSolution(
   long[]&             ipiv,         // массив индексов перестановок
   vectorf&            B,            // вектор B правой части
   vectorf&            X             // вектор решений X
   );

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

bool  matrixc::LDLLinearEquationsSolution(
   long[]&             ipiv,         // массив индексов перестановок
   matrixc&            B,            // матрица B правой части
   matrixc&            X             // матрица решений X
   );
 
bool  matrixc::LDLLinearEquationsSolution(
   long[]&             ipiv,         // массив индексов перестановок
   vectorc&            B,            // вектор B правой части
   vectorc&            X             // вектор решений X
   );

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

bool  matrixcf::LDLLinearEquationsSolution(
   long[]&             ipiv,         // массив индексов перестановок
   matrixcf&           B,            // матрица B правой части
   matrixcf&           X             // матрица решений X
   );
 
bool  matrixcf::LDLLinearEquationsSolution(
   long[]&             ipiv,         // массив индексов перестановок
   vectorcf&           B,            // вектор B правой части
   vectorcf&           X             // вектор решений X
   );

Параметры

ipiv

[in]  Массив индексов перестановок, полученный в результате выполнения функций SYTRF или HETRF.

B

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

X

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

 

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

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

Примечание

Метод применяется к матрице AF, полученной с помощью функции SYTRF или HETRF.

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