LU factorization for least-squares solution using np.linalg.solve().
a – coefficients (X) or Gram matrix (X’X)
b – ordinate (X’y)