The codes provided for computing skeletons are all unsatisfactory. What
we would need is a matlab function for computing a partial factorization (QR, SVD, LU, ...). This does not currently exist, so
we a left with the choice of either using full factorizations (complexity
O(N3)), or hard-coding
O(N2k) inefficient partial factorization algorithms.
The most desirable solution would be to have partial rank factorizations built-in to Matlab.
Until we get that, the proper solution is to compile a Fortran or C implementation using the "mex-file" framework.
Work on developing these is in progress - please check
this website
in a few months. A work around is to use the
rsvd.