Matrice circulante

Un article de Wikipédia, l'encyclopédie libre.

En algèbre linéaire, une matrice circulante est une matrice carrée dans laquelle on passe d'une ligne à la suivante par permutation circulaire (décalage vers la droite) des coefficients.

Une matrice circulante de taille n est donc de la forme


C=
\begin{bmatrix}
c_0     & c_1 & c_2 & \dots  & c_{n-1}     \\
c_{n-1}     & c_0 & c_1 &        & c_{n-2} \\
c_{n-2} & c_{n-1} & c_0 &        & c_{n-3} \\
\vdots  &     &     & \ddots & \vdots  \\
c_1     & c_2 & c_3 & \dots  & c_0
\end{bmatrix}

où les coefficients ci sont des complexes.

Une matrice circulante constitue un cas particulier de matrice de Toeplitz, et aussi un cas particulier de carré latin.

La réduction des matrices circulantes fait intervenir les formules de la transformation de Fourier discrète. En analyse numérique, les systèmes circulants peuvent être résolus très efficacement par transformée de Fourier rapide.

On parle parfois de matrice anticirculante ou circulante gauche quand on effectue un décalage à gauche des coefficients en passant d'une ligne à la suivante.

Sommaire

[modifier] Algèbre des matrices circulantes

Pour alléger les notations, on désigne par C(c0,...,cn − 1) la matrice circulante précédente.

En notant J = C(0,1,0,...,0), on peut constater que toute matrice circulante est un polynôme en J

C(c_0,\dots,c_{n-1}) = \sum_{j=0}^{n-1} c_j J^j=P_C(J)

Réciproquement, comme Jn est la matrice identité, tout polynôme en J est une matrice circulante.

Ainsi la somme, le produit de matrices circulantes sont circulantes, et un tel produit est commutatif. L'ensemble des matrices circulantes n'est autre que l'algèbre commutative des polynômes en J.

[modifier] Réduction des matrices circulantes

[modifier] Diagonalisation de J

La matrice J vérifiant Jn = I, elle est diagonalisable sur \mathbb C avec pour valeurs propres des racines n-èmes de l'unité.

On appelle donc \omega= e^{\frac{2i\pi}{n}}, racine primitive de l'unité. On vérifie alors sans peine que pour tout k

X_k = \begin{pmatrix} 1 \\\omega^k \\ \omega^{2k}\\ \vdots\\ \omega^{(n-1)k}\end{pmatrix}

est vecteur propre de J associé à la valeur propre ωk.

On a donc exhibé, pour k allant de 0 à n-1, une famille de n vecteurs propres associés à des valeurs propres distinctes, soit une base de diagonalisation de J.

[modifier] Diagonalisation d'une matrice circulante

Par conséquent, c'est une base de diagonalisation aussi pour tout polynôme en J, c'est-à-dire toute matrice circulante. Les valeurs propres de C(c0,...,cn − 1) sont donc les

\lambda_k= \sum_{j=0}^{n-1} c_j \omega^{kj}=P_C(\omega^k)

qui, cette fois, ne sont plus nécessairement distinctes.

On peut prendre pour matrice de passage de la base canonique à la base de diagonalisation la matrice U

U= \frac1{\sqrt n}\begin{pmatrix} 
1&1&\dots &1 \\ 1& \omega&\dots &\omega^{n-1} \\ \vdots & \vdots & &\vdots \\ 
1&\omega^{n-1}&\dots &\omega^{(n-1)^2}\end{pmatrix}

Alors cette matrice U est unitaire (U*U=I) et les formules de passage précédentes s'écrivent, en notant Λ la matrice diagonale de coefficients les valeurs propres

C= U\Lambda U^{-1} =U\Lambda U^* \qquad \Lambda =U^{-1}CU=U^*CU

Une nouvelle définition possible pour l'ensemble des matrices circulantes est l'ensemble des matrices de la forme UDU * avec D diagonale. Géométriquement, cela correspond aux endomorphismes qui admettent la base orthonormale des Xk comme base de vecteurs propres.

[modifier] Déterminant circulant

Le déterminant circulant est le déterminant de la matrice circulante ; il est égal au produit des valeurs propres

\det C= \prod_{k=0}^{n-1}  P_C(\omega^k)

La matrice est inversible si et seulement si son déterminant est non nul, et dans ce cas son inverse est lui aussi une matrice circulante.

[modifier] Intervention de la transformée de Fourier discrète

Les formules de changement de base à l'aide de la matrice U ont un intérêt particulier. La formule de passage des coefficients aux valeurs propres est la définition classique d'une transformée de Fourier discrète. On peut retrouver les coefficients à partir des valeurs propres en effectuant cette fois une transformée inverse

c_k= \frac1n \sum_{j=0}^{n-1} \lambda_j \omega^{-kj}

[modifier] Système circulant

Soit le système circulant Cx=b, avec C matrice circulante de taille n. Ce système peut se réécrire à l'aide d'un produit de convolution discret

\mathbf{c} * \mathbf{x} = \mathbf{b}

en notant c la première colonne de la matrice C et en périodisant les composantes des vecteurs c, x et b. La transformée de Fourier discrète transforme cette équation de convolution en un produit composante par composante.

\mathcal{F}_{n}(\mathbf{c} * \mathbf{x}) = \mathcal{F}_{n}(\mathbf{c}) \mathcal{F}_{n}(\mathbf{x}) = \mathcal{F}_{n}(\mathbf{b})

et ainsi

\mathbf{x} = \mathcal{F}_{n}^{-1} 
\left [ 
\left (
\frac{(\mathcal{F}_n(\mathbf{b}))_{\nu}}
{(\mathcal{F}_n(\mathbf{c}))_{\nu}} 
\right )_{\nu \in \mathbb{Z}}
\right ].

Cet alogrithme de résolution est bien plus rapide que l'élimination de Gauss-Jordan, et l'est d'autant plus si on a recours à la transformée de Fourier rapide.

[modifier] Voir aussi

Autres langues