next up previous contents
suivant: Calcul pratique de l'approximation monter: Méthodes spectrales précédent: Méthodes spectrales   Table des matières

Approximation pseudo-spectrale

On considère la fonction $u(x)$ de $\mathbb{R}$ dans $\mathbb{R}$ aux points équirépartis $x_i = i.\Delta x$ avec $i=0, ..., N-1$. On suppose $u(x)$ périodique sur un intervalle de longueur $l=N . \Delta x$ . On a :

\begin{displaymath}
u(x_j)= \sum_{k = - \infty}^{\infty} \widetilde{a_k} e^{2 \pi i k x_j /l}
\end{displaymath}

avec $\widetilde{a_k}$ les points dits de collocation. On peut visualiser les $\widetilde{a_k}$ comme le poids qu'a la fréquence $k/l$ dans la fonction $u(x)$. Les $\widetilde{a_k}$ se calculent par la formule suivante :

\begin{displaymath}
\widetilde{a_k} = \frac{1}{l} \int_{0}^{l} u(x) e^{-2 \pi i k x / l} d x \quad , \quad k=- \infty, ..., \infty
\end{displaymath}

En pratique, on ne peut pas calculer le poids d'une infinité de fréquences dans un signal discrétisé comme c'est le cas avec les $u(x_i)$. On ne pourra obtenir les $\widetilde{a_k}$ que pour $k=-N/2+1, ..., N/2$ sachant que $\widetilde{a_{-k}} = \widetilde{a_{k}}^{*}$ (avec $\widetilde{a_{k}}^{*}$ le conjugué de $\widetilde{a_{k}}$) si $u(x)$ est dans $\mathbb{R}$. On considère alors $\widetilde{P_N} u(x_j)$, l'approximation pseudo-spectrale de $u(x_j)$ :

\begin{displaymath}
\widetilde{P_N} u(x_j) = \sum_{k = -N/2+1}^{N/2} \widetilde{a_k} e^{ 2 \pi i k j / N}
\end{displaymath}

où les termes $\widetilde{a_k}$ sont calculés par la formule suivante (on utilise la notation $u(x_j)=u_j$) :

\begin{displaymath}
\widetilde{a_k} = \frac{1}{N} \sum_{j=0}^{N-1} u_j e^{- 2 \pi i k j /N} \quad , \quad \textrm{pour } k=-N/2+1, ..., N/2
\end{displaymath}

On parle d'approximation pseudo-spectrale et non spectrale quand $N$ est fini. En effet, on considère comme négligeable le poids de toutes les fréquences que l'on aurait considérées en poussant $N$ vers l'infini.

On peut alors calculer facilement l'approximation des dérivées $n^{\textrm{emes}}$ de $u_j$ :

\begin{displaymath}
\frac{d^n}{d x^n} \widetilde{P_N} u_j = \sum_{k = -N/2+1}^{N/2} (2 \pi i k / N)^n \widetilde{a_k} e^{ 2 \pi i k j / N}
\end{displaymath}

Il requière $\bigcirc(N^2)$ calculs pour obtenir tous les $\frac{d^n}{d x^n} \widetilde{P_N} u_j$. Cet impact peut être largement réduit ( $\bigcirc(N log_2 N)$ calculs) si l'on utilise l'agorithme de Transformée de Fourier Rapide. En comparaison, les approximations aux différences finies demandent $\bigcirc(N)$ calculs. On peut alors se demander quel est l'intérêt de l'approximation pseudo-spectrale. Il réside dans la qualité d'approximation des dérivées spatiales. Quand une méthode de différences finies classique créé une erreur d'approximation de la dérivée de l'ordre d'une puissance (faible) de $\Delta x$, le terme d'erreur sur une dérivée décroît exponentiellement avec $N$ avec une approximation pseudo-spectrale. La qualité de la dérivation est incomparablement meilleure. On parle de méthode d'ordre supérieur.


next up previous contents
suivant: Calcul pratique de l'approximation monter: Méthodes spectrales précédent: Méthodes spectrales   Table des matières
RISSER Laurent 2006-02-04