- LinearEquationsSolution
- LinearEquationsSolutionTriangular
- InverseTriangular
- CondNumReciprocalTriangular
- LinearEquationsSolutionSy
- LinearEquationsSolutionComplexSy
- LinearEquationsSolutionSyPD
- LinearEquationsSolutionGeTrid
- LinearEquationsSolutionSyTridPD
- SylvesterEquationTriangular
- SylvesterEquationTriangularBlocked
SylvesterEquationTriangular
Решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц:
op(A)*X + X*op(B) = scale*C
или
op(A)*X - X*op(B) = scale*C
где op(A) = A, A**T или A**H, а A и B — верхнетреугольные матрицы. A имеет размер m на m, а B — n на n; правая часть C и решение X имеют размер m на n, при этом коэффициент масштабирования scale устанавливается в значение <= 1 для предотвращения переполнения в X.
LAPACK-функция TRSYL.
Вычисления для типа matrix<double>
bool matrix::SylvesterEquationTriangular(
|
Вычисления для типа matrix<float>
bool matrixf::SylvesterEquationTriangular(
|
Вычисления для типа matrix<complex>
bool matrix::SylvesterEquationTriangular(
|
Вычисления для типа matrix<complexf>
bool matrix::SylvesterEquationTriangular(
|
Параметры
transa
[in] Значение из перечисления ENUM_BLAS_TRANS, задающее опцию op(A).
transb
[in] Значение из перечисления ENUM_BLAS_TRANS, задающее опцию op(B).
isign
[in] Значение из перечисления ENUM_SYLVESTER_ISIGN, задающее знак в уравнении.
B
[in] Верхнетреугольная матрица B.
C
[in] Матрица C, столбцы которой представляют собой правые части систем линейных уравнений.
X
[out] Матрица X с решением уравнения Сильвестра.
scale
[out] Коэффициент масштабирования, устанавливаемый ≤ 1 для предотвращения переполнения в X.
Возвращаемое значение
Возвращает true в случае успеха, иначе false в случае ошибки.
Примечание
Выходная матрица X имеет те же размеры, что и входная матрица C.
ENUM_BLAS_TRANS
Перечисление, задающее опции op(A) и op(B).
Идентификатор |
Описание |
|---|---|
BLASTRANS_N |
'N' — без транспонирования |
BLASTRANS_T |
'T' — транспонирование |
BLASTRANS_C |
'C' — сопряженное транспонирование |
Для вещественных матриц значение BLASTRANS_C трактуется как транспонирование.
Для комплексных матриц значение BLASTRANS_T трактуется как сопряженное транспонирование.
ENUM_SYLVESTER_ISIGN
Перечисление, определяющее знак в уравнении.
Идентификатор |
Описание |
|---|---|
ISIGN_PLUS |
+1 — решается op(A)*X + X*op(B) = scale*C |
ISIGN_MINUS |
-1 — решается op(A)*X - X*op(B) = scale*C |