The author correctly recognizes that Matlab has a native Compressed Sparse Column (CSC) format for sparse matrices. He assumes that users prefer to store data in row format, so each pattern is a row of the data matrix; but this matrix is stored as a CSC matrix. The underlying data structure for SVM Light uses a sparse data structure for each pattern. To convert between representations, a matrix transpose is needed. This author uses the worst possible algorithm for this (in mexcommon.c)---it takes m x n time! There are much faster and better ways to do this, like just using Matlab's built-in, highly-optimized transpose method. If you have dense data, this code will work fine for you. If you have sparse data, you'll be mostly out of luck. There's a lot of good code here, but I had to completely rewrite mexcommon.c.