Использование функции numpy.linalg.solve() для квадратичного мнк
#вариант 23
import numpy
import matplotlib.pyplot as plt
x = [3.244, 3.802, 3.001, 3.720, 3.803, 3.270, 3.409, 3.307, 3.856, 3.917]
y = [3.526, 6.003, 2.351, 5.625, 5.677, 3.206, 4.171, 3.429, 5.928, 6.563]
mult_sum = 0
x_sqsum = 0
x_sq_y_sum = 0
x_sum = sum(x)
y_sum = sum(y)
mult = numpy.array(x) * numpy.array(y)
for i in mult:
mult_sum += i
x_square = numpy.array(x) * numpy.array(x)
for i in x_square:
x_sqsum += i
x_sq_y = numpy.array(y) * x_square
for i in x_sq_y:
x_sq_y_sum += i
x_3dsum = 0
x_3d = numpy.array(x) * numpy.array(x) * numpy.array(x)
for i in x_3d:
x_3dsum += i
x_4dsum = 0
x_4d = numpy.array(x) * numpy.array(x) * numpy.array(x) * numpy.array(x)
for i in x_4d:
x_4dsum += i
a = [[x_4dsum, x_3dsum, x_sqsum], [x_3dsum, x_sqsum, x_sum], [x_sqsum, x_sum, 10]]
b = [x_sq_y_sum, mult_sum, y_sum]
c = ????????????
gausse = numpy.linalg.solve(a, b)
a = gausse[0]
b = gausse[1]
Есть ли возможность оставить все как есть и не переделывать код с отдельной самостоятельно написанной функцией Гаусса и найти коэффициент С?