Krylov Subspace
使用幂迭代查找A^{m\times m}的最大特征值\lambda_1的一种方法是:\forall b_0,\lim_{n\to+\infin}A^nb_0=Av_1,v_1是\lambda_1的特征向量。
推广到一个Krylov矩阵,
我们期望正交后,得到的向量集是前n大特征值对应特征向量的良好近似。
Arnordi Iteration
Arnordi迭代使用改进的GS正交化方法达成这正交化Krylov子空间的目的(这个h下标写得有一定误导性其实,比如h_{1,1}实际上是向量1和2的内积):
将h按照下标排列起来你会发现能得到一个上海森堡矩阵H_k=\{h_{i,j}\},其中(思考一下AQ乘完之后是什么就比较显然了):
如果继续迭代:
拓展
- 如果A是一个Hermitian(复共轭对称)矩阵,那么Arnordi算法变成Lanczos算法。
- GMRES是基于Arnordi算法的线性求解算法。
Block Arnordi
MOR
morwiki:https://morwiki.mpi-magdeburg.mpg.de/morwiki/index.php/Main_Page
默认的,本笔记研究的降阶形式为:
n是节点支路规模,p是端口规模,一般地,如果需要有效降阶,默认n>>p.
PRIMA
我现在对于PRIMA的创新点理解是这样子的,首先,利用Krylov子空间,可以得到
正常来说的约简方式是找一个x_n=\boldsymbol{X}z_q:
但是PRIMA不,它不用这种可推导的方式,他直接:
然后它再去证明矩匹配和passivity(暂时没看详细)那一堆东西,我现在看PRIMA启发式约简也好,直接推导式约简也好,有一个问题就是q<n,他把这个x给变元了,我感觉DeMOR做的一件事情就是保留信息,它只去看一个端口,那他的n=1,q是多少并不是很重要了,反正都是用其他的信息去生成一个端口的内容,信息损失可能就没有那么大。
破案了,真正的原因是DeMOR由于实际上保留的端口少,那么在同样的\boldsymbol{X}的列数下,DeMOR保留的矩更多。
RGA
- Paper:A Dynamic Relative Gain Array Based on Model Predictive Control - 基于预测控制的动态相对增益阵研究
- Tutorial:MIMO control using RGA
假设H(s)是传输函数,Y(s)=H(s)U(s),那么RGA定义为:
这个求解需要求逆,代价非常大。
DeMOR
本质上是利用RGA做解耦,将一定阈值以上的端口作为主要端口提取出来(s for selected):
那么对于某个给定的端口i,传输函数就被简化成
只需要对这个解耦的传输方程做PRIMA降阶,就可以得到被观察端口的降阶形式,这个时候我们观察解耦子空间colsp(\boldsymbol{X})=kr(\boldsymbol{A},\boldsymbol{R_i},q),会发现由于\boldsymbol{R_i}=G^{-1}B_i,子空间的维度从q\times p,变成了q\times m,m是B的列数,且在期望上至少是p的十分之一以下——郝博指出了这一点,这时候翻看代码就会发现论文中PRIMA的效果不如DeMOR的原因:在相同的子空间列数的前提下,DeMOR匹配到的矩就是更多。
但是没有任何数学证明这个问题之外,本文仍然有一个巨大问题:它用B_i 得到的\tilde B究竟在多大程度上拟合了B?这是不知道的。最离谱的地方在于,它最后降阶的那个传输函数并非式(DeMOR a),就是说,实际上降阶后它的\tilde B:=X_i^TB\neq X_i^TB_i,也就是子空间明明没有用到未被挑选出来的端口的信息,但最后却用完整的全端口信息来算!由于没有证明,也就无从考据这一点,只能对着实验结果说,可能是这样。
Balanced Truncation
https://web.stanford.edu/group/frg/course_work/CME345/CA-CME345-Ch6.pdf
假设电感矩阵可逆(虽然不太可能),重新将式(MOR)记为:
定义reachability (controllability) Gramian:
定义observability Gramian(注意这里L原本就有转置):
||x||_{\mathcal{A}}:=\sqrt{x^T\mathcal{A}x}称作semi-norm,可以用来衡量“能量”(为什么?),所以,如果能通过挑选合适的基,就可以消除符合以下定义的状态变量:
- 难以达到(difficult to reach):这里指的是需要较大能量(||\mathbf{x}||_{\mathcal{P}^{-1}}^2)才能达到的状态。这意味着在系统中需要较大的输入才能使系统到达这些状态。
- 难以观测(difficult to observe):指的是这些状态产生的观测能量较小(||\mathbf{x}||_{\mathcal{Q}}^2),即从输出信号中难以检测或观测到这些状态。
最终,我们希望找到一个基,使得状态的可达性和可观测性在某种程度上达到一个平衡点,既能较容易地达到这些状态,同时也能较容易地观测到它们。如果存在一个\tilde x=Tx,那么(BTR a)变形为:
注意到exp(T^{-1}AT)=T^{-1}exp(A)T,则\exp(T\boldsymbol{\dot{A}}T^{-1}t)T\boldsymbol{\dot{B}}=T\exp(\boldsymbol{\dot{A}}t)B,那我们容易推得:
所以我们的目标就是找到相似变换阵T,使得P、Q获得尽可能好的性质,BTR的策略如下:
- Cholesky分解得到\mathcal P = UU^T
- 特征值分解得到U^T\mathcal Q U=K\Sigma^2K^T
- 只需要令T=\Sigma^{1/2}K^{T}U^{-1}
- 有T\mathcal P T^T=T^{-T}\mathcal Q T^{-1}=\Sigma
误差分析(待看)
TICER
时域分析
https://quan-zhou.weebly.com/uploads/3/1/1/3/31137783/_3.pdf——系统的时域分析,不知道哪里的课件。
http://www.tup.tsinghua.edu.cn/upload/books/yz/077499-03.pdf——第 3 章 线性系统的时域分析法,也不知道是清华出版社的哪本书。
假设一个星形电路,中心是节点N,N个端口标记为0到N-1。每一个分支由一个导电率 g_{iN}和一个电容c_{iN}组成,连接第i个端口和中心节点。当第i个端口施加一个阶跃电压,其他所有端口接地时,中心节点的KCL方程为:
记:
对冲激信号带入特解Ae^{-t/\tau_N}得到A={c_{iN}}/{\chi_N};对阶跃信号设常数特解得到{g_{iN}}/{\gamma_N},令响应y=Ce^{-t/\tau_N}+\frac{g_{iN}}{\gamma_N},带入0初始状态得到C=-{g_{iN}}/{\gamma_N},则总响应表示为: