docs: public Matrix getDataMatrix()
      {
          if(this.size() > 0 && this.getDataPoint(0).getNumericalValues().isSparse())
          {
              SparseVector[] vecs = new SparseVector[this.size()];
              for(int i = 0; i < size(); i++)
              {
                  Vec row = getDataPoint(i).getNumericalValues();
                  vecs[i] = new SparseVector(row);
              }
              
              return new SparseMatrix(vecs);
          }
          else
          {
              DenseMatrix matrix = new DenseMatrix(this.size(), this.getNumNumericalVars());
  
              for(int i = 0; i < size(); i++)
              {
                  Vec row = getDataPoint(i).getNumericalValues();
                  for(int j = 0; j < row.length(); j++)
                      matrix.set(i, j, row.get(j));
              }
  
              return matrix;
          }
      }