LinearEquationsSolutionTriangular

Computes the solution to the system of linear equations with a square triangular coefficient matrix A and multiple right-hand sides. A*X = B, where A is an n-by-n general matrix, the columns of matrix B are individual right-hand sides, and the columns of X are the corresponding solutions. Lapack function TRTRS.

Computing for type matrix<double>

bool  matrix::LinearEquationsSolutionTriangular(
  ENUM_EQUATIONS_FORM trans,        // form of the system of equations
  matrix&           B,           // right hand side matrix B
  matrix&             X           // solution matrix X
  );
 
bool  matrix::LinearEquationsSolutionTriangular(
  ENUM_EQUATIONS_FORM trans,        // form of the system of equations
  vector&           B,           // right hand side vector B
  vector&             X           // solution vector X
  );

Computing for type matrix<float>

bool  matrix::LinearEquationsSolutionTriangular(
  ENUM_EQUATIONS_FORM trans,        // form of the system of equations
  matrixf&         B,           // right hand side matrix B
  matrixf&           X           // solution matrix X
  );
 
bool  matrix::LinearEquationsSolutionTriangular(
  ENUM_EQUATIONS_FORM trans,        // form of the system of equations
  vectorf&           B,           // right hand side vector B
  vectorf&           X           // solution vector X
  );

Computing for type matrix<complex>

bool  matrix::LinearEquationsSolutionTriangular(
  ENUM_EQUATIONS_FORM trans,        // form of the system of equations
  matrixc&         B,           // right hand side matrix B
  matrixc&           X           // solution matrix X
  );
 
bool  matrix::LinearEquationsSolutionTriangular(
  ENUM_EQUATIONS_FORM trans,        // form of the system of equations
  vectorc&         B,           // right hand side vector B
  vectorc&           X           // solution vector X
  );

Computing for type matrix<complexf>

bool  matrix::LinearEquationsSolutionTriangular(
  ENUM_EQUATIONS_FORM trans,        // form of the system of equations
  matrixcf&         B,           // right hand side matrix B
  matrixcf&           X           // solution matrix X
  );
 
bool  matrix::LinearEquationsSolutionTriangular(
  ENUM_EQUATIONS_FORM trans,        // form of the system of equations
  vectorcf&         B,           // right hand side vector B
  vectorcf&           X           // solution vector X
  );

Parameters

trans

[in]  ENUM_EQUATIONS_FORM enumeration value which specifies the form of the system of equations.

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

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

ENUM_EQUATIONS_FORM

An enumeration defining which form of the equations' system calculated.

ID

Description

EQUATIONSFORM_N

'N': A * X = B  (No transpose)

EQUATIONSFORM_T

'T': A**T * X = B  (Transpose)

EQUATIONSFORM_C

'C': A**H * X = B  (Conjugate transpose)

In case of real matrices the value EQUATIONSFORM_C assumed as Transpose.