вопрос решил, все стало сходиться после добавления round()
ge=range(16)
kon=range(16)
for iq in range(16):
ge[iq]=range(16)
k4=range(4)
k5=range(4)
for i2 in range(16):
for i3 in range(4):
k4[i3]=math.pow(m[i2],i3);
k5[i3][0]=math.pow(m1[i2],i3);
f=numpy.array(k5)
f1=numpy.array(k4)
h2= f*f1
j3=0;
for i1 in range(4):
for j2 in range(4):
ge[i2][j3]=round(h2[i1][j2],4)<-------------------------------------------------------
j3=j3+1
kon[i2]=m2[i2]
f2=numpy.array(ge)
f3=numpy.array(kon)
xr = numpy.linalg.solve(f2,f3)
xr1=(numpy.dot(f2, xr) == f3).all()
print "xr:"
print xr1