LDLLinearEquationsSolution

Solves a system of linear equations  A * X = B  with a real symmetric or complex Hermitian indefinite matrix using the factorization A = U**T * D * U or A = L * D * L**T computed by FactorizationLDLRaw, with multiple right-hand sides. LAPACK functions SYTRS, HETRS.

Computing for type matrix<double>

bool  matrix::LDLLinearEquationsSolution(
   long[]&             ipiv,         // pivot indices array
   matrix&             B,            // right hand side matrix B
   matrix&             X             // solution matrix X
   );
 
bool  matrix::LDLLinearEquationsSolution(
   long[]&             ipiv,         // pivot indices array
   vector&             B,            // right hand side vector B
   vector&             X             // solution vector X
   );

Computing for type matrix<float>

bool  matrixf::LDLLinearEquationsSolution(
   long[]&             ipiv,         // pivot indices array
   matrixf&            B,            // right hand side matrix B
   matrixf&            X             // solution matrix X
   );
 
bool  matrixf::LDLLinearEquationsSolution(
   long[]&             ipiv,         // pivot indices array
   vectorf&            B,            // right hand side vector B
   vectorf&            X             // solution vector X
   );

Computing for type matrix<complex>

bool  matrixc::LDLLinearEquationsSolution(
   long[]&             ipiv,         // pivot indices array
   matrixc&            B,            // right hand side matrix B
   matrixc&            X             // solution matrix X
   );
 
bool  matrixc::LDLLinearEquationsSolution(
   long[]&             ipiv,         // pivot indices array
   vectorc&            B,            // right hand side vector B
   vectorc&            X             // solution vector X
   );

Computing for type matrix<complexf>

bool  matrixcf::LDLLinearEquationsSolution(
   long[]&             ipiv,         // pivot indices array
   matrixcf&           B,            // right hand side matrix B
   matrixcf&           X             // solution matrix X
   );
 
bool  matrixcf::LDLLinearEquationsSolution(
   long[]&             ipiv,         // pivot indices array
   vectorcf&           B,            // right hand side vector B
   vectorcf&           X             // solution vector X
   );

Parameters

ipiv

[in]  Pivot indices array obtained as result of SYTRF or HETRF function.

B

[in]  Matrix B whose columns are the right-hand sides for the systems of equations. Vector B contains one column of right-hand side.

X

[out]  Matrix or vector X with solutions of linear equations system.

 

Return Value

Return true if successful, otherwise false in case of an error.

Note

This method is applied to the matrix AF obtained as result of SYTRF or HETRF function.

Output matrix X has the same sizes as input matrix B. Output vector X has the same size as input vector B.