final DoubleMatrix2D matrix = DoubleFactory2D.dense.make(indep);
final DoubleMatrix1D vector = DoubleFactory1D.dense.make(dep);
final DoubleMatrix2D transpose = _algebra.transpose(matrix);
final DoubleMatrix1D betasVector = _algebra.mult(_algebra.mult(_algebra.inverse(_algebra.mult(transpose, matrix)), transpose), vector);
final double[] yModel = convertArray(_algebra.mult(matrix, betasVector).toArray());
final double[] betas = convertArray(betasVector.toArray());
return getResultWithStatistics(x, y, betas, yModel, transpose, matrix, useIntercept);
}
private LeastSquaresRegressionResult getResultWithStatistics(final double[][] x, final double[] y, final double[] betas, final double[] yModel, final DoubleMatrix2D transpose,
final DoubleMatrix2D matrix, final boolean useIntercept) {