- LinearEquationsSolution
- LinearEquationsSolutionTriangular
- InverseTriangular
- CondNumReciprocalTriangular
- LinearEquationsSolutionSy
- LinearEquationsSolutionComplexSy
- LinearEquationsSolutionSyPD
- LinearEquationsSolutionGeTrid
- LinearEquationsSolutionSyTridPD
- SylvesterEquationTriangular
- SylvesterEquationTriangularBlocked
SylvesterEquationTriangularBlocked
Решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц:
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-функция TRSYL3. Это блочная (BLAS уровня 3) версия TRSYL. Быстрее до 5 раз, но менее точная.
Вычисления для типа matrix<double>
bool matrix::SylvesterEquationTriangularBlocked(
|
Вычисления для типа matrix<float>
bool matrixf::SylvesterEquationTriangularBlocked(
|
Вычисления для типа matrix<complex>
bool matrix::SylvesterEquationTriangularBlocked(
|
Вычисления для типа matrix<complexf>
bool matrix::SylvesterEquationTriangularBlocked(
|
Параметры
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 имеет те же размеры, что и входная матрица B. Выходной вектор X имеет ту же размерность, что и входной вектор B.