Matrix compression by recursive skeletonization