code: public void processSpace(Properties props) {
          COALS_LOGGER.info("Droppring dimensions from co-occurrance matrix.");
          // Read in the matrix from a file with dimensions dropped.
          finalCorrelation = buildMatrix(maxWords, maxDimensions);
          COALS_LOGGER.info("Done dropping dimensions.");
  
          if (transform != null) {
              COALS_LOGGER.info("Normalizing co-occurrance matrix.");
  
              // Normalize the matrix using correlation.
              int wordCount = finalCorrelation.rows();
              finalCorrelation = transform.transform(finalCorrelation);
              COALS_LOGGER.info("Done normalizing co-occurrance matrix.");
          }
  
          if (reducer != null) {
              if (reducedDimensions > finalCorrelation.columns())
                  throw new IllegalArgumentException(
                          "Cannot reduce to more dimensions than exist");
  
              COALS_LOGGER.info("Reducing using SVD.");
              try {
                  File coalsMatrixFile =
                      File.createTempFile("coals-term-doc-matrix", "dat");
                  coalsMatrixFile.deleteOnExit();
                  MatrixIO.writeMatrix(finalCorrelation,
                                       coalsMatrixFile,
                                       Format.SVDLIBC_SPARSE_BINARY);
  
                  MatrixFile processedSpace = new MatrixFile(
                          coalsMatrixFile, Format.SVDLIBC_SPARSE_BINARY);
                  reducer.factorize(processedSpace, reducedDimensions);
  
                  finalCorrelation = reducer.dataClasses();
              } catch (IOException ioe) {
                  throw new IOError(ioe);
              }
              COALS_LOGGER.info("Done reducing using SVD.");
          }
      }
docs: {@inheritDoc}