Déterminants polynomiaux [Python]

Les questions [P] utilisent Python. Pour {0\le i\le n}, on pose
{P_{n,i}(X)=(1-X)^i(1+X)^{n-i}=\sum_{j=0}^n\beta_{n,i,j}X^j}Par exemple, {P_{4,3}=1-2X+2X^3-X^4}. On note {M_n=(\beta_{n,i,j})_{0\le i,j\le n}}. Les lignes et colonnes sont numérotées à partir de {0} ; la ligne {i} donne les coordonnées de {P_{n,i}} dans la base {(1,X,\ldots,X^n)}.

1. (a) [P] Écrire P(n,i) renvoyant les coefficients de {P_{n,i}} par degrés croissants. Vérifier les cinq résultats pour {n=4}.

1. (b) [P] Écrire M(n) renvoyant {M_n} et vérifier le résultat pour {n=4}.

1. (c) [P] Calculer {M_n^2} pour quelques valeurs de {n}. Que remarque-t-on ?

Pour {x\ne-1}, on identifie {U_n(x)=(1,x,\ldots,x^n)} à une matrice colonne.

2. (a) Montrer que {M_nU_n(x)=(1+x)^nU_n(y)}, où {y=(1-x)/(1+x)}.

2. (b) En déduire que {M_n^2=2^nI_{n+1}}.

2. (c) À ce stade, peut-on dire si {M_n} est diagonalisable ?

Pour {x=(x_0,\ldots,x_n)}, on note {V_n(x)=(x_i^j)_{0\le i,j\le n}}, avec {x_i^0=1}. Dans la suite, {x_i=i} et {y_i=(1-i)/(1+i)}.

3. (a) Prouver que {\det V_n(y)=\frac{(-2)^{n(n+1)/2}}{((n+1)!)^n}\det V_n(x)}.

3. (b) En appliquant 2(a), montrer que {\det M_n=(-2)^{n(n+1)/2}}.

4. (a) Montrer que les seules valeurs propres possibles sont {\sqrt{2^n}} et {-\sqrt{2^n}}.

4. (b) Si {n} est impair, calculer simplement {\operatorname{tr}M_n} et retrouver {\det M_n}.

Complément du corrigé

Complément. Diagonaliser {M_3} et {M_4}.

Indications Python

np.poly1d représente un polynôme par coefficients décroissants ; les opérations usuelles et les puissances sont disponibles. p.c fournit ses coefficients et [::-1] inverse leur ordre. np.array crée une matrice et np.linalg.matrix_power calcule ses puissances.