double entryMean) {
SparseRowMatrix m = new SparseRowMatrix(new int[]{numRows, numCols});
//double n = 0;
Random r = new Random(1234L);
for (int i = 0; i < nonNullRows; i++) {
SequentialAccessSparseVector v = new SequentialAccessSparseVector(numCols);
for (int j = 0; j < entriesPerRow; j++) {
int col = r.nextInt(numCols);
double val = r.nextGaussian();
v.set(col, val * entryMean);
}
int c = r.nextInt(numRows);
if (r.nextBoolean() || numRows == nonNullRows) {
m.assignRow(numRows == nonNullRows ? i : c, v);
} else {