Среднеквадратичная аппроксиммация полиномом

 Пусть известны значения y0, y1, … ym функции f(x) на множестве значений аргумента   x0, 1, … xm.
Требуется найти многочлен p(x) порядка n, такой, что сумма квадратов отклонений значений многочлена p(x) от значений функции в заданных точках была бы минимальна.
Запишем переопределённую систему линейных уравнений:

Или в матричной форме:
    M*A=Y (1), где

Умножая левую и правую части (1) на MT, получим нормальную систему уравнений:
    MT*M*A=MT*Y (2)
В приведённой здесь программе линейная система уравнений (2) решается функцией LinearSystem методом Гаусса с выбором главного элемента в столбце. Хорошее описание метода имеется в
https://ru.wikipedia.org/wiki/Метод_Гаусса_—_Жордана.
Необходимо отметить, что матрица M при больших значениях n ( > 8) становится плохо обусловленной, что может привести к приводит к большим вычислительным ошибкам. Данные контрольного примера находятся в файле input.txt и представлют собой таблицу значений функции 1+2x+3x2+4x3.