Is there a name/standard algorithm to solve the following equation for $X$?


Matrices $A$,$B$,$C$ are dense, diagonalizable, nearly singular, about $1000\times 1000$ in size. I've looked through SLICOT routines, and nothing looked directly applicable.


1 Answer 1


It is called a T-Sylvester equation, or *-Sylvester equation in the complex case. Solvability conditions and a pseudocode algorithm based on the Schur form are in https://doi.org/10.13001/1081-3810.1479 . Analogous considerations for a more general class of equations and a Fortran-90 implementation of the last step of the resulting solution algorithm (the back-substitution on the triangular version of the equation) are in my paper https://doi.org/10.1002/nla.2261 . I don't think you will find something in Slicot, because it has no immediate control theory applications.

  • $\begingroup$ thanks for the reference....it seems there's also a straightforward way to convert it to regular Sylvester equation and reuse those solvers $\endgroup$ Nov 1, 2020 at 17:14
  • $\begingroup$ That route has dubious stability properties, though. $\endgroup$ Nov 1, 2020 at 17:30
  • 2
    $\begingroup$ Always fun to find questions on here where just the right person is able to answer :-) $\endgroup$ Nov 2, 2020 at 16:51
  • 1
    $\begingroup$ BTW, evaluated a couple of reduction methods here -- wolframcloud.com/obj/yaroslavvb/newton/t-sylvester-solve.nb . Reducing to spectral decomposition gives acceptable quality, but the speed could use improvement -- 2.9 seconds end-to-end where diagonalization takes 1.3 seconds and Shur takes 1.0 seconds $\endgroup$ Nov 4, 2020 at 18:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.