Sylvester Equations

 

Раздел содержит функции для решения уравнений Сильвестра вида A*X + X*B = C, где A и B — квадратные матрицы, C — правая часть, а X — неизвестная матрица решений. Методы поддерживают вещественные и комплексные типы матриц (double, float, complex, complexf) и используют LAPACK-функции, такие как GEES, TRSYL и TRSYL3.

В раздел входят общий метод решения для произвольных квадратных матриц, методы для треугольных матриц или матриц в форме Шура, а также блочные варианты, оптимизированные для вычислений BLAS уровня 3. Некоторые функции также поддерживают транспонированные или сопряженно-транспонированные операнды и коэффициент масштабирования, позволяющий избежать переполнения в вычисленном решении.

Function

Action

SylvesterEquation

Решает уравнение Сильвестра для вещественных или комплексных квадратных матриц: A*X + X*B = scale*C где A — общая матрица размера m на m, а B — общая матрица размера n на n. Используются LAPACK-функции GEES и TRSYL.

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 — верхнетреугольные матрицы. LAPACK-функция TRSYL.

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 — верхнетреугольные матрицы. LAPACK-функция TRSYL3.

SylvesterEquationSchur

Решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц: A*X + X*B = C где A и B — верхнетреугольные матрицы. A имеет размер m на m, а B — n на n. LAPACK-функция TRSYL.

SylvesterEquationSchurBlocked

Решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц: A*X + X*B = C где A и B — верхнетреугольные матрицы. A имеет размер m на m, а B — n на n.

LAPACK-функция TRSYL3.