remove_a12
Basis change to remove the (1, 2) block of the block-ordered real Schur matrix \(\mathbf{A}\)
Being \(\mathbf{A}_s\in\mathbb{R}^{m\times m}\) a matrix of the form
\[\begin{split}\mathbf{A}_s = \begin{bmatrix} A_{11} & A_{12} \\ 0 & A_{22} \end{bmatrix}\end{split}\]
the (1,2) block is removed by solving the Sylvester equation
\[\mathbf{A}_{11}\mathbf{X} - \mathbf{X}\mathbf{A}_{22} + \mathbf{A}_{12} = 0\]
used to build the change of basis
\[\begin{split}\mathbf{T} = \begin{bmatrix} \mathbf{I}_{s,s} & -\mathbf{X}_{s,u} \\ \mathbf{0}_{u, s}
& \mathbf{I}_{u,u} \end{bmatrix}\end{split}\]
where \(s\) and \(u\) are the respective number of stable and unstable eigenvalues, such that
\[\begin{split}\mathbf{TA}_s\mathbf{T}^\top = \begin{bmatrix} A_{11} & \mathbf{0} \\ 0 & A_{22} \end{bmatrix}.\end{split}\]
- param As:
Block-ordered real Schur matrix (can be built using
sharpy.rom.utils.krylovutils.schur_ordered()
).- type As:
np.ndarray
- param n_stable:
Number of stable eigenvalues in
As
.- type n_stable:
int
- returns:
Basis transformation \(\mathbf{T}\in\mathbb{R}^{m\times m}\).
- rtype:
np.ndarray
References
Jaimoukha, I. M., Kasenally, E. D.. Implicitly Restarted Krylov Subspace Methods for Stable Partial Realizations SIAM Journal of Matrix Analysis and Applications, 1997.