Aller au contenu

Corrigé détaillé · MP / MPI

Pourquoi les systèmes invariants par décalage se simplifient-ils dans la même base ? · Réduction d’endomorphismes · Matrices circulantes · Transformée de Fourier discrète · Convolution cyclique · Principe d’incertitude discret

Décalages cycliques, matrices circulantes et transformée de Fourier

Après avoir cherché le sujet, comparez votre démarche avec cette correction et repérez les écarts de méthode, de précision ou de rédaction.

Comme dans le sujet, les coordonnées sont numérotées de 00 à n−1n-1 et tout indice de coordonnée est ramené modulo nn ; ainsi, par exemple, x−1=xn−1x_{-1}=x_{n-1} et xn=x0x_n=x_0. On conserve

ω=e2iπ/n.\omega=e^{2i\pi/n}.

I — Le spectre d'un décalage cyclique

  1. L'application TT est linéaire puisqu'elle ne fait que permuter les coordonnées. Après un décalage, chaque coordonnée avance d'une position ; après nn décalages, chaque coordonnée retrouve sa place. Ainsi
Tn=Id⁡E.T^n=\operatorname{Id}_E.

En particulier, TT est inversible et

T−1=Tn−1.T^{-1}=T^{n-1}.

Si λ\lambda est une valeur propre de TT et si x≠0x\neq0 vérifie Tx=λxTx=\lambda x, alors

x=Tnx=λnx.x=T^nx=\lambda^n x.

Comme x≠0x\neq0,

λn=1.\lambda^n=1.

Toute valeur propre éventuelle est donc une racine nn-ième de l'unité.

  1. Soit x=(x0,…,xn−1)≠0x=(x_0,\ldots,x_{n-1})\neq0 tel que Tx=λxTx=\lambda x. Les égalités coordonnées par coordonnées donnent
xr−1=λxr,1⩽r⩽n−1,x_{r-1}=\lambda x_r, \qquad 1\leqslant r\leqslant n-1,

et

xn−1=λx0.x_{n-1}=\lambda x_0.

Comme λn=1\lambda^n=1, on a λ≠0\lambda\neq0. Les premières relations donnent alors

xr=λ−rx0.x_r=\lambda^{-r}x_0.

Si x0=0x_0=0, toutes les coordonnées seraient nulles ; donc x0≠0x_0\neq0. Les racines nn-ièmes de l'unité sont 1,ω−1,ω−2,…,ω−(n−1)1,\omega^{-1},\omega^{-2},\ldots,\omega^{-(n-1)}.

Pour 0⩽k⩽n−10\leqslant k\leqslant n-1, prenons

λk=ω−k.\lambda_k=\omega^{-k}.

L'espace propre associé est alors la droite engendrée par

vk=(1,ωk,ω2k,…,ω(n−1)k).v_k= \bigl(1,\omega^k,\omega^{2k},\ldots,\omega^{(n-1)k}\bigr).

Réciproquement, un calcul direct donne bien

Tvk=ω−kvk.Tv_k=\omega^{-k}v_k.

Les nombres ω−k\omega^{-k}, pour 0⩽k⩽n−10\leqslant k\leqslant n-1, sont deux à deux distincts. L'endomorphisme TT possède donc nn valeurs propres distinctes dans un espace de dimension nn. Il est diagonalisable et

(v0,v1,…,vn−1)(v_0,v_1,\ldots,v_{n-1})

est une base de EE.

  1. Si nn divise mm, alors ωm=1\omega^m=1 et
Sm=∑r=0n−11=n.S_m=\sum_{r=0}^{n-1}1=n.

Supposons maintenant que nn ne divise pas mm. Alors ωm≠1\omega^m\neq1 et la somme géométrique donne

Sm=1−(ωm)n1−ωm=1−ωmn1−ωm=0.S_m = \frac{1-(\omega^m)^n}{1-\omega^m} = \frac{1-\omega^{mn}}{1-\omega^m} =0.

Ainsi

