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.