 to compute a 
% pseudo inverse. 
%
% ECON argument makes S square and unitary matrices compact, 
% where the unnecessary rows or columns of S, U and V are eliminated.
%
% OPT argument selects the lapack routine ZGESVD or ZGESDD by
% assigning 'gesvd' or 'gesdd', where ZGESVD is based on QR iteration,
% and ZGESDD is a divide-and-conquer approach.
%
% When called with one return value, it returns 
% the sinular values S as a column vector.
% 
% When called with 4 return values, it returns the r