def gramsmitdcheby(n): P=ansatz(n) for m in range(len(P)): for j in range(len(P[m])-1): for i in range(len(P[j])): tmp = fivepoint(lambda x:evalp(P[m],x)*evalp(P[j],x)/((1-x*x)**0.5),-1,1,10) P[m][i]-=tmp*P[j][i] P[m]=normalisecheby(P[m]) return P
def normalisecheby(P): for j in range(len(P)): P/=fivepoint(lambda x:evalp(P,x)**2/((1-x*x)**0.5),-1,1,10)**0.5 return P