Une matrice stochastique tridiagonale [Python]

Les questions [P] utilisent Python. Pour {n\ge3}, soit {B=(b_{i,j})\in M_n(\mathbb R)} définie par {b_{i,i+1}=b_{i+1,i}=1/2} pour {1\le i\lt n}, {b_{1,1}=b_{n,n}=1/2}, et {b_{i,j}=0} dans tous les autres cas.

1. (a) [P] Écrire une fonction d’argument {n} renvoyant {B}.

1. (b) [P] Pour {n=6}, préciser les éléments propres, étudier numériquement {(B^m)} et formuler des conjectures.

2. Montrer que {B} est diagonalisable sur {\mathbb R} et que ses valeurs propres appartiennent à {[-1,1]}. On cherchera ensuite {\lambda=\cos(2\theta)}, avec {0\le\theta\le\pi/2}.

3. (a) Montrer que toutes les valeurs propres de {B} sont simples.

3. (b) Déterminer explicitement les valeurs propres et une base de vecteurs propres.

3. (c) Montrer que {(B^m)} converge vers une matrice {\widehat B} dont les lignes et les colonnes sont égales à un même vecteur, à préciser.

3. (d) Reconnaître l’endomorphisme de matrice {\widehat B} et comparer avec la question 1.

4. Pour {M\ge0}, montrer que {(M^m)_{i,j}\gt0} équivaut à l’existence d’un chemin {i_0=i,\ldots,i_m=j} tel que {m_{i_q,i_{q+1}}\gt0} à chaque étape. Procéder par récurrence sur {m\ge1}.

5. En déduire que {B^{n-1}\gt0}, mais que {B^k} n’est pas strictement positive pour {0\le k\le n-2}.