diff --git a/matlab/partial_information/PI_gensys.m b/matlab/partial_information/PI_gensys.m index ef181b385..3094bb7cf 100644 --- a/matlab/partial_information/PI_gensys.m +++ b/matlab/partial_information/PI_gensys.m @@ -153,7 +153,16 @@ end G0pi=eye(n+FL_RANK+NX); try - [a b q z v]=qz(G0pi,G1pi); + % In Matlab: [aa bb q z v w] = qz(a,b) s.t. qaz = aa, qbz = bb % + % In Octave: [aa bb q z v w] = qz(a,b) s.t. q'az = aa, q'bz=bb % + % and qzcomplex() extension based on lapack zgges produces same + % qz output for Octave as Matlab qz() does for Matlab thus: + if exist('OCTAVE_VERSION') + [a b q z]=qzcomplex(G0pi,G1pi); + q=q'; + else + [a b q z]=qz(G0pi,G1pi); + end catch try lerror=lasterror;