Matrix compactedY = new DenseMatrix(Y.size(), numFeatures);
IntArrayList indexes = Y.keys();
indexes.quickSort();
int row = 0;
for (int index : indexes.elements()) {
compactedY.assignRow(row++, Y.get(index));
}
return compactedY.transpose().times(compactedY);
}