• Aucun résultat trouvé

Réglage des paramètres du Block-BiCGStab pour une application en

CHAPITRE 5 APPROCHES ITÉRATIVES PAR BLOCS POUR LA RÉSOLUTION

5.2 Adaptation de l’approche Block-BiCGStab pour une application en TMO

5.2.2 Réglage des paramètres du Block-BiCGStab pour une application en

directs en imagerie micro-ondes, nous avons vu précédemment que les exemples d’utilisation de cette méthode dans El Guennouni et al. (2003) sont très différents de notre problème (matrice creuse, vecteurs image aléatoires et en faible nombre). Nous montrons ici que l’ap-

plication naïve de la méthode par blocs entraîne des problèmes de convergence et nous propo- sons un réglage des paramètres du Block-BiCGStab pour une résolution efficace des systèmes linéaires en TMO.

Réglage de l’initialisation

L’algorithme Block-BiCGStab a montré de bonnes performances sur des problèmes génériques et avec des vecteurs image aléatoires. En revanche, dans une application comme la TMO, les vecteurs image ne sont pas aléatoires et sont au contraire corrélés. Cette corrélation est d’autant plus importante que deux sources sont proches car les champs incidents sont similaires. Cela peut entraîner des performances dégradées dans la résolution et nous le montrons ci-après.

Prenons par exemple la résolution de deux systèmes [etot

1 , etot2 ] = L −1

x [einc1 , einc2 ] où les deux

champs incidents einc1 et einc2 proviennent de deux sources proches l’une de l’autre. Les deux vecteurs einc1 et einc2 sont alors fortement corrélés. Une façon usuelle d’initialiser ces systèmes est de choisir soit des vecteurs nuls, soit les champs incidents. Dans les deux cas, les ini- tialisations sont proches et donc corrélées. En reprenant les étapes de l’Algorithme 3, on a :

– ligne 1 : l’initialisation Etot(0)contient deux colonnes fortement corrélées. Les deux colonnes

de R(0) et donc de P(0) sont alors également corrélées.

– ligne 5 : la matrice V contient deux colonnes corrélées.

– ligne 6 : la matrice à inverser (Rf†0V) contient aussi deux colonnes fortement corrélées. La

matrice est donc mal conditionnée et la résolution du système de l’étape 6 est instable. – ligne 12 : tout comme la résolution du système à la ligne 6, le système linéaire est mal

conditionné.

On comprend donc que si deux vecteurs image de Einc sont fortement corrélées (ce qui est le

cas pour deux sources proches) et que les initialisations sont proches également, cela entraîne des problèmes de conditionnement dans la matrice (Rf0V) aux lignes 6 et 12 et donc des

erreurs numériques dans le calcul des matrices A et B. En pratique, l’accumulation de ces erreurs mène à des difficultés de convergence de l’algorithme Block-BiCGStab. On rappelle que les vecteurs image dans El Guennouni et al. (2003) ont été pris aléatoirement ; le problème de conditionnement n’apparaît donc pas dans cet article.

L’initialisation de l’algorithme s’est avérée être le réglage primordial afin d’éviter les insta- bilités dues au mauvais conditionnement : le choix habituel d’initialiser les systèmes avec des vecteurs nuls ou avec les champs incidents ne permet pas une résolution efficace des systèmes linéaires. Pour contourner cette difficulté, nous proposons d’initialiser la résolution

des systèmes linéaires par des vecteurs contenant une composante aléatoire. Cela permet de réduire la corrélation entre les colonnes de la matrice d’initialisation Etot(0). La corrélation est donc faible pour les colonnes de R(0) et V, ce qui permet d’améliorer le conditionne- ment de la matrice (fR0V) à inverser. Dans la suite, nous distinguerons deux cas : le cas où

aucune information n’est connue sur la solution du système linéaire et le cas où l’on pos- sède une connaissance a priori de la solution. On retrouve le second cas en TMO quand à chaque itération du processus d’inversion, les champs totaux calculés à l’itération précédente de l’inversion (disons k − 1) peuvent être utilisés comme information initiale pour résoudre les problèmes directs à l’itération k.

Quelque soit l’initialisation choisie (champs incidents ou information a priori sur les champs totaux), il sera judicieux d’initialiser les résolutions de systèmes de cette manière en y ajou- tant une composante aléatoire (en pratique, un bruit gaussien complexe circulaire) afin de décorréler les initialisations. La variance du bruit à ajouter est un compromis entre l’initia- lisation et la décorrélation : un bruit faible entraînera une faible altération de l’information issue de l’initialisation et une faible décorrélation des vecteurs initiaux, tandis qu’un bruit important entraînera une forte altération de l’initialisation et une forte décorrélation des vecteurs initiaux. Dans le cas où aucun a priori n’est fourni sur les champs totaux, il n’est pas gênant d’altérer l’initialisation. En revanche, si une information fiable sur les champs totaux est donnée (ce sera le cas lorsque l’algorithme de reconstruction s’approche de la convergence), il n’est pas judicieux de trop bruiter cette initialisation afin de conserver une initialisation proche de la solution. Les deux cas de figure seront présentés dans les résultats préliminaires en sous-section 5.2.3 afin de mettre en évidence l’effet de l’initialisation sur la convergence de l’approche Block-BiCGStab. Nous montrerons plus tard qu’ajouter du bruit de façon à ce que le rapport signal sur bruit (RSB) soit égal à 50 dB permet de résoudre efficacement les systèmes linéaires par Block-BiCGStab, quelle que soit l’initialisation.

Réglage des autres paramètres

Le choix de la matrice fR0 (ligne 2 de l’Algorithme 3) de taille 3N × NS est un paramètre

supplémentaire à régler. Dans l’algorithme BiCGStab, il est également nécessaire de régler le vecteur re0 (ligne 2 de l’Algorithme 2). Van der Vorst (1992); Gutknecht (1993); Xu et al.

(2002) proposent de choisir re0 = r

(0), ce qui semble fournir de bons résultats de convergence.

Pour l’algorithme Block-BiCGStab, El Guennouni et al. (2003) proposent de prendre Rf0 =

R(0) pour résoudre les systèmes génériques avec des vecteurs image aléatoires. Pour notre

problème de TMO, nous avons testé différentes formes pour le choix fR0 : matrice aléatoire,

encore matrice égale à LxR(0). Après avoir comparé les performances sur différents problèmes,

le choix de fR0 = R(0) est celui qui a montré les meilleures performances. Nous avons donc

fixé fR0 = R(0) pour les résultats présents dans cette thèse.

Pour le choix du critère d’arrêt, la tolérance a été fixée de la même façon que pour l’algorithme BiCGStab afin de pouvoir comparer correctement les deux méthodes : l’algorithme est arrêté quand le résidu relatif kr(k)k/keinck de chacun des systèmes est inférieur à un certain seuil

fixé par l’opérateur. La tolérance est la même pour les NS systèmes. Concernant l’algorithme

Block-BiCGStab, il est arrêté lorsque tous les résidus relatifs sont inférieurs à la tolérance. Cela signifie que même si certains résidus relatifs parmi les NS résidus sont inférieurs au

seuil, l’algorithme continue jusqu’à que tous les résidus aient atteint le seuil (cf. ligne 15 de l’Algorithme 3). Pour une même tolérance, on obtient donc des résidus généralement plus faibles par une résolution Block-BiCGStab que par des résolutions BiCGStab.