# Least-square fitting

We want to find the best that minimizes the error .

The brute-force strategy is to find the solution for the equation . Because as a projection operator, keeps only the part of that is representable by the basis vectors from , effectively removing the error :

In Python, least square fitting is done with `numpy.linalg.lstsq`

, or `scipy.linalg.lstsq`

.

Polynomial fitting (with `numpy.polyfit`

) is a special case for least-square fitting, where is a Vandermonde matrix (`numpy.vander`

).