LinearEquationsSolutionTriangular

Вычисляет систему линейных уравнений с квадратно-треугольной матрицей коэффициентов A и несколькими правыми частями. Имеет вид A*X = B, где A — общая квадратная матрица размера n на n, столбцы матрицы B представляют собой отдельные правые части, а столбцы матрицы X содержат соответствующие решения. Функция LAPACK TRTRS.

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

bool  matrix::LinearEquationsSolutionTriangular(
   ENUM_EQUATIONS_FORM trans,        // форма системы уравнений
   matrix&             B,            // матрица правых частей B
   matrix&             X             // матрица решений X
   );
 
bool  matrix::LinearEquationsSolutionTriangular(
   ENUM_EQUATIONS_FORM trans,        // форма системы уравнений
   vector&             B,            // матрица правых частей B
   vector&             X             // вектор решений X
   );

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

bool  matrix::LinearEquationsSolutionTriangular(
   ENUM_EQUATIONS_FORM trans,        // форма системы уравнений
   matrixf&            B,            // матрица правых частей B
   matrixf&            X             // матрица решений X
   );
 
bool  matrix::LinearEquationsSolutionTriangular(
   ENUM_EQUATIONS_FORM trans,        // форма системы уравнений
   vectorf&            B,            // матрица правых частей B
   vectorf&            X             // вектор решений X
   );

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

bool  matrix::LinearEquationsSolutionTriangular(
   ENUM_EQUATIONS_FORM trans,        // форма системы уравнений
   matrixc&            B,            // матрица правых частей B
   matrixc&            X             // матрица решений X
   );
 
bool  matrix::LinearEquationsSolutionTriangular(
   ENUM_EQUATIONS_FORM trans,        // форма системы уравнений
   vectorc&            B,            // матрица правых частей B
   vectorc&            X             // вектор решений X
   );

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

bool  matrix::LinearEquationsSolutionTriangular(
   ENUM_EQUATIONS_FORM trans,        // форма системы уравнений
   matrixcf&           B,            // матрица правых частей B
   matrixcf&           X             // матрица решений X
   );
 
bool  matrix::LinearEquationsSolutionTriangular(
   ENUM_EQUATIONS_FORM trans,        // форма системы уравнений
   vectorcf&           B,            // матрица правых частей B
   vectorcf&           X             // вектор решений X
   );

Параметры

trans

[in]  Значение перечисления ENUM_EQUATIONS_FORM, которое определяет форму системы уравнений.

B

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

X

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

 

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

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

Примечание

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

ENUM_EQUATIONS_FORM

Перечисление, определяющее форму вычисляемой системы уравнений.

Идентификатор

Описание

EQUATIONSFORM_N

'N': A * X = B  (без транспонирования)

EQUATIONSFORM_T

'T': A**T * X = B  (транспонированная матрица A)

EQUATIONSFORM_C

'C': A**H * X = B  (сопряженно-транспонированная матрица A)

Для вещественных матриц значение EQUATIONSFORM_C интерпретируется как EQUATIONSFORM_T.