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.


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 '20 at 17:14
  • $\begingroup$ That route has dubious stability properties, though. $\endgroup$ Nov 1 '20 at 17:30
  • 2
    $\begingroup$ Always fun to find questions on here where just the right person is able to answer :-) $\endgroup$ Nov 2 '20 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 '20 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.