I solve the Lyapunov equations :
$$ A W_C E^T + E W_C A^T + B B^T = 0 $$ $$ A^T W_O E^T + E W_O A + C^T C = 0 $$
to obtain $ W_C $ and $W_O$. My aim is to get the left and right eigenspaces of $W_C W_O$. This is basically for model order reduction through balanced truncation.
Currently I am explicitly generating $W_C$ and $W_O$, and calculating the schur
decomposition as
W_c = lyap(A,B*B',[],E);
W_o = lyap(A',C'*C,[],E);
W_j = W_c*W_o;
[Vs,Ts] = schur(W_j);
Vst = Vs';
V_lk = Vst(:,1:ordr);
V_rk = Vs(:,1:ordr);
How can I optimize the process of calculating the dominant eigenspaces? Links to some theory behind any techniques will be very helpful.
Additional Information : I am aware of ADI, and read quite a few of the papers based on it. However, there are 2 problems with it being applicable to my case.
- My original system is dense, a product of another model reduction. Isn't ADI specific to Sparse systems?
- My grammians will NOT be positive definite, because its not fully controllable/observable. They are in-fact indefinite (negative and positive) eigenvalues. Therefore Cholesky factor is not applicable. Is there a different factorization I could use with ADI?
k
largest eigenvalues. If not Schur, how best? Can you point me to some smarter methods? Thanks. $\endgroup$