Matrix a = m.viewPart(0, rows, 1, 2);
Matrix b = m.viewPart(0, rows, 0, 1);
Matrix ata = a.transpose().times(a);
Matrix atb = a.transpose().times(b);
QRDecomposition s = new QRDecomposition(ata);
Matrix r = s.solve(atb).transpose();
assertEquals(expectedCoefficient, r.get(0, 0), 0.2);
return r.times(new DenseVector(new double[]{Math.log(currentIndex), 1})).get(0);
}