code: public DoubleVector getColumnVector(int column) {
          checkIndices(0, column);
          rowReadLock.lock();
          DoubleVector values = new DenseVector(rows.get());
          for (int row = 0; row < rows.get(); ++row) {
              double value = get(row, column);
              if (value != 0d)
                  values.set(row, value);
          }
          rowReadLock.unlock();
          return values;
      }
docs: {@inheritDoc} The length of the returned row vector reflects the size of
  matrix at the time of the call, which may be different from earlier calls
  to {@link #rows()}