The idea behind proposed enhancement is application of the current linear least squares regression to a wider range of containers. Currently the input data must be in std::vector<double>. However, in my particular case for example, i need to perform linear least squares on the data in boost::circular_buffer<double> and it is highly undesirable to create vector copies of the original data just to satisfy rather rigid requirements of the current linear least squares design. A proposed patch relaxes such a requirement and at the same time preserves backward compatibility. A correspondent test case is added to the test_suite.