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?
Left and right eigenspaces of the product of Gramians
linear algebra;matlab;eigenvalues;matrix equations