# -*- coding: utf-8 -*-
"""
Created on Mon Mar 16 16:47:29 2026

@author: François Coulombeau
"""
import numpy as np
import matplotlib.pyplot as plt

P0 = [1]
P1 = [0,1]
Tcheb = [P0, P1]
N = 10
for k in range(N-1):
    P = Tcheb[k]
    Q = Tcheb[k+1]
    Q = [0]+[2*x for x in Q]
    R = []
    for i in range(len(P)):
        coef = Q[i] - P[i]
        R.append(coef)
    for i in range(len(P), len(Q)):
        R.append(Q[i])
    Tcheb.append(R)

def evalue(P,x):
    pol = P[:]
    res = 0*x
    while pol:
        r = pol.pop()
        res = res*x+r
    return res

X = np.linspace(-1,1,500)
Y = evalue(Tcheb[-1], X)
plt.plot(X,Y)
plt.plot(X,0*Y,":")