def genChebzshevPolyGS(n_poly = 3): """ Generates Chebyshev Polynomials using GramSchmidt """ integr = iL.FivePointIntegrator(10, [-1,1]) polys = [] print '\nGenerating Chebyshev Polynomials using GramSchmidt' print '-----------------------------------------------------------------------\n' for n in range(0, n_poly+1): print ' - generate P%d'%n Tn = pL.poly([1]*(n+1)) #degree 1 has 2 coefficients, degree 2 has 3, ... polys.append(Tn) for m in range(len(Tn())-1): Tm = polys[m] #print 'indices',n,m #print 'Tn', Tn #print 'Tm', Tm for i in range(Tm.n): #print ' n,m,i',n,m,i #tmp = integr(lambda x:(Tn(x) * Tm(x)) / np.sqrt(1.0-x*x)) #print ' intgr at: ',n,m,i,"int",tmp, Tm[i] #Tn[i] -= tmp * Tm[i] #print ' ', Tn, '\n ',Tm Tn[i] -= integr(lambda x:(Tn(x) * Tm(x)) / np.sqrt(1.0-x*x)) * Tm[i] polys[n] = norm1(Tn, integr) return normFinal(polys)
def genChebyshevPolyGCQ(n_poly=3, M_eval=10): """ Generates Chebyshev Polynomials using * Gauss-Chebyshev quadrature for integration * Gram Schmidt """ integr = iL.GaussChebishevQuadrature(M_eval) polys = [] print '\n\nGenerating Chebyshev Polynomials using Gauss-Chebyshev quadrature' print '-----------------------------------------------------------------------\n' for n in range(0, n_poly + 1): print ' - generate P%d' % n Tn = pL.poly( [1] * (n + 1)) #degree 1 has 2 coefficients, degree 2 has 3, ... polys.append(Tn) for m in range(len(Tn()) - 1): Tm = polys[m] #print 'indices',n,m #print 'Tn', Tn #print 'Tm', Tm for i in range(Tm.n): #print ' n,m,i',n,m,i #tmp = integr(lambda x:(Tn(x) * Tm(x)) / np.sqrt(1.0-x*x)) #print ' intgr at: ',n,m,i,"int",tmp, Tm[i] #Tn[i] -= tmp * Tm[i] #print ' ', Tn, '\n ',Tm Tn[i] -= integr(Tn * Tm) * Tm[i] polys[n] = norm2(Tn, integr) return normFinal(polys)
def genChebzshevPolyGS(n_poly=3): """ Generates Chebyshev Polynomials using GramSchmidt """ integr = iL.FivePointIntegrator(10, [-1, 1]) polys = [] print '\nGenerating Chebyshev Polynomials using GramSchmidt' print '-----------------------------------------------------------------------\n' for n in range(0, n_poly + 1): print ' - generate P%d' % n Tn = pL.poly( [1] * (n + 1)) #degree 1 has 2 coefficients, degree 2 has 3, ... polys.append(Tn) for m in range(len(Tn()) - 1): Tm = polys[m] #print 'indices',n,m #print 'Tn', Tn #print 'Tm', Tm for i in range(Tm.n): #print ' n,m,i',n,m,i #tmp = integr(lambda x:(Tn(x) * Tm(x)) / np.sqrt(1.0-x*x)) #print ' intgr at: ',n,m,i,"int",tmp, Tm[i] #Tn[i] -= tmp * Tm[i] #print ' ', Tn, '\n ',Tm Tn[i] -= integr(lambda x: (Tn(x) * Tm(x)) / np.sqrt(1.0 - x * x)) * Tm[i] polys[n] = norm1(Tn, integr) return normFinal(polys)
def genChebyshevPolyGCQ(n_poly = 3, M_eval = 10): """ Generates Chebyshev Polynomials using * Gauss-Chebyshev quadrature for integration * Gram Schmidt """ integr = iL.GaussChebishevQuadrature(M_eval) polys = [] print '\n\nGenerating Chebyshev Polynomials using Gauss-Chebyshev quadrature' print '-----------------------------------------------------------------------\n' for n in range(0, n_poly+1): print ' - generate P%d'%n Tn = pL.poly([1]*(n+1)) #degree 1 has 2 coefficients, degree 2 has 3, ... polys.append(Tn) for m in range(len(Tn())-1): Tm = polys[m] #print 'indices',n,m #print 'Tn', Tn #print 'Tm', Tm for i in range(Tm.n): #print ' n,m,i',n,m,i #tmp = integr(lambda x:(Tn(x) * Tm(x)) / np.sqrt(1.0-x*x)) #print ' intgr at: ',n,m,i,"int",tmp, Tm[i] #Tn[i] -= tmp * Tm[i] #print ' ', Tn, '\n ',Tm Tn[i] -= integr(Tn * Tm) * Tm[i] polys[n] = norm2(Tn, integr) return normFinal(polys)