Suponiendo que sé que el siguiente par de ecuaciones tiene una solución exacta:
$$\exists X=X^T \in \mathbb{R}^{n \times n}: AX=XA^T,\ B=XC^T$$ Para algunas matrices $A \in \mathbb{R}^{n \times n}$, $B \in \mathbb{R}^{n \times m}$ y $C \in \mathbb{R}^{m \times n}$ y $X$ es invertible. ¿Cómo encuentro $X$?
Obviamente puedo formar el siguiente sistema sobredeterminado:
$$\begin{bmatrix} I \otimes A - A \otimes I \\ C \otimes I \end{bmatrix} vect(X)=vect(\begin{bmatrix} 0 \\ B \end{bmatrix})$$
Y resolverlo solo para los elementos de $vect(X)$ correspondientes a los elementos de la matriz triangular superior de $X$.
Esto funciona bien en la práctica, pero no puedo evitar pensar que dado que existe una solución exacta, ¿debería ser posible resolver $X$ sin resolver un problema de mínimos cuadrados sobredeterminado?
Para un poco de contexto, en mi aplicación particular, $X$ es la matriz asociada con una realización de espacio de estados recíproca, de tal manera que:
$$ \begin{bmatrix} \dot x(t) \\ y(t) \end{bmatrix} = \begin{bmatrix} A & B \\ C & D \end{bmatrix} \begin{bmatrix} x(t) \\ u(t) \end{bmatrix} = \begin{bmatrix} XA^TX^{-1} & XC^T \\ B^TX^{-1} & D^T \end{bmatrix} \begin{bmatrix} x(t) \\ u(t) \end{bmatrix} $$
Lo cual asegura que (y siempre existe cuando) la función de transferencia $H(s)=H^T(s)$ es simétrica.
Este problema aparece regularmente en la literatura de control, pero hasta ahora no he encontrado ninguna solución explícita, quizás porque es un problema tan 'trivial' que los autores no se molestan en explicar cómo resolverlo.
EDITAR:
Veamos el caso en el que $n=2$ y $m=1$
$$\begin{bmatrix} I \otimes A - A \otimes I \\ C \otimes I \end{bmatrix} \begin{bmatrix} x_{11} \\ x_{21} \\ x_{12} \\ x_{22} \end{bmatrix} = \begin{bmatrix} 0 & a_{12} & -a_{12} & 0 \\ a_{21} & a_{22} - a_{11} & 0 & -a_{12} \\ -a_{21} & 0 & a_{11} - a_{22} & a_{12} \\ 0 & -a_{21} & a_{21} & 0 \\ \hline c_{11} & 0 & c_{12} & 0 \\ 0 & c_{11} & 0 & c_{12} \end{bmatrix}\begin{bmatrix} x_{11} \\ x_{21} \\ x_{12} \\ x_{22} \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 0 \\ \hline b_{11} \\ b_{21} \end{bmatrix}$$
Tras eliminar la variable $x_{12} = x_{21}$ obtenemos:
$$\begin{bmatrix} 0 & 0 & 0 \\ a_{21} & a_{22} - a_{11} & -a_{12} \\ -a_{21} & a_{11} - a_{22} & a_{12} \\ 0 & 0 & 0 \\ \hline c_{11} & c_{12} & 0 \\ 0 & c_{11} & c_{12} \end{bmatrix}\begin{bmatrix} x_{11} \\ x_{21} \\ x_{22} \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 0 \\ \hline b_{11} \\ b_{21} \end{bmatrix}$$
Las dos filas correspondientes a los elementos diagonales de la matriz superior en el lado derecho son ambas cero, y además de eso, las dos filas correspondientes a los elementos fuera de la diagonal de la matriz superior en el lado derecho son el negativo el uno del otro. Al eliminar filas duplicadas cero y (negativas) obtenemos:
$$\begin{bmatrix} a_{21} & a_{22} - a_{11} & -a_{12} \\ \hline c_{11} & c_{12} & 0 \\ 0 & c_{11} & c_{12} \end{bmatrix}\begin{bmatrix} x_{11} \\ x_{21} \\ x_{22} \end{bmatrix} = \begin{bmatrix} 0 \\ \hline b_{11} \\ b_{21} \end{bmatrix}$$
Resulta que al eliminar filas cero y redundantes de la matriz LHS resulta en una matriz con $(n^2-n)/2+nm$ filas y todavía $(n^2-n)/2+n$ columnas, lo que resulta ser una matriz cuadrada en este caso donde $m=1$.