∑r=0n−1ωmr={nsi n∣m,0sinon.\boxed{ \sum_{r=0}^{n-1}\omega^{mr} = \begin{cases} n&\text{si }n\mid m,\\ 0&\text{sinon.} \end{cases}}

II — Les opérateurs invariants par décalage

  1. Comme
er=Tre0,e_r=T^re_0,

l'action de AA sur e0e_0 détermine son action sur toute la base canonique. Écrivons

Ae0=∑j=0n−1ajej.Ae_0=\sum_{j=0}^{n-1}a_je_j.

Pour tout rr, on a Aer=A(Tre0)=Tr(Ae0)=∑j=0n−1ajej+rAe_r=A(T^re_0)=T^r(Ae_0)=\sum_{j=0}^{n-1}a_je_{j+r}.

D'autre part, (∑j=0n−1ajTj)er=∑j=0n−1ajej+r\left(\sum_{j=0}^{n-1}a_jT^j\right)e_r=\sum_{j=0}^{n-1}a_je_{j+r}.

Les deux endomorphismes coïncident donc sur une base, d'où

A=∑j=0n−1ajTj.\boxed{ A=\sum_{j=0}^{n-1}a_jT^j. }

L'unicité vient de l'égalité

Ae0=∑j=0n−1ajej,Ae_0=\sum_{j=0}^{n-1}a_je_j,

qui détermine les coefficients aja_j de manière unique.

Réciproquement, toute combinaison linéaire de I,T,…,Tn−1I,T,\ldots,T^{n-1} commute avec TT.

Pour la matrice de AA, le coefficient situé à la ligne rr et à la colonne ss est le coefficient de ere_r dans AesAe_s. Or

Aes=∑j=0n−1ajej+s.Ae_s=\sum_{j=0}^{n-1}a_je_{j+s}.

Le terme ere_r correspond à l’unique j∈{0,…,n−1}j\in\{0,\ldots,n-1\} tel que j≡r−s(modn)j\equiv r-s\pmod n. Ainsi, si l’on note [r−s]n[r-s]_n ce représentant,

Ar,s=a[r−s]n.\boxed{A_{r,s}=a_{[r-s]_n}.}

Chaque colonne s'obtient donc par décalage cyclique de la précédente : c'est bien la structure d'une matrice circulante.

  1. D'après la question 2,
Tjvk=(ω−k)jvk=ω−jkvk.T^jv_k=(\omega^{-k})^jv_k=\omega^{-jk}v_k.

Par conséquent,

Avk=∑j=0n−1ajTjvk=(∑j=0n−1ajω−jk)vk.Av_k = \sum_{j=0}^{n-1}a_jT^jv_k = \left(\sum_{j=0}^{n-1}a_j\omega^{-jk}\right)v_k.

La valeur propre associée à vkv_k est donc

a^k=∑j=0n−1ajω−jk.\boxed{ \widehat a_k = \sum_{j=0}^{n-1}a_j\omega^{-jk}. }

C'est précisément la formule qui conduira à la transformée de Fourier discrète.

  1. La base (v0,…,vn−1)(v_0,\ldots,v_{n-1}) dépend uniquement de TT, et non des coefficients aja_j. Toute matrice circulante est donc diagonale dans cette même base, avec diagonale
(a^0,a^1,…,a^n−1).(\widehat a_0,\widehat a_1,\ldots,\widehat a_{n-1}).

Un endomorphisme diagonal est inversible si et seulement si aucun coefficient diagonal n'est nul. Ainsi

A est inversible  ⟺  ∀k∈{0,…,n−1}, a^k≠0.\boxed{ A\text{ est inversible} \iff \forall k\in\{0,\ldots,n-1\},\ \widehat a_k\neq0. }

III — Le changement de base de Fourier

  1. Par définition de F\mathcal F,
(Fx)k=∑j=0n−1ω−kjxj=x^k.(\mathcal Fx)_k = \sum_{j=0}^{n-1}\omega^{-kj}x_j = \widehat x_k.

Donc

x^=Fx.\widehat x=\mathcal Fx.

Posons

G=(ωjk)0⩽j,k⩽n−1.\mathcal G=(\omega^{jk})_{0\leqslant j,k\leqslant n-1}.

Le coefficient situé à la ligne rr et à la colonne ss de GF\mathcal G\mathcal F vaut

∑k=0n−1ωrkω−ks=∑k=0n−1ω(r−s)k.\sum_{k=0}^{n-1}\omega^{rk}\omega^{-ks} = \sum_{k=0}^{n-1}\omega^{(r-s)k}.

D'après la question 3, cette somme vaut nn si r=sr=s et 00 sinon. Ainsi

GF=nIn.\mathcal G\mathcal F=nI_n.

Comme F\mathcal F est carrée,

F−1=1nG=1n(ωjk)0⩽j,k⩽n−1.\boxed{ \mathcal F^{-1}=\frac1n\mathcal G =\frac1n(\omega^{jk})_{0\leqslant j,k\leqslant n-1}. }

On obtient alors

x=F−1x^,x=\mathcal F^{-1}\widehat x,

c'est-à-dire, pour chaque jj,

xj=1n∑k=0n−1x^kωjk.\boxed{ x_j=\frac1n\sum_{k=0}^{n-1}\widehat x_k\omega^{jk}.}
  1. La coordonnée d'indice jj de 1n∑k=0n−1x^kvk\frac1n\sum_{k=0}^{n-1}\widehat x_kv_k vaut 1n∑k=0n−1x^kωjk\frac1n\sum_{k=0}^{n-1}\widehat x_k\omega^{jk}, c'est-à-dire xjx_j par la formule d'inversion. Ainsi
x=1n∑k=0n−1x^kvk.\boxed{ x=\frac1n\sum_{k=0}^{n-1}\widehat x_kv_k.}

Les coordonnées de xx dans la base propre (vk)(v_k) sont donc

x^0n,…,x^n−1n.\frac{\widehat x_0}{n},\ldots,\frac{\widehat x_{n-1}}{n}.

Pour Parseval, développons :

∑k=0n−1∣x^k∣2=∑k=0n−1(∑j=0n−1xjω−jk)(∑ℓ=0n−1xℓ‾ωℓk)=∑j=0n−1∑ℓ=0n−1xjxℓ‾∑k=0n−1ω(ℓ−j)k.\begin{aligned} \sum_{k=0}^{n-1}|\widehat x_k|^2 &= \sum_{k=0}^{n-1} \left(\sum_{j=0}^{n-1}x_j\omega^{-jk}\right) \left(\sum_{\ell=0}^{n-1}\overline{x_\ell}\omega^{\ell k}\right)\\ &= \sum_{j=0}^{n-1}\sum_{\ell=0}^{n-1} x_j\overline{x_\ell} \sum_{k=0}^{n-1}\omega^{(\ell-j)k}. \end{aligned}

La somme intérieure vaut nn lorsque j=ℓj=\ell et 00 sinon. Il reste donc

∑k=0n−1∣x^k∣2=n∑j=0n−1∣xj∣2.\boxed{ \sum_{k=0}^{n-1}|\widehat x_k|^2 = n\sum_{j=0}^{n-1}|x_j|^2. }

IV — De la matrice circulante à la convolution

  1. Comme (Tjx)r=xr−j(T^jx)_r=x_{r-j}, on obtient directement
(Cax)r=∑j=0n−1ajxr−j.(C_ax)_r = \sum_{j=0}^{n-1}a_jx_{r-j}.

C'est donc bien la formule (a∗x)r=∑j=0n−1ajxr−j(a*x)_r=\sum_{j=0}^{n-1}a_jx_{r-j} annoncée pour la convolution cyclique.

D'après la question 8, x=1n∑k=0n−1x^kvkx=\frac1n\sum_{k=0}^{n-1}\widehat x_kv_k, tandis que la question 5 donne Cavk=a^kvkC_av_k=\widehat a_kv_k. Par conséquent,

a∗x=Cax=1n∑k=0n−1x^ka^kvk.a*x=C_ax=\frac1n\sum_{k=0}^{n-1}\widehat x_k\widehat a_kv_k.

Par unicité des coordonnées dans la base (vk)(v_k), les coefficients de Fourier de a∗xa*x sont

a∗x^k=a^kx^k.\boxed{ \widehat{a*x}_k = \widehat a_k\widehat x_k. }

La convolution dans la base canonique devient donc une multiplication coordonnée par coordonnée dans la base de Fourier.

  1. Pour tout kk, Tvk=ω−kvkTv_k=\omega^{-k}v_k et T−1vk=ωkvkT^{-1}v_k=\omega^kv_k. Ainsi
Lvk=(2−ω−k−ωk)vk.Lv_k=\bigl(2-\omega^{-k}-\omega^k\bigr)v_k.

(a) Comme ωk+ω−k=2cos⁡(2πk/n)\omega^k+\omega^{-k}=2\cos(2\pi k/n), la valeur propre correspondante est

λk=2−2cos⁡(2πkn)=4sin⁡2(πkn).\lambda_k =2-2\cos\left(\frac{2\pi k}{n}\right) =4\sin^2\left(\frac{\pi k}{n}\right).

Cette écriture montre immédiatement que λk\lambda_k est réelle et positive ou nulle. Ainsi

λk=4sin⁡2(πkn)⩾0.\boxed{ \lambda_k=4\sin^2\left(\frac{\pi k}{n}\right)\geqslant0. }

(b) Pour 0⩽k⩽n−10\leqslant k\leqslant n-1, on a λk=0\lambda_k=0 si et seulement si k=0k=0. Ainsi ker⁡L=Vect⁡(v0)\ker L=\operatorname{Vect}(v_0) et, comme v0=(1,1,…,1)v_0=(1,1,\ldots,1),

ker⁡L=Vect⁡(1,1,…,1).\boxed{ \ker L=\operatorname{Vect}(1,1,\ldots,1). }

(c) Appliquons la transformée de Fourier à l’équation Lx=bLx=b. D’après la diagonalisation obtenue en (a), pour chaque kk on a Lx^k=λkx^k\widehat{Lx}_k=\lambda_k\widehat x_k. L’équation Lx=bLx=b équivaut donc à

λkx^k=b^k,0⩽k⩽n−1.\lambda_k\widehat x_k=\widehat b_k, \qquad 0\leqslant k\leqslant n-1.

Pour k≠0k\neq0, λk>0\lambda_k>0, donc x^k=b^k/λk\widehat x_k=\widehat b_k/\lambda_k. Pour k=0k=0, l'équation devient 0=b^00=\widehat b_0, avec b^0=∑j=0n−1bj\widehat b_0=\sum_{j=0}^{n-1}b_j.

Ainsi

Lx=b admet une solution  ⟺  ∑j=0n−1bj=0.\boxed{ Lx=b\text{ admet une solution} \iff \sum_{j=0}^{n-1}b_j=0. }

Lorsque cette condition est satisfaite, les coefficients x^k\widehat x_k sont imposés pour k≠0k\neq0, tandis que x^0\widehat x_0 est arbitraire. Deux solutions diffèrent donc d'un élément de ker⁡L\ker L, c'est-à-dire d'un vecteur constant.

Si x∗x_* est une solution particulière,

{x∈E:Lx=b}=x∗+Vect⁡(1,…,1).\boxed{ \{x\in E:Lx=b\} = x_*+\operatorname{Vect}(1,\ldots,1). }

V — Peut-on être concentré dans les deux bases ?

  1. Posons
S=supp⁡x,s=∣S∣,S=\operatorname{supp}x, \qquad s=|S|,

et

R=supp⁡x^,r=∣R∣.R=\operatorname{supp}\widehat x, \qquad r=|R|.

Comme x≠0x\neq0, on a s⩾1s\geqslant1. La transformée de Fourier étant inversible, x^≠0\widehat x\neq0 et donc r⩾1r\geqslant1.

Pour tout kk, ∣x^k∣=∣∑j∈Sxjω−jk∣⩽∑j∈S∣xj∣|\widehat x_k|=\left|\sum_{j\in S}x_j\omega^{-jk}\right|\leqslant\sum_{j\in S}|x_j|.

En appliquant Cauchy-Schwarz aux deux familles réelles (∣xj∣)j∈S(|x_j|)_{j\in S} et (1)j∈S(1)_{j\in S},

(∑j∈S∣xj∣)2⩽s∑j∈S∣xj∣2=s∥x∥22.\left(\sum_{j\in S}|x_j|\right)^2 \leqslant s\sum_{j\in S}|x_j|^2 =s\|x\|_2^2.

Par conséquent,

∣x^k∣2⩽s∥x∥22.|\widehat x_k|^2\leqslant s\|x\|_2^2.

Seuls les indices de RR contribuent à ∥x^∥22\|\widehat x\|_2^2, donc

∑k=0n−1∣x^k∣2=∑k∈R∣x^k∣2⩽rs∥x∥22.\sum_{k=0}^{n-1}|\widehat x_k|^2=\sum_{k\in R}|\widehat x_k|^2\leqslant rs\|x\|_2^2.

D'autre part, Parseval donne n∥x∥22=∑k=0n−1∣x^k∣2n\|x\|_2^2=\sum_{k=0}^{n-1}|\widehat x_k|^2.

Donc

n∥x∥22⩽rs∥x∥22.n\|x\|_2^2 \leqslant rs\|x\|_2^2.

Comme x≠0x\neq0, ∥x∥22>0\|x\|_2^2>0 et l'on peut simplifier :

∣supp⁡x∣ ∣supp⁡x^∣⩾n.\boxed{ |\operatorname{supp}x|\, |\operatorname{supp}\widehat x| \geqslant n. }
  1. Comme q=n/dq=n/d, les indices de {0,…,n−1}\{0,\ldots,n-1\} divisibles par qq sont 0,q,2q,…,(d−1)q0,q,2q,\ldots,(d-1)q. Il y en a exactement dd, donc ∣supp⁡x∣=d|\operatorname{supp}x|=d.

Pour tout kk, x^k=∑m=0d−1ω−mqk\widehat x_k=\sum_{m=0}^{d-1}\omega^{-mqk}. Or ωq=e2iπ/d\omega^q=e^{2i\pi/d}, donc x^k=∑m=0d−1e−2iπmk/d\widehat x_k=\sum_{m=0}^{d-1}e^{-2i\pi mk/d}. Cette somme vaut dd si dd divise kk, et 00 sinon. Ainsi

x^k={dsi d∣k,0sinon.\boxed{ \widehat x_k= \begin{cases} d&\text{si }d\mid k,\\ 0&\text{sinon.} \end{cases}}

Dans {0,…,n−1}\{0,\ldots,n-1\}, les multiples de dd sont 0,d,2d,…,(q−1)d0,d,2d,\ldots,(q-1)d. Il y en a q=n/dq=n/d, donc ∣supp⁡x^∣=n/d|\operatorname{supp}\widehat x|=n/d. Finalement, ∣supp⁡x∣ ∣supp⁡x^∣=d(n/d)=n|\operatorname{supp}x|\,|\operatorname{supp}\widehat x|=d(n/d)=n.

L'égalité est donc atteinte. Si nn est composé, tout diviseur non trivial 1<d<n1<d<n fournit un exemple où les deux supports ont strictement moins de nn éléments tout en saturant exactement le principe d'incertitude.

Le même changement de base relie ainsi la réduction d'un endomorphisme, la diagonalisation simultanée des matrices circulantes, la convolution cyclique et la concentration des vecteurs. La transformée de Fourier discrète n'est pas ici une formule isolée : elle est le système de coordonnées naturellement adapté au décalage cyclique.