Computes a solution (X) to the Sylvester equation (AX + XB = Q).
a : array, shape (M, M)
b : array, shape (N, N)
q : array, shape (M, N)
x : array, shape (M, N)
Computes a solution to the Sylvester matrix equation via the Bartels- Stewart algorithm. The A and B matrices first undergo Schur decompositions. The resulting matrices are used to construct an alternative Sylvester equation (RY + YS^T = F) where the R and S matrices are in quasi-triangular form (or, when R, S or F are complex, triangular form). The simplified equation is then solved using *TRSYL from LAPACK directly.