Krylov子空间方法在控制理论模型降阶中的应用
题目描述
考虑一个大型线性动力系统,其状态空间模型为:
\(\dot{x} = Ax + Bu\),
\(y = Cx\),
其中 \(A \in \mathbb{R}^{n \times n}\) 是系统矩阵(\(n\) 很大),\(B \in \mathbb{R}^{n \times p}\) 是输入矩阵,\(C \in \mathbb{R}^{q \times n}\) 是输出矩阵。目标是利用Krylov子空间方法构造一个降阶模型:
\(\dot{\hat{x}} = \hat{A}\hat{x} + \hat{B}u\),
\(y = \hat{C}\hat{x}\),
其中 \(\hat{A} \in \mathbb{R}^{k \times k}\)(\(k \ll n\)),使得降阶模型的输入-输出行为近似原系统。
解题过程
-
问题转化:
对原系统传递函数 \(G(s) = C(sI - A)^{-1}B\) 在扩展点 \(s_0\) 处进行矩匹配(Moment Matching)。Krylov子空间方法通过匹配原系统和降阶模型传递函数的前若干阶矩,保证频域近似精度。 -
构造Krylov子空间:
选择扩展点 \(s_0\)(通常取 \(s_0=0\) 或系统主导极点),计算矩阵 \(M = (A - s_0I)^{-1}\) 和 \(R = (A - s_0I)^{-1}B\)。- 定义块Krylov子空间 \(\mathcal{K}_r(M, R) = \operatorname{span}\{R, MR, M^2R, \dots, M^{r-1}R\}\)。
- 使用块Arnoldi过程生成该子空间的正交基 \(V_r \in \mathbb{R}^{n \times k}\)(\(k = r \cdot p\)),满足 \(V_r^T V_r = I_k\) 且 \(\operatorname{colspan}(V_r) = \mathcal{K}_r(M, R)\)。
-
投影降阶:
利用正交基 \(V_r\) 构造投影矩阵,将原系统投影到低维子空间:
\(\hat{A} = V_r^T A V_r\),
\(\hat{B} = V_r^T B\),
\(\hat{C} = C V_r\)。
此步骤确保降阶模型匹配原系统前 \(r\) 阶矩(即泰勒展开系数)。 -
算法实现细节:
- 块Arnoldi过程需处理线性系统 \((A - s_0I)X = B\) 以计算 \(R\),可能需预处理迭代法(如GMRES)。
- 若系统对称,可改用Lanczos过程加速基的生成。
- 扩展点 \(s_0\) 的选择影响近似质量,多扩展点情形需有理Krylov子空间。
-
误差分析:
降阶模型的误差界由Hankel奇异值决定,可通过平衡截断(Balanced Truncation)结合Krylov方法进一步优化。
总结
Krylov子空间方法通过矩匹配和投影,将高维系统压缩为低维模型,显著降低计算成本,同时保留关键动态特性,适用于大规模控制系统仿真与设计。