M´ thodes num´ riques e e ´e appliqu´ es a la conception par el´ ments finis e `

David Dureisseix ENS de Cachan, puis Universit´ Montpellier 2 e Juillet 2000 - Septembre 2003

2

Table des mati` res e
1 R´ solution de syst` mes lin´ aires e e e 1.1 Conditionnement . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 D´ finition . . . . . . . . . . . . . . . . . . . . . . . e 1.1.2 Influence des perturbations . . . . . . . . . . . . . . 1.2 Techniques de stockage et coˆ t . . . . . . . . . . . . . . . . u 1.3 M´ thodes directes . . . . . . . . . . . . . . . . . . . . . . . e 1.3.1 M´ thode d’´ limination de Gauss — factorisation LU e e 1.3.2 Factorisation de Cholesky [1924] . . . . . . . . . . 1.3.3 Factorisation de Crout (la plus employ´ e) . . . . . . e 1.3.4 Lien avec la condensation de Schur . . . . . . . . . 1.3.5 Autres techniques . . . . . . . . . . . . . . . . . . . ´e 1.4 Quelques particularit´ s en el´ ments finis . . . . . . . . . . . e 1.5 M´ thodes it´ ratives stationnaires . . . . . . . . . . . . . . . e e 1.5.1 M´ thode de Jacobi . . . . . . . . . . . . . . . . . . e 1.5.2 M´ thode de Gauss-Seidel . . . . . . . . . . . . . . e 1.5.3 M´ thode de relaxation (SOR) [1946] . . . . . . . . e 1.5.4 Cas particulier : m´ thode d’Uzawa [1958] . . . . . . e 1.6 M´ thodes it´ ratives non-stationnaires . . . . . . . . . . . . e e 1.6.1 M´ thode g´ n´ rique de projection . . . . . . . . . . . e e e 1.6.2 M´ thode du gradient . . . . . . . . . . . . . . . . . e 1.6.3 M´ thode du gradient conjugu´ [1952] . . . . . . . . e e 1.6.4 Pr´ conditionnement . . . . . . . . . . . . . . . . . e 1.6.5 Autre m´ thodes it´ ratives . . . . . . . . . . . . . . . e e 1.7 Crit` res d’arrˆ t . . . . . . . . . . . . . . . . . . . . . . . . e e Syst` mes aux valeurs propres e 2.1 Pr´ liminaires . . . . . . . . . . . . . . . . . . . . . . . . . e 2.1.1 Rappels . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Domaine d’emploi des diff´ rentes m´ thodes . . . . . e e 2.2 M´ thode de Jacobi (pour m´ moire) [1846] . . . . . . . . . . e e 2.3 M´ thode des puissances . . . . . . . . . . . . . . . . . . . . e 2.4 M´ thode des it´ rations inverses . . . . . . . . . . . . . . . . e e 2.5 It´ rations inverses avec d´ calage . . . . . . . . . . . . . . . e e 2.5.1 Principe et convergence de la m´ thode . . . . . . . . e ´e 2.5.2 Un exemple d’utilisation dans un code el´ ments finis 2.6 Transformation de Householder . . . . . . . . . . . . . . . 2.6.1 Factorisation QR . . . . . . . . . . . . . . . . . . . 2.6.2 M´ thode QR [1961] . . . . . . . . . . . . . . . . . e 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 11 11 13 14 16 16 17 18 18 21 22 23 24 25 26 26 26 27 28 29 29 31 32 32 32 33 35 37 38 38 38 39 39 41

2

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

4 2.6.3 Forme de Hessenberg . . . . . . . . . . . ´e Exemple d’utilisation dans un code el´ ments finis 2.7.1 R´ duction dans un sous-espace . . . . . . e 2.7.2 Technique it´ rative . . . . . . . . . . . . e M´ thode de Lanczos [1950] . . . . . . . . . . . e 2.8.1 Principes de la m´ thode . . . . . . . . . e 2.8.2 Description de l’algorithme . . . . . . .

` TABLE DES MATIERES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 43 44 44 44 45 45 49 49 49 49 50 51 52 53 54 56 57 60 60 60 61 62 62 64 65 66 67 73 75 75 76

2.7

2.8

3

Syst` mes diff´ rentiels e e ´ 3.1 Equation scalaire du premier ordre . . . . . . . . . . . . . . . . . . . 3.1.1 Probl` me de Cauchy . . . . . . . . . . . . . . . . . . . . . . e 3.1.2 R´ -´ criture du probl` me . . . . . . . . . . . . . . . . . . . . ee e ` 3.1.3 Sch´ mas explicites a 1 pas . . . . . . . . . . . . . . . . . . . e 3.1.4 Quelques probl` mes pratiques . . . . . . . . . . . . . . . . . e 3.1.5 A-stabilit´ (absolute stability) . . . . . . . . . . . . . . . . . e 3.1.6 M´ thode des trap` zes g´ n´ ralis´ e . . . . . . . . . . . . . . . e e e e e ` 3.1.7 Exemple de m´ thode a pas multiples : Adams [1883] . . . . . e 3.1.8 Exemple de m´ thode de pr´ diction correction, bas´ e sur Adams e e e 3.1.9 M´ thode de Runge-Kutta [1901] . . . . . . . . . . . . . . . . e 3.1.10 Autres m´ thodes . . . . . . . . . . . . . . . . . . . . . . . . e 3.2 Syst` mes diff´ rentiels du premier ordre . . . . . . . . . . . . . . . . e e 3.2.1 Emploi des m´ thodes pr´ c´ dentes . . . . . . . . . . . . . . . e e e 3.2.2 Choix d’un sch´ ma : influence de l’ordre d’int´ gration . . . . e e 3.3 Syst` mes diff´ rentiels du deuxi` me ordre . . . . . . . . . . . . . . . e e e 3.3.1 M´ thode de Newmark [1959] . . . . . . . . . . . . . . . . . e ` 3.3.2 M´ thode de Gear implicite a 2 pas [1969] . . . . . . . . . . . e 3.3.3 θ-m´ thode [1968] . . . . . . . . . . . . . . . . . . . . . . . . e 3.3.4 α-HHT [1977] . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.5 Autres m´ thodes . . . . . . . . . . . . . . . . . . . . . . . . e

A Orthogonalisation d’un sous-espace ´e B Encadrement par les valeurs propres el´ mentaires B.1 Syst` me aux valeurs propres g´ n´ ralis´ . . . . . . . . . . . . . . . . e e e e B.2 Syst` me aux valeurs propres . . . . . . . . . . . . . . . . . . . . . . e

Introduction
` L’objectif de ce document est de fournir un document de travail (avec renvoi a des ressources de r´ f´ rences s’il y a besoin d’approfondir), pour ceux qui sont int´ ress´ s ee e e ´e ou amen´ s a utiliser des m´ thodes de simulation (essentiellement par el´ ments finis) e ` e dans le but de dimensionner des structures m´ caniques. e ´e Il ne s’agit pas pour autant d’un document sur les el´ ments finis, puisqu’on suppose que les probl` mes ont d´ j` et´ formul´ s dans ce cadre, et que l’on se place en e ea ´e e ´e aval, lorsque la r´ solution des probl` mes el´ ments finis est en jeu. On se ram` nera e e e ainsi fr´ quemment aux techniques effectivement utilis´ es dans des codes de calcul ine e dustriels. Pour cela, on sera amen´ a utiliser des m´ thodes classiques d’alg` bre lin´ aire, e` e e e de calcul matriciel, adapt´ es aux calculs sur ordinateurs (algorithmique). e Suivant les probl` mes qui se posent, on est amen´ a utiliser un grand nombre d’oue e` ˆ tils diff´ rents, et ce document ne veut pas etre exhaustif. Il ne traite en particulier pas e les cas suivants – la recherche de racine de f (U) = 0 – les probl` mes de minimum non quadratiques (bisection, point fixe, Newton, e Newton-Raphson, quasi-Newton, s´ cante, BFGS) e Structur´ en trois parties, il aborde par contre les techniques de r´ solution de grands e e syst` mes lin´ aires (de facon directe ou it´ rative), de probl` mes de recherche de valeurs e e ¸ e e et vecteurs propres, et enfin de syst` mes diff´ rentiels. e e En cas d’erreur. . . Les diff´ rents algorithmes et techniques pr´ sent´ s ne sont pas garantis contre les e e e erreurs et autres coquilles. . .De la mˆ me facon, tout document est perfectible, et celuie ¸ ` ci ne fait pas exception a la r` gle. Tout lecteur ayant des remarques et propositions e ` constructives est amicalement invit´ a envoyer un retour a l’auteur, par exemple par e ` ` e-mail a David.Dureisseix@lmgc.univ-montp2.fr Notations Un vecteur est repr´ sent´ par une lettre romane minuscule (comme x), une matrice e e par une lettre romane majuscule (comme A), un scalaire par une lettre grecque minuscule (comme α). La composante i du vecteur x est not´ e xi et la composante i, j de la e matrice A, Ai, j . La colonne j de A, par exemple, sera classiquement not´ e A1:n, j . Les e ´ vecteurs de la base dans laquelle les diff´ rentes matrices sont ecrites seront not´ s ei . e e ` chaque fois, l’it´ r´ num´ ro i est d´ sign´ par une mise en exposant (comme x(i) ) A ee e e e et en g´ n´ ral, une mˆ me lettre d´ signera en fait un mˆ me emplacement en m´ moire ; e e e e e e ´ par exemple, x(i) ecrase x(i−1) en m´ moire. e 5

6 Pour approfondir Pour des renseignements g´ n´ raux compl´ mentaires sur les techniques employ´ es, e e e e ` il est utile de ce r´ f´ rer par exemple a [Golub et Loan 89, Bathe et Wilson 82]. . .et pour ee les algorithmes et leur implantation, aux librairies de netlib. . . De facon g´ n´ rale, la bibliographie pr´ sent´ e regroupe deux types de r´ f´ rences : ¸ e e e e ee les anciennes, voire tr` s anciennes, en tant que base historique, et les plus r´ centes, en e e tant qu’ouvrages contemporains. Les biographies utilis´ es se sont largement inspir´ es e e ` des bases de donn´ es disponibles a e http ://www-history.mcs.st-andrews.ac.uk/history/Mathematicians/ http ://www-groups.dcs.st-and.ac.uk/ history/BiogIndex.html http ://www.math.bme.hu/mathhist/BiogIndex.html Un cadre de travail Actuellement, il existe dans le dimaine public un assez grand nombre de librairies scientifiques bien maˆtris´ es et suffisamment fiables et robustes pour qu’elles soient ı e int´ gr´ es par les d´ veloppeurs de codes de calcul. Il est cependant n´ cessaire de connaˆtre e e e e ı le principe d’un certain nombre des m´ thodes employ´ es, leur domaine d’emploi, leurs e e ` limites et d’avoir une id´ e des cas a probl` me pour aider au choix d’une m´ thode. C’est e e e ` dans cette direction que se place ce document. . .sans pr´ tendre a une quelconque exe haustivit´ ! e ´ Parmi ces librairies, en grande partie du domaine public, certaines emergent ou ` ´ commencent a emerger comme des standards de fait. Par exemple, la librairie LAPACK (Linear Algebra PACKage, [Anderson et al. 99], http ://www.netlib.org/lapack/) qui succ` de en grande partie aux anciennes libraries EISPACK (pour la r´ solution de e e syst` mes aux valeurs propres, http ://www.netlib.org/eispack/) et LINPACK (pour la e r´ solution de syst` mes lin´ aires, http ://www.netlib.org/linpack/). Sa description est e e e celle de la FAQ (Frequently Asked Questions) : LAPACK provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision. Citons aussi sa version parall´ lis´ e, ScaLAPACK (Scalable LAPACK, [Blackford e e et al. 97], http ://www.netlib.org/scalapack/) : The ScaLAPACK project is a collaborative effort involving several institutions (Oak Ridge National Laboratory, Rice University, University of California, Berkeley, University of California, Los Angeles, University of Illinois, University of Tennessee, Knoxville), and comprises four components : dense and band matrix software (ScaLAPACK), large sparse eigenvalue software (PARPACK and ARPACK), sparse direct systems software (CAPSS and MFACT), preconditioners for large sparse iterative solvers (ParPre). The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines redesigned for distributed memory MIMD

7 parallel computers. It is currently written in a Single-Program-MultipleData style using explicit message passing for interprocessor communication. It assumes matrices are laid out in a two-dimensional block cyclic decomposition. Like LAPACK, the ScaLAPACK routines are based on block-partitioned algorithms in order to minimize the frequency of data movement between different levels of the memory hierarchy. (For such machines, the memory hierarchy includes the off-processor memory of other processors, in addition to the hierarchy of registers, cache, and local memory on each processor.) The fundamental building blocks of the ScaLAPACK library are distributed memory versions (PBLAS) of the Level 1, 2 and 3 BLAS, and a set of Basic Linear Algebra Communication Subprograms (BLACS) for communication tasks that arise frequently in parallel linear algebra computations. In the ScaLAPACK routines, all interprocessor communication occurs within the PBLAS and the BLACS. One of the design goals of ScaLAPACK was to have the ScaLAPACK routines resemble their LAPACK equivalents as much as possible. D’un niveau d’utilisation plus bas, et utilis´ es dans les librairies pr´ c´ dentes, on e e e trouve aussi des int´ ressants utilitaires dans les librairies ARPACK e (http ://www.caam.rice.edu/software/ARPACK/) ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems. The package is designed to compute a few eigenvalues and corresponding eigenvectors of a general n by n matrix A. It is most appropriate for large sparse or structured matrices A where structured means that a matrix-vector product w ← Av requires order n rather than the usual order n**2 floating point operations. This software is based upon an algorithmic variant of the Arnoldi process called the Implicitly Restarted Arnoldi Method (IRAM). When the matrix A is symmetric it reduces to a variant of the Lanczos process called the Implicitly Restarted Lanczos Method (IRLM). These variants may be viewed as a synthesis of the Arnoldi/Lanczos process with the Implicitly Shifted QR technique that is suitable for large scale problems. For many standard problems, a matrix factorization is not required. Only the action of the matrix on a vector is needed. et BLAS (Basic Linear Algebra Subprograms, http ://www.netlib.org/blas/) : The BLAS (Basic Linear Algebra Subprograms) are high quality ”building block” routines for performing basic vector and matrix operations. Level 1 BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations, and Level 3 BLAS do matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they’re commonly used in the development of high quality linear algebra software, LINPACK and LAPACK for example. Les d´ veloppements concernant ces librairies sont toujours en cours, en particulier les e versions creuses SPBLAS (SParse BLAS) et parall` les PBLAS (Parallel BLAS) e

8

Chapitre 1

R´ solution de syst` mes lin´ aires e e e
On est souvent, voire tout le temps, amen´ a r´ soudre des syst` mes lin´ aires de e ` e e e ´e la forme Ax = b pour la simulation sur ordinateur ; par exemple en el´ ments finis, une ` e analyse statique conduit a r´ soudre un syst` me que l’on notera Ku = f . K est la matrice e de rigidit´ , u le d´ placement (discr´ tis´ ) et f , les forces g´ n´ ralis´ es. e e e e e e e Une analyse non-lin´ aire implicite, la recherche d’une base modale. . .sont souvent e bas´ es sur la ”brique de base” qu’est la r´ solution de syst` mes lin´ aires. e e e e Dans ces cas de figures, comme dans d’autres, les matrices A et b correspondantes ont souvent des particularit´ s dont il sera judicieux de tirer parti (pour les avantages), e ou qu’il faudra avoir en tˆ te (pour les inconv´ nients). Par exemple : e e ` – une grande dimension dim A = n, classiquement de 103 a 106 , donc : – on n’inverse pas A (ce serait r´ soudre n syst` mes lin´ aires) ; e e e – il faut prendre en compte des consid´ rations de stockage adapt´ , a la fois pour e e ` ` r´ duire les ressources en m´ moire et le nombre d’op´ rations a effectuer. e e e – la n´ cessit´ de traiter plusieurs second membres e e – simultan´ ment, e – successivement. – des propri´ t´ s souvent rencontr´ es : ee e – des coefficients r´ els, une matrice A carr´ e, e e – A inversible ⇔ A r´ guli` re ⇔ det A = 0 e e – A sym´ trique ⇔ A = AT (avec ∀x, y, x · y = xT y xT Ay = yT AT x) e – A positive ⇔ (∀x, xT Ax ≥ 0) – A d´ finie ⇔ (xT Ax = 0 ⇒ x = 0) e u – A mal conditionn´ e, typiquement cond K = o( h12 ) o` h est la taille de la maille e ´e en el´ ments finis massifs. Pour plus d’informations concernant ces particularit´ s et les techniques mises en e œuvre, on pourra se r´ f´ rer a [Saad 96, Barrett et al. 94, Argyris et al. 64]. ee `

1.1
1.1.1

Conditionnement
D´ finition e

Pour A sym´ trique et inversible, e cond A = A · A−1 9

10

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES Avec une norme matricielle consistante avec celle d´ finie pour les vecteurs : e A = sup
x =0

Ax x

o` x u

2

2 = xT x = ∑i xi est la norme euclidienne, on a

cond A =

|λ|Max |λ|min

o` les λ sont les valeurs propres de A. u En g´ n´ ral, il est tr` s difficile (tr` s coˆ teux) d’atteindre le conditionnement de A, e e e e u par contre un certains nombre de techniques peuvent permettre de l’estimer. On pourra en particulier s’inspirer des techniques d´ velopp´ es dans le chapitre concernant la ree e cherche de valeurs propres. ` Un conditionnement grand conduit a des probl` mes de pr´ cision (cumul d’arrondis e e num´ riques). Pour les illustrer, on est amen´ a consid´ rer un syst` me perturb´ (par des e e` e e e ˜˜ ˜ perturbations g´ n´ ralement suppos´ es petites) Ax = b. e e e Exemple 1 Consid´ rons le syst` me Ax = b suivant e e 1 1 1 1+ε x1 2 = x2 2 ⇒ x= 2 0

Le polynˆ me caract´√ o eristique λ2 − (2 + ε)λ + ε = 0 permet de d´ terminer les valeurs e e propres λ = (2 + ε ± 4 + ε2 )/2. Avec ε petit, le conditionnement est donc tr` s grand : cond A ≈ 4/ε. ˜˜ ˜ Consid´ rons maintenant le syst` me Ax = b perturb´ (par α petit) : e e e   α 2−  1 1 x1 2  ε = ⇒ x= 1 1 + ε x2 2+α α ε 2 0 ` Si α ≈ ε 1, ce qui est tout a fait possible avec les arrondis num´ riques, la solution e 1 fournie est tr` s diff´ rente : x ≈ e e 1 Si α ε 1, x≈ Exemple 2 1.2969 0.8648 0.2161 0.1441 0.8642 0.1440 0.8642 0.1440

A=

b=

x=

Le conditionnement de A est cond A = 3.3108 ; on a un r´ sidu petit b − Ax = e −10−8 2 alors que la solution exacte est tr` s diff´ rente de x : c’est e e . −2 10−8 Il semble donc que le conditionnement du syst` me soit tr` s li´ a la qualit´ de la e e e` e solution (en terme d’influence des arrondis num´ riques) que l’on puisse esp´ rer avoir. e e

ˆ 1.2. TECHNIQUES DE STOCKAGE ET COUT

11

´e Dans le cas des el´ ments finis massifs (autre que plaques en flexion, poutres. . .), le conditionnement varie en o( h12 ). La figure 1.1 illustre cela dans un cas 2D tr` s simple. e ´e Le conditionnement a et´ obtenue en calculant explicitement la plus grande et la plus petite valeur propre de K avec les m´ thodes qui seront pr´ sent´ es ult´ rieurement. e e e e
L h
10E5 6 4 2 10E4 6 4 2 10E3 6 4 2 10E2 6 4 2 10E1 10E-2

cond K

pente -2 h/L
10E-1 10E0

´e F IG . 1.1 – Conditionnement en el´ ments finis

1.1.2

Influence des perturbations
1 pour x = x + δx ? ˜ 1 ≤ A x 1 b

a) Consid´ rons le syst` me Ax = b. e e ˜ ˜ δb δx ˜ Si b = b + δb avec 1, a-t-on b x

Ax = b ⇒ A · x ≥ b ⇒

A(x + δx) = b + δb ⇒ Aδx = δb ⇒ δx = A−1 δb ⇒ δx ≤ A−1 · δb Donc δx δb ≤ cond A x b

˜˜ ˜ b) Consid´ rons maintenant le syst` me Ax = b. Si A = A + δA et x = x + δx e e ˜ (A + δA)(x + δx) = b ⇒ Aδx + δA(x + δx) = 0 ⇒ δx = −A−1 δA(x + δx) ⇒ δx ≤ A−1 · δA · x + δx δx δA ≤ cond A x + δx A ´ ` Il n’est donc pas etonnant qu’on se trouve face a une difficult´ lorsque le syst` me e e ` e a r´ soudre est tr` s mal conditionn´ , autant avec les m´ thodes directes (qui fournissent e e e une solution erron´ e) qu’avec les m´ thodes it´ rative (qui ne convergeront pas). e e e Donc

1.2

ˆ Techniques de stockage et cout

Param` tres influents e Dans les applications envisag´ es, en particulier pour les syst` mes de grande taille, e e il est n´ cessaire d’envisager des techniques de stockage adapt´ es. Par exemple, si la e e

12

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

taille du syst` me est n = 103 , le stockage de A pleine (tous les termes) n´ cessite 8 Mo e e de m´ moire ; avec n = 106 , 8 000 Go sont n´ cessaires. e e Pire encore, le nombre d’op´ rations pour r´ soudre le syst` me Ax = b est li´ au e e e e nombre de termes non nuls (en fait au nombre de termes stock´ s, donc suppos´ s non e e nuls) de la matrice, et aussi de la num´ rotation des inconnues, comme on le verra. e Par exemple, une m´ thode de Cramer sur une matrice pleine demande un nombre e d’op´ rations en virgule flottante de nop ≈ (n + 1)!, ce qui devient rapidement inexe tricable, mˆ me avec les ordinateurs les plus puissants [Dongarra et al. 99]. e ´e Dans le cas des syst` mes issus d’une discr´ tisation par el´ ments finis, le syst` me e e e est dit creux (sparse). Il faut donc en tenir compte au niveau du stockage, en utilisant par exemple un stockage – bande (largeur de bande, bandwidth, lb ), – ligne de ciel, emphskyline, – morse, – semi-morse ` Quant a l’influence de la renum´ rotation des degr´ s de libert´ (ddl), des m´ thodes e e e e heuristiques sont employ´ es car la d´ termination de la num´ rotation optimale est un e e e probl` me extrˆ mement coˆ teux (en fait, plus coˆ teux que le syst` me que l’on cherche e e u u e ` e a r´ soudre). Les techniques les plus employ´ es se nomment : e – Cuthill-MacKee inverse [Cuthill et McKee 69], – nested dissection [George 73], – degr´ minimum [Tinney et Walker 67, George et Liu 89]. . . e ˆ Cout Le coˆ t d’un algorithme peut s’estimer de diff´ rentes mani` res. Une premi` re indiu e e e cation est la taille de la m´ moire requise pour traiter un probl` me donn´ . Une autre e e e est le temps mis pour effectuer la r´ solution du probl` me. Deux types de prise de e e temps sont g´ n´ ralement employ´ s : le temps CPU (Central Processing Unit), li´ aux e e e e ´ op´ rations effectu´ es, et le temps horloge, li´ au temps ext´ rieur ecoul´ pendant cette e e e e e r´ solution. Il est certain que ce dernier est une mesure tr` s globale puisqu’elle fait ine e tervenir la machine utilis´ e (les performances du syst` me, du compilateur, les acc` s e e e aux disques), les comp´ tences du programmeur, et peuvent d´ pendre fortement du e e probl` me trait´ . Elle ne caract´ rise donc pas uniquement l’algorithme mais plutˆ t gloe e e o balement le logiciel r´ alis´ pour un probl` me donn´ sur une machine donn´ e. e e e e e ´ D’autres indicateurs sont egalement disponibles, comme le nombre d’op´ rations en e ` virgule flottante n´ cessaire a la r´ solution. C’est ce que l’on appelle la complexit´ de e e e l’algorithme. Elle devient plus li´ e a l’algorithme mˆ me en faisant des estimations sur e ` e ` ´ les types de probl` mes a traiter, mais elle ne fait pas intervenir les eventuels transferts e en m´ moire, op´ rations sur les entiers. . . e e ` La vraie qualification d’une technique doit donc faire appel a tous ces indicateurs. Pour ce qui nous concerne, seule la complexit´ sera pr´ sent´ e par la suite. e e e L’estimation du coˆ t effectif en temps CPU des diff´ rentes op´ rations en virgule u e e ˆ flottante peut ensuite etre propos´ e par des essais num´ riques et des prises de temps e e sur des architectures de machines cibles. ` ´e e e A titre d’indication, un petit test a et´ r´ alis´ dans ce sens, qui fait intervenir essentiellement les performances du processeur. ´e Les coˆ ts indiqu´ s dans la table 1.1 ont et´ obtenus en Janvier 2000. Entre pau e renth` ses, on trouvera les coˆ ts obtenus l’ann´ e ou les deux ann´ es pr´ c´ dentes. e u e e e e

´ 1.3. METHODES DIRECTES

13

´e TAB . 1.1 – estimation du coˆ t des op´ rations el´ mentaires u e type d’op´ ration e coˆ t (10−8 s CPU) u (moyenn´ e sur 108 termes) e fronsac bacchus artemis addition 5.2 (5.7, 7) 5.54 (6.2) 2.67 multiplication 5.2 (5.7, 7) 5.54 (6.2) 2.67 division 9 9 (11.7) 2.73 racine carr´ e e 9 14.5 (18.3) 18.2 daxpy 8.9 (9.6, 10) 4.66 (5.5) 2.02 dscal 4.97 (5.3, 6) 2.56 (3.9) 1.35 −2 s CPU) type d’op´ ration (moyenn´ e sur e e coˆ t (10 u 100 vecteurs de 1000 termes) fronsac bacchus artemis αy + βAx 4.95 (5.2) 3.4 (3.9) 0.84 dgemv 2 (2.3) 1.1

´ Le code est ecrit en Fortran 77 ; les diff´ rentes machines test´ es ainsi que les ope e tions de compilations sont les suivantes : – fronsac est une station de travail HP du LMT-Cachan (HP 9000/879, syst` me e B.10.20), la compilation est faite avec f77 +O2, – bacchus est une machine parall` le SGI 02000 du Pˆ le Parall´ lisme ˆ de France e o e Ile Sud (SGI IP27 syst` me 6.5), et la compilation, f90 -O2, e – artemis est une machine IBM SP de l’Antenne de Bretagne de l’ENS de Cachan (IBM AIX syst` me 3), et la compilation, f77 -O2 e Les op´ rations d´ nomm´ es daxpy (s´ rie de 2 op´ rations en fait : addition et mule e e e e tiplication), dscal (s´ rie de multiplications), dgemv (calcul d’un produit matrice A par e vecteurx, pond´ r´ par un coefficient β et ajout´ a un pr´ c´ dent vecteur y, lui mˆ me ee e ` e e e multipli´ par un coefficient α) sont appel´ es avec la librairie BLAS, d´ j` mentionn´ e. e e ea e L’op´ ration d´ nomm´ e αy + βAx est donc l’´ quivalent de dgemv, programm´ directee e e e e ment en Fortran. ` A partir de ces quelques r´ sultats, on peut tirer quelques conclusions : outre le fait e qu’utiliser les options d’optimisation des compilateurs est int´ ressante, l’utilisation de e ´e librairies (ici la BLAS) est plus efficace que reprogrammer des routines el´ mentaires soi-mˆ me. En fait, l’utilisation de routines standards augmente la lisibilit´ du proe e ` ´ e gramme, permet de programmer a un niveau plus elev´ et donc r´ duit les temps de e debuggage, et permet souvent d’atteindre de meilleures performances, puisque ces librairies sont programm´ es de facon plus efficace (souvent directement en assembleur), e ¸ et sont optimis´ es pour la machine sur laquelle elles sont utilis´ es. e e D’autre part, pour l’utilisateur normal, le coˆ t effectif (en s CPU) d´ pend d’un u e grand nombre de param` tres comme l’efficacit´ du compilateur, de l’environnement e e de d´ veloppement, des temps de latence de la m´ moire, des caches, de l’acc` s aux e e e disques. . .En particulier, le changement de version du syst` me d’exploitation d’une e ann´ e sur l’autre influe sur les r´ sultats du test pr´ sent´ pr´ c´ demment. e e e e e e

1.3

M´ thodes directes e

` Encore majoritairement employ´ e dans les codes actuels a cause de leur robuse tesse, et d’une pr´ vision fine du coˆ t (nombre d’op´ rations, stockage n´ cessaire), elles e u e e ` e deviennent coˆ teuses en temps et en encombrement lorsque le syst` me a r´ soudre deu e

14

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

vient tr` s grand. e Pour plus d’informations sur ces m´ thodes, on pourra avantageusement consulter e [Duff et al. 90].

1.3.1

M´ thode d’´ limination de Gauss — factorisation LU e e
J OHANN C ARL F RIEDRICH G AUSS Gaussian elimination, which first appeared in the text Nine Chapters of the Mathematical Art written in 200 BC, was used by Gauss in his work which studied the orbit of the asteroid Pallas. Using observations of Pallas taken between 1803 and 1809, Gauss obtained a system of six linear equations in six unknowns. Gauss gave a systematic method for solving such equations which is precisely Gaussian elimination on the coefficient matrix. Born : 30 April 1777 in Brunswick, Duchy of Brunswick (now Germany). Died : 23 Feb 1855 in G¨ ttingen, Hanover (now Germany). o

Principe de la m´ thode e On simplifie le syst` me pour le rendre triangulaire sup´ rieur par utilisation de come e ` binaison lin´ aires de lignes (c’est a dire d’´ quations). e e ´ Pr´ liminaire : elimination de Gauss par bloc e ´ ` e Ecrivons le syst` me a r´ soudre sous une forme de blocs : e A11 A21 A12 A22 x1 b = 1 x2 b2 (1.1)

` Si A11 est inversible, la premi` re equation conduit a exprimer x1 en fonction de x2 : e ´ x1 = A−1 (b1 − A12 x2 ) 11 (1.2)

´ En utilisant cette expression dans la deuxi` me equation, on se ram` ne a un syst` me e e ` e avec x2 comme seule inconnue : A22 − A21 A−1 A12 x2 = b2 − A21 A−1 b1 11 11 S c (1.3)

S est appel´ compl´ ment de Schur ou matrice condens´ e sur les degr´ s de libert´ x2 . e e e e e ` Connaissant x2 , on remonte a x1 avec (1.2). ´ ` Le syst` me de d´ part, (1.1), est equivalent a e e A11 0 et on peut le r´ ecrire : e´ 1 A21 A−1 11 0 1 A A11 0 A12 S 1 x1 = −1 x2 A21 A11 0 1 b1 c (1.5) A12 S x1 b = 1 x2 c (1.4)

´ 1.3. METHODES DIRECTES I SSAI S CHUR In 1894 Schur entered the University of Berlin to read mathematics and physics. Schur made major steps forward in representation theory of groups, in collaboration with Frobenius, one of his teacher. In 1916, in Berlin, he built his famous school and spent most of the rest of his life there. Schur’s own impressive contributions were extended by his students in a number of different directions. They worked on topics such as soluble groups, combinatorics, and matrix theory. Born : 10 Jan 1875 in Mogilyov, Mogilyov province, Belarus. Died : 10 Jan 1941 in Jerusalem, Palestine. Utilisation pour la factorisation LU

15

Si on prend comme bloc 11 la premi` re equation scalaire du syst` me, il faut avoir e ´ e A11 = 0 (c’est le premier pivot). En continuant sous la forme (1.5) r´ cursivement sur e ´ les sous-matrices qui restent, on obtient la factorisation A = LU (en n − 1 etapes) avec U (pour upper) matrice triangulaire sup´ rieure, L (pour lower) triangulaire inf´ rieure e e avec diagonale unitaire. ´ Pour des raisons d’efficacit´ de stockage, L et U ecrasent en m´ moire A si on ne e e ` stocke pas la diagonale de L qu’on sait unitaire. A chaque it´ ration k, la matrice de e d´ part A est donc modifi´ e en une matrice A(k) . e e ` ´ Conditions d’emploi. Si a chaque etape de la factorisation le pivot Ak−1 est non kk nul, on peut progresser sans probl` me. La seule condition est que A soit inversible, e ` ´ mais quand on trouve un pivot nul, il faut proc´ der a des echanges d’´ quations. En e e pratique, on a bien entendu aussi des probl` mes si le pivot est petit en valeur absolue ; e ` il est parfois conseill´ de proc´ der syst´ matiquement a un pivotage. Cette op´ ration est e e e e cependant coˆ teuse en terme d’acc` s et de transfert de donn´ es en m´ moire, surtout u e e e si elle n´ cessite des acc` s aux disques. Si la matrice assembl´ e est initialement bande, e e e les permutations d´ truisent g´ n´ ralement cette propri´ t´ , ce qui peut alors devenir tr` s e e e ee e p´ nalisant. e Strat´ gies de choix du pivot. e ` – pivotage partiel : on choisit dans la mˆ me colonne k que celle du pivot a changer, e la ligne l telle que |Al,k | = maxm=k,...,n |Am,k | pour remplacer le pivot ; – pivotage total : on peut aussi permuter les colonnes ; on cherche alors le nouveau ` pivot dans toute la sous-matrice restant a traiter, on choisit donc la ligne l et la colonne c telles que |Al,c | = maxm,p=k,...,n |Am,p | Particularit´ s. Sans recours au pivotage, il y a unicit´ de la factorisation. e e Dans le cas o` il est n´ cessaire de traiter plusieurs second membres, on op` re siu e e ˆ multan´ ment sur les b. Si les r´ solutions doivent etre r´ alis´ es successivement, et pour e e e e chaque autre second membre b , on r´ soud L Ux = b : e y – par r´ solution de Ly = b appel´ e descente, e e – puis par r´ solution de Ux = y appel´ e mont´ e. e e e

16

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

` A chaque fois, il ne s’agit plus que de r´ soudre un syst` me triangulaire (sup´ rieur ou e e e inf´ rieur). e ` On peut d’autre part calculer a faible coˆ t le d´ terminant de A une fois que l’on u e connaˆt sa d´ composition LU : det A = det(LU) = det L detU = detU = ∏k=1,...,n Uk,k ı e Complexit´ e Dans le cas d’une matrice stock´ e pleine, la factorisation LU n´ cessite ≈ n3 op´ rations ; e e e ` une mont´ e (ou 1 descente) n´ cessite quant a elle ≈ e e
n2 2
3

op´ rations. e

1.3.2

Factorisation de Cholesky [1924]

´e e Cette technique a et´ d´ crite pour la premi` re fois dans [Benoˆt 24]. e ı ´ A NDR E -L OUIS C HOLESKY Cholesky was a French military officer involved in geodesy and surveying in Crete and North Africa just be´ fore World War I. He entered l’Ecole Polytechnique at the age of 20 and was attached to the Geodesic Section of the Geographic Service, in June 1905. That was the period when the revision of the French triangulation had just been decided to be used as the base of a new cadastral triangulation. Cholesky solved the problem of the adjustment of the grid with the method now named after him to compute solutions to the normal equations for the least squares data fitting problem. Born : 15 Oct 1875 in Montguyon (Charente-Inf´ rieure). e Died : 31 Aug 1918.

?

Caract´ ristiques de la m´ thode e e Mˆ me id´ e que la factorisation LU quand A est sym´ trique et inversible : A = e e e ` BT B avec B a diagonale > 0. Dans le cas, le stockage et le calcul ne portent que sur un peu plus de la moiti´ de la matrice, par exemple sur sa partie inf´ rieure. e e Propri´ t´ : ee utile de pivoter. si A est sym´ trique, d´ finie, positive (donc inversible), il n’est pas e e

Complexit´ e Pour A pleine, la factorisation BT B requi` re ≈ e BT B

n3 6

op´ rations. e
nl 2

Pour A bande : la factorisation requi` re ≈ 2b op´ rations, une mont´ e (ou une e e e descente) coˆ te ≈ nlb op´ rations. Le stockage n´ cessite ≈ nlb r´ els (g´ n´ ralement 8 u e e e e e 1 b b ` 1 octets). De facon courante, on a ln ¸ 1 ( ln = 10 a 100 ). Un exemple d’utilisation de cette factorisation pour l’orthogonalisation des vecteurs d’un sous-espace est pr´ sent´ e dans l’annexe A, page 73. e e

1.3.3

Factorisation de Crout (la plus employ´ e) e

` A = LDLT avec L triangulaire inf´ rieure a diagonale unitaire, D diagonale. e Cette factorisation s’applique pour A sym´ trique, d´ finie positive, mais traite aussi e e les cas o` les valeurs propres sont n´ gatives ou nulles. u e

´ 1.3. METHODES DIRECTES

17

` Complexit´ identique a celle de la factorisation de Cholesky, mais on n’a plus besoin e d’extraire n racines carr´ es (pour la diagonale). e L’algorithme 1 pr´ sente cette factorisation dans le cas d’une matrice sym´ trique A e e stock´ e pleine. Il requi` re l’utilisation d’un vecteur v suppl´ mentaire. e e e Algorithme 1 Factorisation LDLT stock´ e pleine e boucle sur j = 1, 2, . . . , n boucle sur i = 1, 2, . . . , j − 1 vi ← A j,i Ai,i fin v j ← A j, j − A j,1: j−1 v1: j−1 A j, j ← v j A j+1:n, j ← fin Sans pivotage, comme pour Cholesky et pour Gauss, la factorisation conserve le ´ profil de la matrice ecras´ e en m´ moire, comme on le verra dans la suite. e e 1 (A j+1:n, j − A j+1:n,1: j−1 v1: j−1 ) vj

1.3.4 Lien avec la condensation de Schur
Super-´ l´ ments ee Comme c’´ tait le cas pour la factorisation LU, la factorisation de Cholesky ou Crout e ´e est tr` s li´ e a la condensation de Schur. Dans le cas des el´ ments finis, on peut bˆ tir e e ` a ainsi la notion de super-´ l´ ment. Consid´ rons une partie d’une structure qui repr´ sente ee e e ´ une zone d’int´ rˆ t particulier (par exemple, une zone qui reste en elasticit´ alors que ee e le reste de la structure plastifie, ou une zone dans laquelle des fonctions de bases par´e ticuli` res ont et´ ajout´ es comme dans la m´ thode de partition de l’unit´ . . .) et qui a e e e e ´e ´e et´ maill´ e par el´ ments finis, figure 1.2. L’interface avec le reste de la structure se e fait par le bord de cette zone. Notons avec un indice i les degr´ s de libert´ s des nœuds e e ` strictement internes a cette zone et b ceux des nœuds de l’interface, alors K= Kii Kbi Kib Kbb

−1 Si on condense sur les nœuds ”bord” on a S = Kbb − Kbi Kii Kib : c’est la ma` trice de rigidit´ du super-´ l´ ment consid´ r´ . Elle est similaire a une matrice de rigidit´ e ee ee e ´e ˆ el´ mentaire, pour un ”´ l´ ment” qui peut etre lui-mˆ me une petite structure. ee e

Conservation de la bande ` ` La figure 1.3 montre, a l’it´ ration k, c’est a dire lors de la condensation de l’ine ˆ connue k sur les suivantes, les termes de la matrice qui vont etre touch´ s, autrement e dit, ceux qui a priori sont ou deviennent non-nuls. Clairement, la bande est conserv´ e e lors de la factorisation. On peut de la mˆ me facon montrer que seuls les termes sous le e ¸ profil sont modifi´ s, et donc que la factorisation conserve le profil de la matrice. e

18

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

Zone d'intérêt particulier

i b

S

F IG . 1.2 – Utilisation d’un super-´ l´ ment ee

k

k Coefficients modifiés à l'étape k

´ F IG . 1.3 – Etape k de la factorisation

1.3.5

Autres techniques

L’adaptation de la factorisation de Crout au cas o` A est non-sym´ trique est clasu e sique, c’est la factorisation LDM T . D’autres variantes des techniques pr´ c´ dentes permettent de tirer mieux parti des e e ´ conditions de stockage, en particulier pour optimiser les echanges de donn´ es avec la e partie des informations stock´ es sur disque, comme la m´ thode frontale [Irons 70]. e e D’autres versions encore permettent de r´ aliser des factorisations en parall` le de facon e e ¸ assez performantes, comme les m´ thodes multi-frontales [Duff 86]. e

1.4

´e Quelques particularit´ s en el´ ments finis e

Conditions aux limites en d´ placement e La prise en compte de d´ placements impos´ s non-nuls a une influence sur l’utilisae e tion des solveurs dans le sens o` la matrice de rigidit´ est modifi´ e par ces contraintes. u e e S´ paration des degr´ s de libert´ . Le probl` me correspondant de minimisation e e e e du potentiel sous contrainte est le suivant : 1 min J1 (u) = uT Ku − f T u 2 (1.6)

Cu=ud

C est une matrice bool´ enne dont le but est d’extraire une partie des degr´ s de libert´ s, e e e ceux sur lesquels la condition d’´ galit´ aux d´ placements impos´ s ud est impos´ e. e e e e e

´ ´ ´ 1.4. QUELQUES PARTICULARITES EN ELEMENTS FINIS

19

Reprenons l’´ criture par blocs d´ j` pr´ sent´ s (1.1) en s´ parant les degr´ s de libert´ e ea e e e e e ´ ` impos´ s u2 = Cu = ud . Le probl` me (1.6) est ainsi equivalent a e e 1 T min uT K11 u1 − f1 u1 + uT K12 ud + constante 1 u1 2 1 Dont l’´ quation d’Euler correspondante est K11 u1 = f1 −K12 ud . On a ainsi un probl` me e e de taille r´ duite o` les charges ext´ rieures sont modifi´ es par le terme −K12 ud (ce e u e e ` ´ ` sont les r´ actions a l’appui qui permettent d’avoir un d´ placement bien egal a ud ). e e Cette m´ thode est effectivement employ´ e dans des codes comme ABAQUSTM . L’ine e conv´ nient de cette m´ thode r´ side dans le tri explicite n´ cessaire dans les degr´ s de e e e e e libert´ qui rempli donc le terme K12 , et qui entraˆne un surcoˆ t important lorsque le e ı u nombre de degr´ s de libert´ bloqu´ s est grand. e e e Multiplicateurs de Lagrange. J OSEPH -L OUIS L AGRANGE Joseph-Louis Lagrange is usually considered to be a French mathematician, but the Italian Encyclopedia refers to him as an Italian mathematician. They certainly have some justification in this claim since Lagrange was born in Turin and baptised in the name of Giuseppe Lodovico Lagrangia. The papers by Lagrange cover a variety of topics : beautiful results on the calculus of variations, work on the calculus of probabilities. . .In a work on the foundations of dynamics, Lagrange based his development on the principle of least action and on kinetic energy. The M´ canique analytique e which Lagrange had written in Berlin, was published in 1788. It summarised all the work done in the field of mechanics since the time of Newton and is notable for its use of the theory of differential equations. With this work Lagrange transformed mechanics into a branch of mathematical analysis. ”Lagrange, in one of the later years of his life, imagined that he had overcome the difficulty (of the parallel axiom). he went so far as to write a paper, which he took with him to the Institute, and began to read it. But in the first paragraph something struck him which he had not observed : he muttered : ‘Il faut que j’y songe encore’, and put the paper in his pocket.” A De Morgan Budget of Paradoxes. Born : 25 Jan 1736 in Turin, Sardinia-Piedmont (now Italy). Died : 10 April 1813 in Paris, France. ` Une autre technique consiste a reformuler le probl` me (1.6) en relaxant la contrainte e ` a l’aide de multiplicateur de Lagrange l et donc de transformer le probl` me de minie mum en celui de la recherche du point selle du Lagrangien : extr J1 (u) − l T (Cu − ud )
u,l

Il n’est plus n´ cessaire de s´ parer les degr´ s de libert´ s, mais la taille du probl` me a e e e e e ´ augment´ ; en effet les equations d’Euler sont cette fois : e K −C −CT 0 A u f = l −ud

20

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

On peut remarquer que la premi` re equation montre que les multiplicateurs de Lae ´ ` grange sont bien les r´ actions a l’appui. e L’inconv´ nient vient du fait que la taille du probl` me augmente, et du fait que A e e est une matrice sym´ trique mais plus d´ finie positive ; elle poss` de des valeurs propres e e e n´ gatives. On a cependant le r´ sultat suivant si K est sym´ trique, d´ finie positive : e e e e A inversible ⇔ C injective ⇔ kerrC = {0} ` c’est a dire on n’´ crit que des liaisons ind´ pendantes. Une factorisation de Gauss risque e e de d´ truire la structure bande de la matrice K et la factorisation de Crout va demander e des pivotages. Une modification de cette technique permet, avec une num´ rotation ad hoc qui e conserve la bande, de ne pas avoir besoin de pivoter. Il s’agit d’une technique de double ˆ e e multiplicateurs utilis´ e dans CASTEM 2000TM . Elle peut etre illustr´ e de la mani` re e suivante :  T    −1 1 1 l1 T 1 l1 u l1 extr J1 (u) + l2   1 −1 1  l2  − d ud l2 2 u,l1 ,l2 u 1 1 0 u2 1 − (l1 − l2 )2 + (l1 + l2 )T (Cu − ud ) 2 ´ dont les equations d’Euler sont : Ku = f −CT (l1 + l2 ) l1 = l2 Cu = ud Bien entendu, en cas de nombreux blocages, la taille du probl` me croˆt en cons´ quence. e ı e Valeurs tr` s grandes (gros poids) On peut aussi consid´ rer une condition aux e e limites en d´ placement impos´ comme une mod´ lisation de l’action de l’ext´ rieur. e e e e Celui-ci pourrait aussi r´ agir comme un ressort ayant une grande raideur k, avec un e ´ d´ placement impos´ a la base. Le potentiel elastique de l’ensemble structure + ressort e e` 1 T k(Cu − u ). Les nouvelles equations d’Euler de ´ ext´ rieur est alors J1 (u) + (Cu − ud ) e d 2 T kC)u = f +CT kCu . cette formulation sont alors : (K +C d On ne fait donc que rajouter des termes dans la matrice de raideur sur les degr´ s de e libert´ s incrimin´ s et dans le vecteur des forces g´ n´ ralis´ es sur les efforts duaux. e e e e e Le probl` me est le choix de k : pour des valeurs trop petites, la condition est mal ime pos´ e, pour des valeurs trop grandes, le syst` me devient extrˆ mement mal conditionn´ , e e e e voire num´ riquement singulier. e Relations lin´ aires entre degr´ s de libert´ e e e Cette situation se pr´ sente par exemple fans le cas d’utilisation de sym´ trie par e e ` rapport a un plan non parall` le a un des plan des axes globaux de l’analyse, dans le cas e ` ` de conditions aux limite p´ riodiques sur une cellule de base. . .A chaque fois, il s’agit e de contraintes de la forme Cu = ud o` C n’est cette fois-ci pas forc´ ment bool´ enne. u e e Les techniques pr´ c´ dentes s’appliquent bien entendu sur ces cas de figure tout aussi e e bien. . .et avec les mˆ mes limitations. e

´ ´ 1.5. METHODES ITERATIVES STATIONNAIRES Syst` me singulier : semi d´ fini positif e e

21

Exemple : structure avec des modes rigides, sous-int´ gration. . .il y a des d´ placements e e 1 T `´ non nuls a energie de d´ formation nulle u Ku = 0. e 2 Dans la suite, on s’int´ ressera au cas o` cas est A sym´ trique, sachant que la e u e ` g´ n´ ralisation est tout a fait possible. e e Noyau. L’ensemble des solutions ind´ pendantes, stock´ es dans les colonne de R, e e telles que AR = 0, forme le noyau (ou espace nul) de A. S’il y en a p, le rang de A est n − p. Existence de solutions. Pour qu’il existe des solutions, une condition n´ cessaire e ` et suffisante est que b soit orthogonal au noyau de A, c’est a dire RT b = 0. Exemple : les efforts ne sollicitent pas les modes de solide rigide. Si A est non sym´ trique, la condition est que b appartienne au noyau adjoint de A. e Si x0 est une solution de ce syst` me, l’ensemble des solutions est de la forme x0 + e Rα o` α est quelconque. u Inverses g´ n´ ralis´ es (ou pseudo-inverses). A+ telle que AA+ A = A. Si A est e e e e inversible, il n’y a qu’une pseudo-inverse A+ = A−1 . Pour A sym´ trique, toutes les pseudo-inverses sont de la forme A+ + BT RT + RB, avec B quelconque. Factorisation et construction d’une inverse g´ n´ ralis´ e. Supposons que le syst` me e e e e puisse s’´ crire sous la forme de blocs (1.1), o` A11 est la plus grande sous-matrice e u r´ guli` re. On a alors S = A22 − A21 A−1 A12 = 0. e e 11 A−1 0 et la solution est une pseudo-inverse de A est 11 0 0 α R La factorisation fait progresser l’´ limination tant qu’un pivot non nul existe. Dans e notre cas, avec pivotage, on tombe sur une sous-matrice nulle. Pour les matrices semid´ finies, il n’est pas n´ cessaire de pivoter car un pivot nul apparaˆt lorsque la ligne e e ı du pivot est une combinaison lin´ aire des pr´ c´ dentes. L’inconnue correspondante e e e ` est rep´ r´ e et fix´ e a 0, voir x0 dans (1.7) (c’est a dire qu’on ajoute des liaisons ee e ` ` compl´ mentaires pour fixer les modes de solide rigide) — a condition que le terme e correspondant au second membre condens´ soit nul aussi. La colonne correspondante e de la matrice stocke le vecteur associ´ , voir R dans (1.7). e x0 x1 −A12 A−1 b = 11 1 + x2 Id 0 x2 (1.7)

1.5

M´ thodes it´ ratives stationnaires e e

De facon g´ n´ rale avec les techniques it´ ratives, on est amen´ a se poser au moins ¸ e e e e` les questions suivantes : – quelles sont les conditions d’emploi de ces techniques (pour assurer la convergence vers la solution cherch´ e) ? e – quel crit` re d’arrˆ t des it´ rations employer ? e e e – quels sont les coˆ ts de ces m´ thodes ? u e

22

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

Dans le cas des m´ thodes it´ ratives stationnaires, on rencontre les particularit´ s e e e suivantes : ´ – on acc` de a A uniquement par le produit Aw (phase la plus coˆ teuse). Eventuellement, e ` u ´e ´e comme en el´ ments finis, on peut le faire sous forme el´ mentaire (sans assemblage) : Aw = ∑e Ae we ` – on construit une suite de solutions approch´ es x(k) →k→∞ A−1 b a partir d’une e r´ currence lin´ aire x(k) = Bx(k−1) + c o` B (la matrice d’it´ ration) et c sont e e u e ind´ pendantes de k (contrairement aux m´ thodes non stationnaires). e e Ce sont des m´ thodes de type point fixe : si on converge, c’est vers x = Bx + c e ⇒ (x(k) − x) = B(x(k−1) − x) Pour avoir x(k) − x →k→∞ 0, il faut et il suffit que ρ(B) < 1. ρ(B) est le rayon spectral de B, c’est le sup des valeurs absolues des valeurs propres de B. Le taux de convergence asymptotique est d´ fini par : τ = − ln ρ(B). Il peut servir e ` a estimer le nombre d’it´ rations n´ cessaire pour atteindre le niveau de convergence e e souhait´ ; en effet on a e (x(k) − x) = Bk (x(0) − x) ⇒ x(k) − x ≤ Bk x(0) − x ⇒ − ln x(k) − x ≤ kτ x(0) − x

L’int´ rˆ t est de pouvoir estimer le nombre d’it´ rations n´ cessaires pour diviser le ee e e niveau d’erreur par un coefficient donn´ (utilisation d’un crit` re d’arrˆ t), connaissant e e e le taux de convergence asymptotique de la m´ thode. e Pour plus d’informations sur les m´ thodes it´ ratives stationnaire, on pourra consule e ter [Hagemana et Young 81].

1.5.1

M´ thode de Jacobi e
K ARL G USTAV JACOB JACOBI Jacobi published three treatises on determinants in 1841. These were important in that for the first time the definition of the determinant was made in an algorithmic way and the entries in the determinant were not specified so his results applied equally well to cases were the entries were numbers or to where they were functions. These three papers by Jacobi made the idea of a determinant widely known. Born : 10 Dec 1804 in Potsdam, Prussia (now Germany). Died : 18 Feb 1851 in Berlin, Germany.

Cette m´ thode est d´ crite ici pour m´ moire seulement, car elle poss` de un faible e e e e taux de convergence et dans nos applications, est avantageusement remplac´ e par d’autre e techniques plus efficaces. Elle illustre cependant bien les techniques de point fixe : si ˆ on suppose connues toutes les inconnues sauf l’inconnue i, cette derni` re peut etre e d´ termin´ e a l’aide de l’´ quation i. Proc´ dant ainsi sur toutes les inconnues, on obtient e e ` e e un nouvel it´ r´ xk a partir de l’ancien xk−1 . ee ` Sous forme matricielle, cela se traduit par : xk = (1 − D−1 A)xk−1 + D−1 b o` D est la matrice diagonale, contenant la diagonale de A. La matrice d’it´ ration est u e donc ici B = 1 − D−1 A. L’algorithme 2 pr´ sente cette m´ thode. On peut noter l’utilisation d’un vecteur de e e stockage x suppl´ mentaire. ¯ e

´ ´ 1.5. METHODES ITERATIVES STATIONNAIRES Algorithme 2 M´ thode de Jacobi e Choix d’un vecteur de d´ part x(0) e tant que la convergence n’est pas atteinte, it´ rer sur k e boucle sur tous les i entre 1 et n xi ← Ai,1:i−1 x1:i−1 + Ai,i+1:n xi+1:n ¯ xi ← (bi − xi )/Ai,i ¯ ¯ fin x(k) ← x ¯ test de convergence fin
(k−1) (k−1)

23

Convergence ´e Si A est sym´ trique, d´ finie positive, alors ρJ = ρ(B) < 1, mais en el´ ments finis, e e ´ on a une evaluation de ce rayon spectral qui varie comme ρJ = 1 − h2 + o(h4 ) 2

d’o` un taux de convergence faible lorsque le maillage est raffin´ (donc lorsque h est u e faible) : h2 τ≈ 2

1.5.2

M´ thode de Gauss-Seidel e
L UDWIG P HILIPP VON S EIDEL Philipp Seidel entered the University of Berlin in 1840 and studied under Dirichlet and Encke. He moved to K¨ nigsberg where he studied under Bessel, Jacobi and o Franz Neumann. Seidel obtained his doctorate from Munich in 1846 and he went on to become professor there. Seidel wrote on dioptics and mathematical analysis. His work on lens identified mathematically five coefficients describing the aberration of a lens, now called ’Seidel sums’. These Seidel sums correspond to spherical aberration, coma, astigmatism, Petzval curvature and distortion. He also introduced the concept of nonuniform convergence and applied probability to astronomy. Born : 24 Oct 1821 in Zweibr¨ cken, Germany. u Died : 13 Aug 1896 in Munich, Germany.

?

` ` L’id´ e est similaire a celle de la m´ thode de Jacobi, a ceci pr` s que l’on utilise e e e ` les nouvelles valeurs estim´ es d` s qu’elles sont disponibles, et non pas a la fin de e e l’it´ ration. e Sous forme matricielle, cela se traduit par : xk = (D − E)−1 (Fxk−1 + b)

24

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

o` −E est la partie triangulaire inf´ rieure de A, et −F sa partie triangulaire sup´ rieure. u e e La matrice d’it´ ration est ici B = (D − E)−1 F = (1 − D−1 E)−1 D−1 F. e Quand A est sym´ trique, d´ fini positive, on est assur´ de la convergence : ρGS < 1. e e e Mais l’estimation de la valeur du rayon spectral est difficile cas il d´ pend en particulier e de la num´ rotation des degr´ s de libert´ employ´ e. e e e e L’algorithme 3 pr´ sente cette m´ thode. e e Algorithme 3 M´ thode de Gauss-Seidel e Choix d’un vecteur de d´ part x(0) e tant que la convergence n’est pas atteinte, it´ rer sur k e boucle sur i = 1, 2, . . . , n xi
(k−1)

←0
(k−1)

β ← Ai,1:n x1:n
(k)

xi ← (bi − β)/Ai,i fin test de convergence fin

1.5.3

M´ thode de relaxation (SOR) [1946] e

Cette technique, SOR pour successive over relaxation, est attribu´ e a Southwell e ` [Southwell 46]. Elle utilise comme base la m´ thode de Gauss-Seidel ainsi qu’une teche nique maintenant souvent utilis´ e avec d’autre approches : la technique de relaxation. e ` Le principe consiste a modifier (par relaxation) l’it´ r´ xk fourni par l’algorithme de ee ` Gauss-Seidel a chaque it´ ration. Pour cela, il faut conserver l’it´ r´ pr´ c´ dent xk−1 et e ee e e modifier l’it´ r´ courant comme suit : xk ← ωxk + (1 − ω)xk−1 . ee ω est appel´ le param` tre de relaxation. Si ω < 1, on parle de sous-relaxation, et si e e ω > 1, de sur-relaxation. On peut montrer que la matrice d’it´ ration correspondante est e B = (1 − ωD−1 E)−1 [(1 − ω)1 + ωD−1 F] Concernant la convergence, le th´ or` me de Kahan donne une condition n´ cessaire : e e e 0 < ω < 2. Il est clair que si ω = 0, l’algorithme ne progresse plus. Le th´ or` me e e ` d’Ostrowski-Reich permet de conclure a la convergence ∀ω ∈]0, 2[ quand A est sym´ trique, e d´ finie positive. e ` Le choix de ω est fait a partir d’heuristiques, comme ω = 2−o(h) pour une discr´ tisation e ´e el´ ments finis dont la taille de maille est h. Il existe aussi des techniques d’optimisation de ω en cours de route, comme la technique d’acc´ l´ ration d’Aitken [Aitken 50]. ee On peut aussi s’inspirer de r´ sultats dans des cas particuliers. Par exemple dans un e cas tridiagonal bloc, on montre que la valeur optimale de ω est ωopt 1+ 2 1 − ρ2 J

´ ´ 1.5. METHODES ITERATIVES STATIONNAIRES

25

` La valeur de ρJ est ainsi a estimer sur le probl` me en question. On a alors ρSOR = e ´e ` ωopt − 1, et, dans le cas el´ ments finis, τ ≈ 2h (un ordre est gagn´ par rapport a la e m´ thode de Jacobi). e L’algorithme 4 pr´ sente cette m´ thode. e e Algorithme 4 M´ thode SOR (Successive OverRelaxation) e Choix d’un vecteur de d´ part x(0) e tant que la convergence n’est pas atteinte, it´ rer sur k e boucle sur i = 1, 2, . . . , n α ← xi xi
(k−1) (k−1)

←0
(k−1)

β ← Ai,1:n x1:n
(k)

xi ← (1 − ω)α + ωβ fin test de convergence fin

1.5.4

Cas particulier : m´ thode d’Uzawa [1958] e

Dans certains cas de figure (probl` mes de point selle, liaisons trait´ es par multiplie e ˆ cateur de Lagrange, par exemple), on peut etre amen´ a r´ soudre des probl` mes de la e` e e forme : K C x f = g CT 0 l Pour que le probl` me continue d’ˆ tre inversible, il suffit que C soit injective. e e ` e La m´ thode d’Uzawa consiste a r´ soudre it´ rativement de facon d´ coupl´ e, comme e e ¸ e e le montre l’algorithme 5. α est un param` tre de la m´ thode. e e Algorithme 5 M´ thode d’Uzawa e Choix d’un vecteur de d´ part x(0) , l (0) e tant que la convergence n’est pas atteinte, it´ rer sur k e r´ soudre Kx(k) = b −Cl (k−1) e r´ actualiser l (k) ← l (k−1) + α(CT x(k) − c) e test de convergence fin Pour analyser cet algorithme, on peut condenser la variable x(k) sur la variable l (k) pour trouver : l (k) = (1 − αCT K −1C) l (k−1) + α(CT K −1 f − g) B

26

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES Si on appelle λ1 , . . . , λ p les valeurs propres de CT K −1C, ρ(B) < 1 ⇔ ∀i, |1 − αλi | < 1

Avec CT K −1C sym´ trique, d´ finie positive, λi > 0 donc il faut prendre e e 0<α< 2 maxi λi

1.6

M´ thodes it´ ratives non-stationnaires e e

` Ces m´ thodes se d´ crivent de la mˆ me facon que les pr´ c´ dentes, a ceci pr` s que e e e ¸ e e e les op´ rateurs B et c d´ pendent des it´ rations. e e e

1.6.1

M´ thode g´ n´ rique de projection e e e

Reformulons le probl` me de d´ part en d´ finissant le r´ sidu r = b − Ax : il s’agit e e e e maintenant d’avoir r = 0. L’id´ e est ici de se trouver avec un probl` me de plus pee e ´ tite taille, de structure plus simple (par exemple, tridiagonal) par plusieurs etapes de projection. Consid´ rons un sous-espace U de l’espace dans lequel la solution est cherch´ e. Le e e probl` me approch´ est d´ fini par x = Qx ∈ U avec b − Ax ⊥ U , figure 1.4. e e e ˆ

b - Ax x
 

F IG . 1.4 – Technique de r´ duction dans un sous-espace e Il est clair que si U est l’espace complet, ce probl` me est le probl` me de d´ part. e e e ` Dans tous les cas, il conduit a QT (b − AQx) = 0 ⇒ (QT AQ) x = QT b ˆ ˆ ˆ A ˆ b

Une m´ thode de projection peut donc se sch´ matiser de la facon suivante : e e ¸ 1. r ← b − Ax 2. x = A−1 QT r ˆ ˆ 3. x ← x + Qx ˆ 4. on it` re e ` Le choix de Q a chaque it´ ration d´ pend bien entendu de la m´ thode employ´ e. e e e e

1.6.2

M´ thode du gradient e

Pour A sym´ trique, d´ finie positive, la solution approch´ e est modifi´ e de la mani` re e e e e e suivante : x(k+1) ← x(k) + µ(k) d (k) o` d (k) est la direction de recherche dans la direction u

´ ´ 1.6. METHODES ITERATIVES NON-STATIONNAIRES

27

du gradient : d (k) = Ax(k) − b. µ(k) est le param` tre d’optimalit´ de la nouvelle solution e e dans la direction d (k) . Il se calcule comme µ
(k)

=

d (k) (b − Ax(k) ) d (k) Ad (k)
T

T

=−

d (k) d (k) d (k) Ad (k)
T

T

Il s’agit d’une m´ thode de projection pour laquelle la taille du sous-espace est 1 car e on choisit pour Q le sous-espace g´ n´ r´ par le seul vecteur r´ sidu : Q = [r]. e ee e La convergence de cette m´ thode est assez lente, d’o` l’intervention d’une teche u nique de conjugaison pour la m´ thode suivante. e

1.6.3

M´ thode du gradient conjugu´ [1952] e e

Cette m´ thode est g´ n´ ralement attribu´ e a Hestenes et Stiefel [Hestenes et Stiefel e e e e ` 52]. Elle est utilis´ e dans le cas o` A est sym´ trique, d´ finie positive. e u e e Description de la m´ thode e ` ` L’initialisation consiste a choisir un vecteur de d´ part x(0) , a calculer le r´ sidu ase e e soci´ r(0) = b − Ax(0) , et de prendre comme premi` re direction de recherche d (0) = r(0) . e Les it´ rations sont ensuite de la forme : e 1. it´ r´ x(k+1) = x(k) + µ(k) d (k) avec le pas optimal ee µ
(k)

=

r(k) d (k) d (k) Ad (k)
T

T

=

r(k) r(k) d (k) Ad (k)
T

T

2. r´ sidu r(k+1) = b − Ax(k+1) e ` 3. direction de recherche d (k+1) = r(k+1) + λ(k) d (k) qu’on orthogonalise par rapport a la pr´ c´ dente : e e d (k+1) d (k) = 0 ⇒ λ(k) = − Propri´ t´ s ee Si i < j, alors r(i) r( j) = 0 = d (i) r( j) = d (i) Ad ( j) = r(i) Ad ( j) On construit donc des vecteurs orthogonaux au sens de A, d (0) , d (1) , . . . qui forment ` donc une base. On minimise a chaque fois sur un sous-espace de taille de plus en plus grande. ´ En th´ orie, cette m´ thode est donc une m´ thode directe en n etapes. En pratique, e e e on a progressivement perte d’orthogonalit´ due aux arrondis, c’est donc en ce sens une e m´ thode it´ rative. e e On a alors la propri´ t´ de convergence suivante : ee x
(k) T T T T T

r(k+1) Ad (k) d (k) Ad (k)
T

T

=

r(k+1) r(k+1) r(k) r(k)
T

T

√ cond A − 1 −x A ≤ 2 √ cond A + 1

(k)

x(0) − x

A

1 ´e ) = o(h) en el´ ments finis. donc τ = o( √ cond A

28

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

1.6.4

Pr´ conditionnement e

Si on peut avoir facilement une approximation spectrale M de A, l’id´ e est de chere ` e cher a r´ soudre M −1 Ax = M −1 b, M sym´ trique, d´ finie positive. Ce probl` me devient e e e non sym´ trique, mais on peut lui substituer (M −1/2 AM −1/2 )M 1/2 x = M −1/2 b. e ` Le choix du pr´ conditionneur d´ pend du probl` me a traiter. Dans le meilleur des e e e ` cas, il est facile a ”inverser”, et repr´ sente bien la matrice A. En fait, si M = 1 il est e ` facile a inverser, mais est tr` s diff´ rent de A, et si M = A il y a convergence en 1 e e it´ ration, mais dans laquelle il faut r´ soudre le probl` me de d´ part ! e e e e La convergence est cette fois-ci en 1 τ = o( √ ) cond M −1 A Comme exemples de pr´ conditionneurs classiques, on a la factorisation de Choe lesky incompl` te, SSOR. . . e L’algorithme 6 pr´ sente cette m´ thode. e e Algorithme 6 M´ thode du gradient conjugu´ pr´ conditionn´ e e e e Choix d’un vecteur de d´ part x(0) e Calcul du r´ sidu d’´ quilibre r(0) ← b − Ax(0) e e tant que la convergence n’est pas atteinte, it´ rer sur k e r´ soudre Mz(k−1) = r(k−1) e ρk−1 ← r(k−1) z(k−1) si k = 1 alors d (1) ← z(0) sinon βk−1 ← ρk−1 ρk−2
T

d (k) ← z(k−1) + βk−1 d (k−1) fin q(k) ← Ad (k) αk ← ρk−1
T d (k) q(k)

x(k) ← x(k−1) + αk d (k) r(k) ← b(k) − Ax(k) = r(k−1) − αk q(k) test de convergence fin Le choix et le d´ veloppement de pr´ conditionneurs adapt´ s font encore aujourd’hui e e e l’objet de recherches. Par exemple, du 10 au 12 Juin 1999, s’est tenue la “1999 International Conference on Preconditionning Techniques for Large Space Matrix Problems in Industrial Applications,” organis´ e par l’University of Minnesota Supercomputing e Institute, l’University of Waterloo et le SIAM Linear Algebra Group.

` ˆ 1.7. CRITERES D’ARRET

29

1.6.5 Autre m´ thodes it´ ratives e e
Pour information, on peut citer : – les m´ thodes dites ”rapides” d´ di´ es a des applications particuli` res : Fourier e e e ` e (o(n log n)), multigrilles (o(n)) ; – pour A sym´ trique et d´ finie : Chebyshev [Shortley 53], e e – pour A sym´ trique mais non d´ finie : MinRES (r´ sidu minimum, minimal resie e e dual), SymmLQ (symmetric LQ) [Paige et Saunders 75], – pour A non sym´ trique, mais dont on a acc` s a AT : QMR (quasi minimal resie e ` dual) [Freund et Nachtigal 91], – pour A non sym´ trique : CGS (conjugate gradient square) [Sonneveld 89], BiCGe Stab (bi-conjugate gradient stabilized) [Van der Vorst 92], GMRES (generalized minimal residual) [Saad et Schultz 86], GMRES restarted. . .

1.7

Crit` res d’arrˆ t e e

` Le crit` re d’arrˆ t recherch´ est en fait celui de l’´ cart en solution : on cherche a e e e e ` avoir e(k) = x(k) − x suffisamment petit. Malheureusement, x est la solution a convergence, et on ne peut atteindre l’erreur en solution au cours des it´ rations. La quantit´ e e que l’on peut esp´ rer atteindre est li´ e au r´ sidu r(k) = b − Ax(k) = −Ae(k) . Un crit` re e e e e souvent employ´ est le suivant : e r(k) <ε Ax(k) + b ` o` ε est un seuil fix´ a priori, que l’on peut quantifier par rapport a la pr´ cision souhait´ e u e e e et la pr´ cision machine. Parfois, on remplace au d´ nominateur Ax(k) par b . Le e e probl` me vient du fait, comme on a d´ j` pu le voir dans un exemple, que l’erreur en e ea solution et le r´ sidu sont li´ s de la facon suivante : e(k) ≤ A−1 ; donc : e e ¸ r(k) e(k) <ε⇒ < ε cond A b x ´ ˆ et, en tout etat de cause, le param` tre ε devrait etre choisi aussi fonction du conditione nement de A (qu’il faut donc estimer pour chaque probl` me trait´ ). e e Des crit` res d’arrˆ t en cas de non-convergence sont aussi mis en place. Par exemple, e e r(k) d´ croˆt ”trop lentement” ou ne d´ croˆt plus (mais il faut faire attention aux plae ı e ı teaux possibles avec certaines m´ thodes), ou la r´ solution est trop longue (crit` re en e e e nombre maxi d’it´ rations). Il s’agit alors de sortie en cas d’erreur. e

30

´ ` ´ CHAPITRE 1. RESOLUTION DE SYSTEMES LINEAIRES

Chapitre 2

Syst` mes aux valeurs propres e
On consid` re ici les probl` mes de la forme : trouver les caract´ ristiques propres, e e e ` c’est a dire les couples (λ, x) o` x = 0 tels que Ax = λx (on se restreindra aux cas o` A u u est sym´ trique). e Un probl` me aux valeurs propres g´ n´ ralis´ est de la forme Kx = ω2 Mx, avec x = 0, e e e e K sym´ trique, d´ finie positive et M sym´ trique positive. Dans ce cas, on peut utiliser la e e e factorisation de Cholesky de M : M = LLT et avec y = LT x, on est ramen´ au probl` me e e pr´ c´ dent L−1 KL−T y = ω2 y. e e En g´ n´ ral, dans les probl` mes qui nous concernent, on ne veut qu’environ 30 e e e ` valeurs et/ou vecteurs propres, de pr´ f´ rence a basse fr´ quence (dynamique lente, viee e ` e brations, flambage. . .). Dans le cas o` il y a de l’amortissement, le syst` me a r´ soudre u e est M x +Cx + Kx = f (t). La matrice d’amortissement, C, est souvent mal maˆtris´ e et ¨ ˙ ı e ` ´ si l’amortissement est peu influent a basse fr´ quence (ce qui n’est pas evident pour tous e les cas), on est ramen´ a M x + Kx = f (t). e` ¨ ´e Avec une discr´ tisation el´ ments finis standard, les hautes fr´ quences obtenues e e ´ num´ riquement sont eloign´ es des vraies. e e Enfin, on pr´ voit parfois d’avoir des probl` mes si les valeurs propres sont mal e e s´ par´ es (proches ou mˆ me confondues en cas de sym´ tries, par exemple). e e e e Une r´ f´ rence de base concernant ces probl` mes est [Wilkinson 65]. ee e JAMES H ARDY W ILKINSON Wilkinson won a Foundation Scholarship to Sir Joseph Williamson’s Mathematical School, Rochester at the age of 11. In 1940 Wilkinson began war work which involved mathematical and numerical work on ballistics. Wilkinson continued work becoming more involved in writing many high quality papers on numerical analysis, particularly numerical linear algebra where he developed backward error analysis methods. He worked on numerical methods for solving systems of linear equations and eigenvalue problems. As well as the large numbers of papers on his theoretical work, Wilkinson developed computer software, working on the production of libraries of numerical routines. The NAG (Numerical Algorithms Group) began work in 1970 and much of the linear algebra routines were due to Wilkinson. Born : 27 Sept 1919 in Strood, Kent, England. Died : 5 Oct 1986 in London, England. 31

32

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

On pourra aussi consulter B N Parlett, The contribution of J H Wilkinson to numerical analysis, A history of scientific computing (New York, 1990), 17-30.

2.1
2.1.1

Pr´ liminaires e
Rappels

Pour une matrice quelconque λ est valeur propre de A ⇔ det(A − λ1) = 0 Dans C, A admet n valeurs propres distinctes ou non, r´ elles ou complexes. e A a n valeurs propres distinctes ⇒ A est diagonalisable. Pour une matrice r´ elle e A est sym´ trique ⇒ A est diagonalisable, de valeurs propres r´ elles. e e A est sym´ trique, d´ finie positive e e ⇔ toutes les valeurs propres sont strictement positives ⇔ ∃B sym´ trique, d´ finie positive telle que A = B2 e e Dans C, A admet n valeurs propres distinctes ou non, r´ elles ou complexes. e A a n valeurs propres distinctes ⇒ A est diagonalisable. Quotient de Rayleigh pour une matrice r´ elle, sym´ trique e e J OHN W ILLIAM S TRUTT L ORD R AYLEIGH His first paper in 1865 was on Maxwell’s electromagnetic theory. He worked on propagation of sound and, while on an excursion to Egypt taken for health reasons, Strutt wrote Treatise on Sound (1870-1). In 1879 he wrote a paper on travelling waves, this theory has now developed into the theory of solitons. His theory of scattering (1871) was the first correct explanation of why the sky is blue. Born : 12 Nov 1842 in Langford Grove (near Maldon), Essex, England. Died : 30 June 1919 in Terling Place, Witham, Essex, England. ´ Le quotient de Rayleigh est d´ fini comme etant, pour x = 0 : e R(x) = xT Ax xT x (ou ⇔ xT Kx ) xT Mx

R est extr´ mum en x = 0 e R(x) = λ Si on note λi la valeur propre num´ ro i, λi est le minimum de R(x), x = 0 sur le e sous espace orthogonal aux pr´ c´ dents vecteurs propres. De plus, en dimension finie, e e la valeur propre maxi est λn = maxx=0 R(x) dans l’espace complet de dimension n. (λ, x) est caract´ ristique propre de A e

2.1.2

Domaine d’emploi des diff´ rentes m´ thodes e e

En comparaison de la r´ solution d’un syst` me lin´ aire, la r´ solution d’un syst` me e e e e e aux valeurs propres est beaucoup plus coˆ teuse. En fait, il s’agit d’un probl` me nonu e lin´ aire, et beaucoup de m´ thodes s’appuient sur la r´ solution d’une succession de e e e

´ ´ 2.2. METHODE DE JACOBI (POUR MEMOIRE) [1846]

33

syst` mes lin´ aires, en interne. Elles souffriront alors des probl` mes affectant ces sole e e veurs, en particulier le mauvais conditionnement. L’ordre de grandeur de la taille des syst` mes aux valeurs propres que l’on va consid´ rer dans cette partie est de l’ordre de e e ` n = 250 a n = 25000. La premi` re m´ thode est celle du de l’´ quation caract´ ristique. On peut en effet e e e e rechercher les z´ ros du polynˆ me caract´ ristique de la matrice, mais si les coefficients e o e ˆ de ce polynˆ me peuvent etre assez facilement atteints, une petite perturbation sur ceuxo ` e ci conduit a d’´ normes variations sur ses racines. Cette m´ thode est donc r´ serv´ e a des e e e ` tailles de syst` me r´ duites, jusqu’` n ≈ 10. On peut montrer math´ matiquement que, e e a e ˆ d` s que n ≥ 5, la m´ thode employ´ e ne peut etre qu’it´ rative : le probl` me ne peut plus e e e e e ˆ etre r´ solu num´ riquement en un nombre fini d’op´ rations. e e e Les m´ thodes de Jacobi, des puissances et de Householder vont ensuite pouvoir e ˆ etre employ´ es pour des syst` mes dont la taille va jusqu’` n ≈ 250. e e a ˆ Au del` , elle doivent etre adapt´ es a un stockage bande, et le remplissage des maa e ` ˆ ´ trices au cours des it´ rations doit etre etudi´ . Avec les m´ thodes de r´ duction, ces teche e e e niques permettent d’atteindre des syst` mes dont la taille va jusqu’` n ≈ 2500. e a Jusqu’` n ≈ 25000, les m´ thodes des puissances, plus ou moins coupl´ es aux m´ thodes a e e e de sous-espaces, la m´ thode de Lanczos avec strat´ gie de r´ orthogonalisation pere e e mettent encore de traiter le probl` me. e ` Pour d´ passer ces tailles de probl` me, il est ensuite n´ cessaire de faire appel a des e e e techniques particuli` res. Par exemple, les techniques de parall´ lisation, vectorisation, e e optimisation des entr´ es-sorties, les m´ thodes de condensation et sous-structuration e e ´ (Guyan-Irons, Craig-Bampton. . .) Ces derni` res m´ thodes ne seront pas etudi´ es ici. e e e

2.2

M´ thode de Jacobi (pour m´ moire) [1846] e e

On va d´ crire ici cette m´ thode dans le cas particulier o` A est sym´ trique. Cette e e u e m´ thode n’est ici d´ crite que pour m´ moire, car elle est peu efficace pour les probl` mes e e e e qui nous concernent. Historiquement, cette m´ thode est propos´ e dans [Jacobi 46]. e e Principe de la m´ thode e ` ` On cherche a ramener A a une forme diagonale pour trouver tous ses valeurs propres et vecteurs propres, par une s´ quence de transformations orthogonales : e A(k+1) = R(k) A(k) R(k) avec les rotations (changement de base) R(k) v´ rifiant R(k) R(k) = 1. e La propri´ t´ utilis´ e est que, par des rotations (des isom´ tries), il y a conservation ee e e des valeurs propres. Algorithme On commence par chercher l’´ l´ ment hors diagonale de module maximal ee |A p,q | = max |Ai, j |
i= j (k) (k) T T

On construit alors la matrice de rotation d’un angle θ ad hoc dans le plan (e p , eq ) (k+1) (k+1) de facon a annuler dans l’it´ r´ suivant les termes Aq,p et A p,q : ¸ ` ee R(k) = 1 + (cos θ − 1)(e p eT + eq eT ) + (sin θ − 1)e p eT − (sin θ + 1)eq eT p q p q

34 Avec A p,q
(k+1)

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

1 1 (k) (k) (k) = sin 2θ A p,p − Aq,q + cos 2θA p,q = 0 2 2

cotan 2θ =

A p,p − Aq,q A p,q
(k)

(k)

(k)

Seuls changent les termes sur les lignes ou colonnes p ou q. L’algorithme 7 pr´ sente cette m´ thode. e e Algorithme 7 M´ thode de Jacobi e tant que la convergence n’est pas atteinte, it´ rer sur k e ` Choix du terme a annuler A p,q ν← Aq,q
(k−1)

− A p,p
(k−1)

(k−1)

√ calcul de la tangente t ← 1 si ν = 0, −ν + sgn(ν) 1 + ν2 sinon 1 calcul du cosinus c ← √ 1 + t2 calcul du sinus s ← ct A(k) ← A(k−1) A p,1:n ← cA p,1:n − sAq,1:n Aq,1:n ← sA p,1:n + cAq,1:n A p,p ← A p,p − tA p,q Aq,q ← Aq,q A p,q ← 0 Aq,p ← 0 test de convergence fin
(k) (k) (k) (k−1) (k) (k−1) (k−1) (k−1) (k) (k−1) (k) (k−1) (k−1) (k−1)

2A p,q

+ tA p,q

Convergence Propri´ t´ . Au cours des it´ rations, un terme nul peut redevenir non nul, mais ee e a(k) = ∑i= j Ai, j En effet,
(k) 2

→k→∞ 0
(k+1) 2 (k+1) 2 (k+1) 2

a(k+1) =

i= j,i=p,q, j=p,q

Ai, j

+

i=p,q

( Ai,p

+ Ai,q + Ai,q

)+

Ai, j

(k) 2

Ai,p +

(k) 2

(k) 2 (k) 2

j=p,q

( A p, j

(k+1) 2

+ Aq, j

(k+1) 2

) = a(k) − 2 A p,q

A p, j

(k) 2

+ Aq, j

(k) 2

´ 2.3. METHODE DES PUISSANCES Donc a(k+1) < a(k) .

35

Efficacit´ . Cet algorithme est stable et simple, mais la convergence est lente et il e s’av` re coˆ teux (en acc` s m´ moire) si n est grand. On a les estimations suivantes : e u e e a(k+1) ≤ 1 − 2 a(k) n(n − 1) et τ ≈ 2 n2

2.3

M´ thode des puissances (ou des it´ rations directes) e e

On se place ici dans le cas o` A est sym´ trique, d´ finie positive et dont les valeurs u e e propres sont toutes simples, rang´ es par ordre de module d´ croissant λi . e e Principe et analyse de la m´ thode e On construit un it´ r´ de d´ part x(0) , puis les it´ r´ s successifs par r´ currence de la ee e ee e mani` re suivante : x(k+1) = Ax(k) . e ´ Si (vi )i est la base propre, on peut ecrire les it´ r´ s dans cette base. En particulier ee x(0) = ∑i αi vi . Alors, x(k) = ∑ λk αi vi i
i

x(k) = λk α1 v1 + ∑ αi 1
i=2

n

λi λ1

k

vi 

et si α1 = 0, comme

|λi | < 1, x(k) →k→∞ λk α1 v1 . 1 |λ1 | (k) a chaque it´ ration pour eviter l’explosion ; ´ En pratique, il est utile de normer x ` e alors x(k) → v1 . L’algorithme 8 d´ crit cette m´ thode. e e

Algorithme 8 M´ thode des puissances (ou des it´ rations directes) e e Choix d’un vecteur de d´ part x(0) , x(0) = 1 e tant que la convergence n’est pas atteinte, it´ rer sur k e v ← Kx(k−1) r´ soudre Mx(k) = v e α ← x(k) x(k) Mx(k) x(k) normalisation x(k) ← α test de convergence fin λ(k) ← R(x(k) ) = x(k) Kx(k)
T T

36 Convergence

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

Prenons x(0) = ∑i vi , alors 1 λk 1 donc 1 λk+1 1 1 λk 1 et τ ≈ − ln x(k+1) − v1 x(k) − v1  ∑n  i=2  =   ∑n i=2  λi λ1 λi λ1 x
(k)

= v1 + ∑

n

i=2

λi λ1

k

vi

 2(k+1) 1/2
2k)

     

→k→∞

λ2 λ1

λ2 λ1 = ln λ1 λ2 ` Bien entendu, on peut avoir des ennuis si au d´ part x(0) est orthogonal a v1 . Par e ` rapport a la m´ thode de Jacobi, la convergence est maintenant ind´ pendante de la taille e e du probl` me, n. e

Cas de valeurs propres multiples ou proches. Dans le cas de valeurs propres multiples λ1 , la convergence se fait vers λ1 et vers une combinaison lin´ aire des vecteurs e propres associ´ s. e δλ et la convergence Dans le cas de valeurs propres proches, λ2 = λ1 + δλ, on a τ ≈ λ1 est donc tr` s lente. e Contrˆ le de la convergence. o on peut utiliser le fait que Comme crit` re de convergence sur les valeurs propres, e x(k+1) x(k) se stabilise, et pour la convergence sur les vecteurs propres, x(k+1) − x(k) < ε ou Ax(k+1) − λ(k+1) x(k+1) <ε Ax(k+1) + λ(k+1) x(k+1) On conseille aussi d’utiliser la norme infinie pour ces tests. Obtention des modes suivants ` La technique utilis´ e est la d´ flation orthogonale : on prend x(0) orthogonal a v1 . e e ´ ` Pour eviter les pertes d’orthogonalit´ par cumul d’arrondis, on r´ orthogonalise a chaque e e it´ ration. Pour cela, on utilise un projecteur (figure 2.1) e P1 = 1 − v1 vT 1 vT v1 1 d’o` P1 x = x − u vT x 1 v1 vT v1 1

On a alors convergence vers (λ2 , v2 ). On peut proc´ der de facon similaire pour acc´ der e ¸ e ` a la troisi` me caract´ ristique propre, et ainsi de suite. e e

´ ´ 2.4. METHODE DES ITERATIONS INVERSES

37

v1

x

` F IG . 2.1 – Projection orthogonale a v1

2.4

M´ thode des it´ rations inverses e e

Principe Ici encore, on choisit x(0) arbitraire (les solutions classiques sont de prendre un ` vecteur de composantes al´ atoires, norm´ , quitte a essayer avec plusieurs vecteurs de e e d´ part pour v´ rifier la convergence vers la mˆ me valeur). On r´ soud ensuite Ax(k+1) = e e e e x(k) et on norme x(k+1) . Il s’agit bien de la m´ thode des puissances, appliqu´ e a A−1 , e e ` ´ e qui commence donc par converger vers la valeur propre de A de module le plus elev´ . L’algorithme 9 d´ crit cette m´ thode. e e

Convergence |λn−1 | . |λn | Comme pour la m´ thode des puissances, on converge d’autant mieux que les vae leurs propres sont s´ par´ es. . .d’o` la m´ thode du paragraphe suivant. e e u e ´ Bien evidemment, τ ≈ ln Algorithme 9 M´ thode des it´ rations inverses e e Choix d’un vecteur de d´ part x(0) , x(0) = 1 e tant que la convergence n’est pas atteinte, it´ rer sur k e v ← Mx(k−1) r´ soudre Kx(k) = v e α ← x(k) x(k) Mx(k) x(k) normalisation x(k) ← α test de convergence fin λ(k) ← R(x(k) ) = x(k) Kx(k)
T T

38

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

2.5 M´ thode des it´ rations inverses avec d´ calage spece e e tral (shifting)
Appel´ e encore m´ thode de Wielandt, cette m´ thode suppose que l’on connaˆt une e e e ı approximation µ de la valeur propre cherch´ e λ. e H ELMUT W IELANDT Wielandt entered the University of Berlin in 1929 and there he studied mathematics, physics and philosophy. There he was greatly influenced by Schmidt and Schur. It was on the topic of permutation groups that Wielandt wrote his doctoral dissertation and he was awarded a doctorate in 1935. At the end of World War II Wielandt was appointed associate professor at the University of Mainz, and in 1951, Ordinary Professor at the University of T¨ bingen. For 20 years beginning u in 1952 Wielandt was managing editor of Mathematische Zeitschrift. Born : 19 Dec 1910 in Niedereggenen, L¨ rrach, Germany. o Died : 1984.

2.5.1

Principe et convergence de la m´ thode e

` On utilise la matrice d´ cal´ e A = A − µ1, on s’int´ resse donc a A x = λ x, et e e e λ = λ − µ. Comme on converge vers la valeur propre |λ | la plus petite, on va donc trouver λi la plus proche de µ. Le taux de convergence est τ = − ln inf |λi − µ| , |λi − µ||λi+1 − µ| |λi−1 − µ|

il est donc tr` s elev´ si µ est tr` s proche de λi . e ´ e e Remarques – µ est proche de λi ; le syst` me A x(k+1) = x(k) est tr` s mal conditionn´ . . .En e e e ` fait, la m´ thode y est peu sensible : l’erreur en solution tend a s’aligner dans e ´ la direction du vecteur propre et est elimin´ e par la normalisation ; e – Cette m´ thode permet aussi d’acc´ der aux valeurs propres d’une r´ gion donn´ e e e e e du spectre, comme on le verra dans le paragraphe suivant ; – On peut construire de cette mani` re la m´ thode des it´ rations inverses de Raye e e ` leigh : on change l’estimation µ par λ(k) a chaque it´ ration. On obtient alors e une convergence cubique : x(k+1) − v = o( x(k) − v 3 ). Cette m´ thode est e ` n´ anmoins coˆ teuse : on factorise a chaque it´ ration puisque la matrice d´ cal´ e e u e e e est chang´ e. e

2.5.2

´e Un exemple d’utilisation dans un code el´ ments finis

On consid` re le syst` me Kx = ω2 Mx. e e Probl` me num´ ro 1 e e On veut trouver le mode proche de la pulsation ω0 . On proc` de alors de la facon e ¸ suivante :

2.6. TRANSFORMATION DE HOUSEHOLDER

39

1. d´ calage : K ← K − ω2 M e 0 2. factorisation LDLT de K ; on appelle N le nombre de termes strictement n´ gatifs e de D 3. on prend x(0) al´ atoire, et on proc` de a des it´ rations inverses avec d´ calage de ω0 e e ` e e sur K x = λ Mx pour obtenir (λ , x) 4. ω2 ← ω2 + λ 0 5. le num´ ro du mode trouv´ est N si ω2 < ω2 , ou N + 1 si ω2 ≥ ω2 . e e 0 0 Probl` me num´ ro 2 e e On veut trouver tous les modes dans l’intervalle [ω1 , ω2 ]. On proc` de alors de la e facon suivante : ¸ 1. pour trouver le nombre de modes dans [ω1 , ω2 ], on compte le nombre de termes strictement n´ gatifs de D dans les factorisations de K − ω2 M et K − ω2 M, puis 2. on e 1 2 proc` de par it´ rations inverses avec d´ calage et d´ flations orthogonales successives. e e e e

2.6

Utilisation de la transformation de Householder [1958]
A LSTON S COTT H OUSEHOLDER Householder then taught mathematics in a number of different places. He was awarded a Ph.D. by the University of Chicago in 1947 for a thesis on the calculus of variations. However his interests were moving towards applications of mathematics, particularly applications of mathematics to biology. In 1946, after the end of the war, Householder joined the Mathematics Division of Oak Ridge National Laboratory. Here he changed topic, moving into numerical analysis which was increasing in importance due to the advances in computers. He started publishing on this new topic with Some numerical methods for solving systems of linear equations which appeared in 1950. In 1964 Householder published one of his most important books The theory of matrices in numerical analysis. Born : 5 May 1904 in Rockford, Illinois, USA. Died : 4 July 1993 in Malibu, California, USA.

D’un point de vue historique, concernant cette m´ thode, on pourra consulter [Willoughby e 75].

2.6.1

Factorisation QR

Principe ` On cherche a mettre A sous la forme A = QR o` R est triangulaire sup´ rieure et Q u e ` orthogonale, par applications successives de transformations de Householder a A → HA [Householder 58]. H est de la forme H = 1 − 2uuT avec u = 1. Il s’agit cette fois d’une sym´ trie e ` par rapport a un plan de normale u (figure 2.2). En cons´ quence, H est sym´ trique, e e orthogonale, et conserve les valeurs propres.

40

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

u

a1

a1

e1

F IG . 2.2 – Transformation de Householder de a1 Ces transformations de Householder sont appliqu´ es sur les colonnes de A = [a1 a2 . . . an ] e successivement. Par exemple, sur la premi` re, on veut Ha1 = αe1 d’o` le choix α = e u a1 = Ha1 > 0. Alors, a1 − 2u(uT a1 ) = αa1 ⇒ a1 − αe1 = 2u(uT a1 )

En prenant le produit scalaire par a1 , on obtient, α2 − αaT e1 = 2(uT a1 )2 1 ⇒ uT a1 = 1 α(α − aT e1 ) 1 2

On peut noter que (α − aT e1 ) est non nul si a1 n’est pas d´ j` parall` le a e1 . Finalement, ea e ` 1 on en d´ duit le vecteur cherch´ e e a1 − αe1 u= 2(uT a1 ) Le proc´ d´ se poursuit en consid´ rant ensuite la deuxi` me colonne de A et H = e e e e 1 0 . Le vecteur suivant u2 est d´ termin´ a partir de e2 et a2 . e e` 0 H2 Remarques ´ C’est une m´ thode directe en n − 1 etapes ! e On peut regarder les propri´ t´ s de remplissages de A lors des transformations, mais ee c’est assez d´ licat. e ` En g´ n´ ral, on ne stocke pas la matrice Q ; l’application de Q a un vecteur est e e coˆ teuse (4n op´ rations), cette m´ thode n’est donc pas appliqu´ e a la r´ solution de u e e e ` e syst` mes lin´ aires. e e Cet algorithme se trouve aussi sous le nom de Householder-Businger-Golub. Algorithme La m´ thode est pr´ sent´ e par l’algorithme 10. En ce qui concerne le stockage, vk e e e ´ ´ ˆ ecrase A1:k,k en m´ moire, Rk+1,k+1:n ecrase Ak+1,k+1:n . Rk,k doit etre stock´ ailleurs pour e e chaque it´ ration, d’o` un vecteur de dimension n suppl´ mentaire. Q n’est en g´ n´ ral e u e e e ˆ ` pas stock´ e, elle pourrait etre reconstruite a partir des vk . Enfin, z est un vecteur de e stockage suppl´ mentaire. e La complexit´ de cat algorithme pour une matrice A pleine de taille n est de l’ordre e de 2 n3 . 3

2.6. TRANSFORMATION DE HOUSEHOLDER Algorithme 10 Transformation de Householder pour la factorisation QR boucle sur k = 1, 2, . . . , n δ ← [Ak:n,k ]T Ak:n,k √ α← δ 1 β← (k) δ − αAk,k vk:n ← Ak:n,k vk ← vk − α [zk+1:n ]T ← β[vk:n ]T Ak:n,k+1:n Ak:n,k+1:n ← Ak:n,k+1:n − vk:n [zk+1:n ]T Rk,k ← α Rk,k+1:n ← Ak,k+1:n fin
(k+1) (k+1) (k) (k) (k) (k) (k) (k) (k) (k) (k) (k)

41

2.6.2

D´ termination des valeurs propres par la m´ thode QR [1961] e e

Cette m´ thode est attribu´ e a Francis et Vera N. Kublanovskaya en 1961. On consid` re e e ` e le probl` me Ax = λx avec des valeurs propres simples. On proc` de alors de la facon e e ¸ suivante : 1. A(1) = A 2. on proc` de a une factorisation QR de A(k) = Q(k) R(k) e ` 3. on calcule A(k+1) = R(k) Q(k) 4. on it` re. e

Propri´ t´ s ee – si les valeurs propres sont toutes simples, A(k) tend vers la matrice diagonale des valeurs propres. Q(k) tend vers la matrice des vecteurs propres (propri´ t´ peu ee utilis´ e) e – il y a conservation des bandes de A. C’est une m´ thode performante quand A e est tri-diagonale de petite taille. . .le coˆ t d’une it´ ration est alors d’environ 10n. u e 2 Quand A est pleine, une factorisation coˆ te ≈ 3 n3 op´ rations, et un produit RQ, u e 1 3 ≈ 2 n op´ rations. e

Remarque On peut aussi appliquer des translations (d´ calages) : e A(k) − α(k) 1 = Q(k) R(k) A(k+1) = R(k) Q(k) + α(k) 1 les matrices restent toujours semblables, donc conservent les valeurs propres.

42 Convergence

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

Avec des d´ calages, et en prenant α(k) = An,n , |λn − An,n | →k→∞ 0 et e (A − λk+1 1)q(k) = o( (A − λk 1)q(k−1) 3 ) Sans translation, la convergence reste lin´ aire. e

(k)

(k)

2.6.3

Forme de Hessenberg

Gerhard Hessenberg (1874-1925) pour qui on pourra consulter [Hessenberg 65]. Pour A sym´ trique, r´ elle. e e Principe ` On cherche cette fois a rendre A tri-diagonale. Il s’agit de la mˆ me technique coe lonne par colonne que pr´ c´ demment. e e On prend ici une transformation qui ne s’applique qu’` la deuxi` me colonne pour a e 1 0 la premi` re etape : H = e ´ e ˜ , mais comme A est sym´ trique, il faut appliquer les 0 H ` ` transformations a gauche et a droite : H −1 AH = H T AH = HAH.  (k)  A  k,k+1  .  (k) prend donc la forme de la figure 2.3 et le principe est de travailler sur  A .  . , (k) Ak,n ` pour le rendre colin´ aire a ek+1 . e

0

0

ak
F IG . 2.3 – Matrice en cours de tridiagonalisation

Propri´ t´ s ee On ne modifie pas les valeurs propres. ´ C’est une m´ thode directe en n − 2 etapes. e A reste sym´ trique. e

´ ´ 2.7. EXEMPLE D’UTILISATION DANS UN CODE ELEMENTS FINIS Technique

43

A1,1 aT ˜1 , ˜ a1 A(1) ˜ ˜ ˜ ˜ on prend H (1) = 1 − 2uuT en souhaitant avoir H (1) a1 = αe1 . En fait, ici e1 = e2 , et ˜˜ ˜ ˜ on proc` de comme pr´ c´ demment pour avoir u. e e e ˜ 1 ˜ On cherche donc H (1) = 1 − βyyT avec α = aT a1 , β = ˜˜ ˜1 ˜ , y = a1 − αe1 . ˜ ˜ ˜ α(α − A2,1 ) On calcule ensuite la transform´ e par e Travaillons sur le premier it´ r´ , A(1) = ee ˜ ˜ ˜ H (1) A(1) H (1) = (1 − βyyT )A(1) (1 − βyyT ) ˜˜ ˜ ˜˜ ˜ ˜ ˜ ˜ = A(1) − βy(yT A(1) ) − β(A(1) y)yT + β2 y(yT A(1) y)yT ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ β ˜ ˜ ˜ ˜ et en utilisant les interm´ diaires z = βA(1) y et t = z − (yT z)y, e ˜ ˜ ˜ ˜ 2 ˜ ˜ ˜ ˜ H (1) A(1) H (1) = A(1) − y˜T − zyT + β(˜T y)yyT ˜z ˜˜ z ˜ ˜˜ ˜ ˜˜ = A(1) − yt T − t yT ˜˜ C’est la technique mise en œuvre dans l’algorithme 11, dans lequel vk n’est en g´ n´ ral pas conserv´ , et o` z est un vecteur de stockage suppl´ mentaire. e e e u e ´ Algorithme 11 Transformation de Householder — r´ duction en n − 1 etapes e boucle sur k = 1, 2, . . . , n − 1 δ ← [Ak+1:n,k ]T Ak+1:n,k √ α← δ 1 β← (k) δ − αAk+1,k vk+1:n ← Ak+1:n,k vk+1 ← vk+1 − α zk+1:n ← βAk+1:n,k+1:n vk+1:n β (k) γ ← [vk+1:n ]T zk+1:n 2 zk+1:n ← zk+1:n − γvk+1:n Ak+1:n,k+1:n ← Ak+1:n,k+1:n − vk+1:n [zk+1:n ]T − zk+1:n [vk+1:n ]T fin
(k+1) (k) (k) (k) (k) (k) (k) (k) (k) (k) (k) (k) (k)

´e 2.7 Exemple d’utilisation dans un code el´ ments finis
On consid` re Kx = λMx avec K sym´ trique, d´ finie positive, M sym´ trique posie e e e tive, et on veut m valeurs propres (en basse fr´ quence). e

44

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

2.7.1

R´ duction dans un sous-espace e

` On cherche a trouver toutes les m valeurs propres dans un sous-espace de dimension p ≥ m., d´ fini par p vecteurs rang´ s dans l matrice de base V = [v1 . . . v p ]. e e ´ ˆ Eventuellement, les vi sont orthonorm´ s au sens de K : V T KV = K = 1. e On cherche alors les vecteurs propres x sous la forme x = V x, x est de dimension ˆ ˆ p. Le probl` me est alors KV x = λMV x, d’o` e ˆ ˆ ˆ u (V T KV ) x = λ (V T MV ) x ˆ ˆ ˆ ˆ K ˆ M

ˆˆ ˆ ˆˆ ´ e Le probl` me K x = λM x a et´ construit par une r´ duction de Ritz. Sa r´ solution e e e ˆ ˆ compl` te permet de trouver p caract´ ristiques propres (λ, x). e e On retourne alors dans l’espace de d´ part : x = V x est l’approximation d’un vece ˆ ˆ teur propre, λ est l’approximation de la valeur propre associ´ e, approximations dont la e ˆ qualit´ d´ pend du sous-espace choisi. . .Ce choix va etre discut´ dans les paragraphes e e e suivants.

2.7.2

Technique it´ rative e

On commence par choisir p vecteurs de d´ part. e ` ˆˆ ˆ ˆˆ On r´ duit a K x = λM x dont on cherche les valeurs propres (si on a une approximation e des valeurs propres, on fait un d´ calage) par une m´ thode QR. e e on proc` de a des it´ rations inverses avec d´ calage (souvent 1 it´ ration suffit) pour avoir e ` e e e les approximations des vecteurs propres associ´ s dans l’espace de d´ part. e e On it` re. e Choix de la taille du sous-espace Comme la convergence, d´ pend du rapport des modules des valeurs propres, on a e int´ rˆ t a conserver p > m approximations. La r` gle conseill´ e est p = min(2m, m + 8) ! ee ` e e Convergence ` La convergence pour une valeur propre λi est proportionnelle a |λi | . |λ p+1 |

Crit` res d’arrˆ t e e ...

2.8

M´ thode de Lanczos [1950] e

` Cette m´ thode est due a Lanczos [Lanczos 50]. e

´ 2.8. METHODE DE LANCZOS [1950] C ORNELIUS L ANCZOS In 1938 at Purdue, Lanczos published his first work in numerical analysis. Two years later he published a matrix method of calculating Fourier coefficients which, over 25 years later, was recognised as the Fast Fourier Transform algorithm. In 1946, with Boeing, he worked on applications of mathematics to aircraft design and was able to develop new numerical methods to solve the problems. In 1949 he moved to the Institute for Numerical Analysis of the National Bureau of Standards in Los Angeles. Here he worked on developing digital computers and was able to produce versions of the numerical methods he had developed earlier to program on the digital computers. Born : 2 Feb 1893 in Sz´ kesfeh´ rv´ r, Hungary. e e a Died : 25 June 1974 in Budapest, Hungary.

45

2.8.1

Principes de la m´ thode e

On travaille sur un sous-espace g´ n´ r´ par la suite des it´ r´ s inverses d’un vecteur e ee ee v(0) de d´ part : (v(0) , A−1 v(0) , . . .), et sur une base orthonorm´ e. e e ` e La convergence est tr` s rapide : 3 a 4 it´ rations inverses par valeur propre converg´ e, e e et elle est ind´ pendante de n ; cependant, la taille du sous-espace croˆt au cours des e ı it´ rations. e Un inconv´ nient est la perte rapide d’orthogonalit´ sur les vecteurs successifs (elle e e ` se produit a chaque fois qu’une valeur propre converge), d’o` des instabilit´ s num´ riques. u e e En pratique, pour pouvoir traiter de grands probl` mes, il est n´ cessaire d’utiliser des e e strat´ gies de r´ -orthogonalisation. Ces derni` res ne seront pourtant pas d´ crites ici. e e e e

2.8.2

Description de l’algorithme

On choisit un vecteur de d´ part v(0) e on r´ soud Az(k) = v(k) e on orthogonalise z(k) par rapport aux v( j) , j ≤ k z(k) v(k+1) ← (k) z

Propri´ t´ ee Il suffit (ce que l’on peut montrer par r´ currence) de chercher v(k+1) sous la forme e β(k) v(k+1) = A−1 v(k) − α(k) v(k) − β(k−1) v(k−1) ‘
T T

(2.1)

avec v(k) v( j) = 0 pour j = k − 1 et j = k − 2, et v(k) v(k) = 1, pour avoir orthogonalit´ e ` par rapport a tous les v( j) , j < k. Ces conditions donnent les valeurs de α(k) = v(k) A−1 v(k) et β(k−1) = v(k) A−1 v(k−1) . Matriciellement, en notant V de taille (n, k) la matrice qui contient tous les v( j)

46

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

` e disponibles a l’it´ ration k,  (0) α  (0) β (2.1) ⇔ A−1V −V    0 ⇒ V T A−1V − T = 0

β(0) .. . .. .

0 .. .. .

. β(k−1) T

   = 0 . . . O β(k)  (k−1)  β α(k)

v(k+1)

Donc T a les mˆ mes valeurs propres que V T A−1V (voir le principe des sous-espaces). e On cherche ensuite les caract´ ristiques propres de T , T x = λx, λ sont des approxie ˆ ˆˆ ˆ mations des valeurs propres de A−1 , et V x, celles des vecteurs propres associ´ s. ˆ e Afin d’illustrer le comportement de cette m´ thode, la figure 2.4 pr´ sente l’estie e mation des valeurs propres aux cours des it´ rations de la m´ thode de Lanczos sur le e e probl` me test de Wilkinson (de taille 21) comportant plusieurs valeurs propres mule tiples et plusieurs valeurs propres tr` s proches (les cercles sont les valeurs propres e ´ ` exactes). On voit que la multiplicit´ et/ou proximit´ des valeurs propres echappe a e e ` l’algorithme, et que les valeurs propres se mettent a converger quasiment l’une apr` s e l’autre.

12 10 8 6 4 2 0 -2

valeurs propres

0

2

4

6

8 10 12 14 itérations de Lanczos

F IG . 2.4 – Comportement de la m´ thode de Lanczos sur le test de Wilkinson e

Crit` re d’arrˆ t e e Classiquement, on borne la norme du r´ sidu r = A−1V x − λV x avec e ˆ ˆ ˆ A−1V x = V T x + 0 . . . 0 β(k) ˆ ˆ ˆˆ λx ˆ v(k+1) x

´ 2.8. METHODE DE LANCZOS [1950]

47

d’o` r = β(k) v(k+1) xk u ˆ L’algorithme 12 d´ crit cette m´ thode, pour lequel les α(k) et les β(k) sont les come e posantes de T . Algorithme 12 M´ thode de Lanczos e v(0) ← 0, β(0) ← 0 Choix d’un vecteur de d´ part v(1) , v(1) = 1 e tant que la convergence n’est pas atteinte, it´ rer sur k = 1, . . . e r´ soudre Az = v(k) e α(k) ← [v(k) ]T z d ← z − αv(k) − β(k−1) v(k−1) 1 β(k) ← √ dT d (k+1) ← β(k) d v ´e recherche des el´ ments propres de : T x = λx ˆ ˆˆ test de convergence fin

48

` CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES

Chapitre 3

R´ solution de syst` mes e e diff´ rentiels (ODE, pour e ordinary differential equations)
Un ouvrage de r´ f´ rence que l’on peut consulter sur ce sujet est [Hughes 87]. Dans ee ` e les applications qui nous int´ ressent, on est conduit a r´ soudre de tels syst` mes, par e e exemple dans les cas suivants : int´ gration de relation de comportement, probl` me de e e thermique transitoire, probl` me de dynamique rapide. . . e

3.1
3.1.1

´ Pr´ sentation pour 1 equation scalaire du premier e ordre
Probl` me de Cauchy e
dx = f (x,t) dt x(0) = u0 (conditions initiales)

Il s’agit de trouver la fonction x(t), t ∈ [0, T ], telle que

Th´ or` me de Cauchy-Lipschitz e e Il y a existence et unicit´ de la solution si f est assez r´ guli` re (en fait, f continue e e e et lipschitzienne en x : ∃k > 0, ∀t ∈ [0, T ], ∀(y, z) ∈ R2 , | f (z,t) − f (y,t)| ≤ k|z − y|

3.1.2

R´ -´ criture du probl` me ee e

Pour se ramener aux techniques d’int´ gration, il est plus int´ ressant d’´ crire le e e e probl` me sous forme int´ grale : e e
t

x = u0 +

f (x,t)dt
0

Une discr´ tisation de l’intervalle de temps [0, T ] est la s´ quences de piquets de e e temps : 0 = t0 < t1 < . . . < tm = T . Le pas de temps est h = ti+1 − ti . 49

50

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

` Le principe est de chercher a approcher la valeur de la fonction aux piquets de temps, x(ti ), par la valeur xi , ce qui permet de d´ finir l’erreur ei = |x(ti ) − xi |. e Dans la suite, on notera fi = f (xi ,t). Le probl` me incr´ mental est, ayant la solution approch´ e jusqu’` ti , de la d´ terminer e e e a e ` a ti+1 avec
t

x = xi +

f (x,t)dt
ti

Exemple : sch´ ma d’Euler explicite [1768] e L EONHARD E ULER The publication of many articles and his book Mechanica (1736-37), which extensively presented Newtonian dynamics in the form of mathematical analysis for the first time, started Euler on the way to major mathematical work. He integrated Leibniz’s differential calculus and Newton’s method of fluxions into mathematical analysis. In number theory he stated the prime number theorem and the law of biquadratic reciprocity. Euler made large bounds in modern analytic geometry and trigonometry. He was the most prolific writer of mathematics of all time. His complete works contains 886 books and papers. Born : 15 April 1707 in Basel, Switzerland. Died : 18 Sept 1783 in St Petersburg, Russia. La figure 3.3.a, page 54 illustre l’estimation de l’int´ grale cherch´ e. Le sch´ ma e e e s’´ crit : e xi+1 = xi + h fi x0 = u0

3.1.3

` Sch´ mas explicites a 1 pas e

Ce sont les sch´ mas de la forme : e xi+1 = xi + hΦ(xi ,ti , h) x0 = u0 Sch´ ma convergent : si on a la propri´ t´ supi |ei | −→h→0 0 (en l’absence d’erreur e ee d’arrondi !) Sch´ ma stable : on consid` re le sch´ ma perturb´ : e e e e xi+1 = xi + hΦ(xi ,ti , h) + εi+1 ˜ ˜ ˜ x0 = u0 + ε0 ˜ Le sch´ ma consid´ r´ est stable ssi ∃S > 0, supi |xi − xi | ≤ S ∑m |εi | e ee ˜ i=0

´ 3.1. EQUATION SCALAIRE DU PREMIER ORDRE

51

Sch´ ma consistant : pour d´ finir cette notion, on a besoin de l’erreur de consistance e e (local truncation error) ci+1 = x(ti+1 ) − [x(ti ) + hΦ(x(ti ),ti , h)] Le sch´ ma est consistant ssi ∑i |ci | −→h→0 0 e Les trois notions pr´ c´ dentes sont illustr´ es sur la figure 3.1 e e e

h

0

h convergence t

0 t stabilité t

consistance

F IG . 3.1 – Propri´ t´ s de base d’un sch´ ma d’int´ gration ee e e

Ordre du sch´ ma : on dit d’un sch´ ma qu’il est d’ordre p quand e e ∃M > 0, supi |ci | ≤ Mh p+1 Propri´ t´ s ee Il existe des liens entre les diff´ rentes caract´ ristiques pr´ c´ dentes, en particulier : e e e e stabilit´ et consistance ⇔ convergence e Φ lipschitzienne en x ⇒ stabilit´ e consistance ⇔ Φ(x,t, 0) = f (x,t) ⇔ d’ordre p ≤ 1 d’ordre p ⇒ |ei | ≤ Nh p Exemple : sch´ ma d’Euler explicite [1768] e Φ(x,t, h) = f (x,t) donc le sch´ ma est consistant, et stable, donc convergent. e ci+1 = x(ti ) + h x(ti+1 ) x(ti ) ˙ f (x(ti ),ti ) donc c’est un sch´ ma d’ordre 1. e +o(h2 ) −[x(ti ) + h f (x(ti ),ti )] = o(h2 )

3.1.4 Quelques probl` mes pratiques e
Influence des erreurs d’arrondi Perturbons le sch´ ma : e xi+1 = xi + hΦ(xi ,ti , h) + εi+1 ˜ ˜ ˜ x0 = u0 + ε0 ˜ Si le sch´ ma est convergent, ei = |x(ti ) − xi | −→h→0 0. Qu’en est-il de ei = |x(ti ) − xi | ? e ˜ ˜

52

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

ei = |x(ti ) − xi + xi − xi | ≤ ˜ ˜

|x(ti ) − xi | d’ordre p donc ≤ Nh p

+

|xi − xi | ˜ stable donc ≤ S

i=0

∑ |ε| + ∑ h|ε|
i=1

m

m

au bilan, ei ≤ S[(m + 1)|ε| + hm|ε|] + Nh p avec hm = T ˜ T donc ei ≤ S|ε| 1 + T + ˜ + Nh p . h Il n’est donc pas forc´ ment avantageux de r´ duire trop fortement le pas de temps e e pour la pr´ cision du sch´ ma. En particulier, on peut dire que si le pas de temps n’est e e pas grand devant les erreurs num´ riques d’´ valuation de la fonction Φ, la solution est e e entach´ e d’erreurs par cumul des erreurs num´ riques. e e Probl` me num´ riquement mal pos´ e e e Consid´ rons le probl` me suivant : e e dx = 4x − 1 dt 1 x(0) = 4 dont la solution est x(t) ≡ 1 . 4 Perturbons maintenant les conditions initiales : x(0) = 1 + ε. La nouvelle solution 4 1 est alors tr` s diff´ rente de la pr´ c´ dente : x(t) = 4 + εe4t . e e e e Ce probl` me est num´ riquement mal pos´ . On risque d’avoir des difficult´ s a le e e e e ` r´ soudre car il est tr` s sensible aux conditions initiales (on peut d’ailleurs se poser des e e ` questions quant a la notion mˆ me de solution pour un tel probl` me). e e

3.1.5

A-stabilit´ (absolute stability) e

De facon pratique, la propri´ t´ de stabilit´ d’un sch´ ma n’est pas suffisante. Pre¸ ee e e nons par exemple le sch´ ma d’Euler explicite d´ j` d´ crit comme stable, et r´ solvons le e ea e e probl` me : e dx = −ω2 x dt x(0) = 1 La solution exacte est x(t) = e−ω t . La figure 3.2 pr´ sente les solutions obtenues num´ riquement e e en mˆ me temps que la solution exacte pour diff´ rents choix de pas de temps. Ces solue e tions diff` rent fortement (et de plus en plus au cours du temps) si le pas de temps n’est e pas assez petit. On parlera alors d’un sch´ ma conditionnellement stable. e Un sch´ ma inconditionnellement stable (ou A-stable), [Dahlquist 63], se d´ fini e e ´ pour les equations lin´ aires. On teste alors le sch´ ma sur un probl` me du type : e e e dx = cx dt c = constante ∈ C
2

´ 3.1. EQUATION SCALAIRE DU PREMIER ORDRE
1 0.8 0.6 0.4 0.2 -0.2 -0.4 0.2

53

h = 1/10
0.4 0.6 0.8 1

2 1

h = 1/7
0.2 0.4 0.6 0.8 1

-1 -2

F IG . 3.2 – Stabilit´ du sch´ ma d’Euler explicite e e et pour lequel le cas o` le sch´ ma est tel que xi+1 = r(ch)xi , o` r est un polynˆ me ou u e u o une fraction rationnelle. ´ On d´ finit alors le domaine de stabilit´ (en fait, de A-stabilit´ ) comme etant e e e Dstab = {z ∈ C, |r(z)| ≤ 1} Un sch´ ma est alors dit A-stable (ou inconditionnellement stable) si et seulement e si {z ∈ C, Re(z) ≤ 0} ⊂ Dstab Exemple : sch´ ma d’Euler explicite e xi+1 = xi + hcxi = (1 + hc)xi ⇒ r(z) = 1 + z. La condition de stabilit´ est donc : |1 + hc| ≤ 1. Pour c = −ω2 ∈ R− , elle s’´ crit e e 2 h ≤ ω2 . Il s’agit donc d’un sch´ ma conditionnellement stable. Pour l’exemple pr´ c´ dent, e e e 1 avec c = −15 (la solution tend vers 0), le crit` re de stabilit´ donne 0 ≤ h ≤ e e . Ceci 7.5 est bien en accord avec les r´ sultats de la figure 3.2. e Remarques La condition de stabilit´ d´ pend bien entendu du sch´ ma, mais aussi du probl` me. e e e e Son interpr´ tation est que, pour une solution born´ e, il faut que le sch´ ma donne une e e e approximation born´ e. e

3.1.6

M´ thode des trap` zes g´ n´ ralis´ e e e e e e
xi+1 = xi + h[(1 − α) fi + α fi+1 ] x0 = u0

Cette m´ thode est d´ crite avec un param` tre α ∈ [0, 1] par : e e e

Le calcul de xi+1 fait intervenir α fi+1 = α f (xi+1 ,ti+1 ). Il s’agit donc d’une m´ thode e implicite si α = 0. Dans le cas o` α = 0, on retrouve la m´ thode d’Euler explicite ; dans le cas o` u e u α = 1, il s’agit de la m´ thode d’Euler implicite ; enfin si α = 1 , c’est la m´ thode des e e 2 trap` zes, appel´ e aussi m´ thode de Crank-Nicolson [1947]. La figure 3.3 illustre l’ape e e proximation de l’int´ gration r´ alis´ e par chacun de ces cas particuliers. e e e

54

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

f(t) t

f(t) t

f(t) t

ti

α=0

ti+1

ti

α=1

ti+1

ti

ti+1 α = 0.5

F IG . 3.3 – Illustration de l’int´ gration e Stabilit´ e dx = cx, le sch´ ma donne xi+1 = xi + h[(1 − α)cxi + e dt αcxi+1 ] donc xi+1 = (1 − αhc)−1 (1 + (1 − α)hc) xi . On consid` re le probl` me e e B Il faut avoir ρ(B) < 1 (ou ρ(B) ≤ 1 si toutes les valeurs propres de B sont simples), |1 + (1 − α)hc| ` c’est a dire ≤1 |1 − αhc| si α ≥ 1 le sch´ ma est inconditionnellement stable, e 2 2 si α < 1 avec c = −ω2 , la condition de stabilit´ s’´ crit h ≤ e e . 2 (1 − 2α)ω2 Les diff´ rents domaines de stabilit´ correspondants sont trac´ s sur la figure 3.4. e e e

Im(hc) α = 1/2 α > 1/2
α= 1

α < 1/2 α=0
-1

Re(hc)
1

F IG . 3.4 – Domaines de stabilit´ pour la m´ thode des trap` zes g´ n´ ralis´ s e e e e e e

Ordre En utilisant la mˆ me m´ thode que celle d´ j` employ´ e pour le sch´ ma d’Euler e e ea e e explicite, on peut facilement montrer que le sch´ ma des trap` zes g´ n´ ralis´ s est d’ordre e e e e e 1 ` 1 si α = 2 , et qu’il est d’ordre 2 pour α = 1 , c’est a dire pour Crank-Nicolson. 2

3.1.7

` Exemple de m´ thode a pas multiples : Adams [1883] e

` L’id´ e des m´ thodes a pas multiple est d’utiliser non seulement l’´ valuation fi mais e e e aussi un certain nombre de valeurs pass´ es fi−1 , . . . e

´ 3.1. EQUATION SCALAIRE DU PREMIER ORDRE

55

` A titre d’illustration, la m´ thode d’Adams utilisant un d´ veloppement de Taylor de e e ˆ la solution, va etre d´ crite. e Adams explicite On utilise pour cela un d´ veloppement de Taylor (avant) de x(ti+1 ) : e x(ti+1 ) = x(ti ) + h x(ti ) ˙ f (x(ti ),ti ) + h2 2! x(ti ) ¨ df (x(ti ),ti ) dt +...

On garde ensuite les termes d’un ordre suffisant pour obtenir l’ordre voulu du sch´ ma. Par exemple, pour Adams explicite d’ordre 1, on conserve les termes en o(h) ; e on obtient : xi+1 = xi + h fi + o(h2 ), c’est Euler explicite ! Pour Adams explicite d’ordre 2, on conserve les termes en o(h2 ). Dans ceux-ci, intervient la d´ riv´ e premi` re de f ; pour l’estimer on utilise encore le d´ veloppement e e e e d’une fonction g : g(ti+1 ) = g(ti ) − hg(ti ) + o(h2 ) ˙ qui permet d’avoir l’expression de la d´ riv´ e g : e e ˙ 1 df g(ti ) = [g(ti ) − g(ti+1 )] + o(h). Avec ce proc´ d´ appliqu´ a , on obtient la m´ thode ˙ e e e` e h dt cherch´ e : e h xi+1 = xi + [3 fi − fi−1 ] + o(h3 ). 2 La d´ marche se prolonge pour les ordres de sch´ ma sup´ rieurs. On obtient ainsi les e e e formules d’Adams-Bashforth : xi = xi−1 + h fi−1 h xi = xi−1 + (3 fi−1 − fi−2 ) 2 h xi = xi−1 + (23 fi−1 − 16 fi−2 + 5 fi−3 ) 12 h xi = xi−1 + (55 fi−1 − 59 fi−2 + 37 fi−3 − 9 fi−4 ) 24 h (1901 fi−1 − 2774 fi−2 + 2616 fi−3 − 1274 fi−4 + 251 fi−5 ) xi = xi−1 + 720 h (4277 fi−1 − 7923 fi−2 + 9982 fi−3 − 7298 fi−4 + 2877 fi−5 − 475 fi−6 ) xi = xi−1 + 1440 On ne peut cependant pas augmenter l’ordre du sch´ ma inpun´ ment : l’inconv´ nient e e e r´ side dans un r´ tr´ cissement du domaine de stabilit´ . Celui-ci est illustr´ sur la figure e e e e e 3.5. Adams implicite L’id´ e est la mˆ me que pr´ c´ demment, en utilisant un d´ veloppement de Taylor e e e e e arri` re de e h2 x(ti ) = x(ti+1 − h) = x(ti+1 ) − hx(ti+1 ) + x(ti+1 ) + . . . ˙ ¨ 2!

56

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

Domaines de A-stabilité dans le plan complexe
2

4

1.5

3

1

2

0.5 Im(z)

k=1

k=2

0

Im(z)

k=3 k=4

1

k=2
0 1

k=3

k=4

0.5

1

2

1.5

3

2 4

3.5

3

2.5

2

1.5 Re(z)

1

0.5

0

0.5

1

4

9

8

7

6

5

Adams-Bashforth k = 1, 2, 3, 4

Adams-Moulton k = 2, 3, 4

4 Re(z)

3

2

1

0

1

F IG . 3.5 – Domaine de stabilit´ pour Adams explicite et implicite e La m´ thode d’Adams implicite d’ordre 1 est ainsi xi = xi+1 + h fi+1 + o(h2 ) d’o` e u xi+1 = xi − h fi+1 + o(h2 ), c’est Euler implicite ! L’utilisation de la mˆ me technique que pour Adams explicite permet de construire e ´ e les sch´ mas implicites d’ordres plus elev´ s, et on obtient alors les formules d’Adamse Moulton : xi = xi−1 + h fi h xi = xi−1 + ( fi + fi−1 ) 2 h xi = xi−1 + ( fi + 8 fi−1 − fi−2 ) 12 h xi = xi−1 + (9 fi + 19 fi−1 − 5 fi−2 + fi−3 ) 24 h xi = xi−1 + (251 fi + 646 fi−1 − 264 fi−2 + 106 fi−3 − 19 fi−4 ) 720 h xi = xi−1 + (475 fi + 1427 fi−1 − 798 fi−2 + 482 fi−3 − 173 fi−4 + 27 fi−5 ) 1440 Le fait d’utiliser des sch´ mas implicites augmente la stabilit´ , mais la mˆ me tene e e dance est observ´ e lorsque l’ordre croˆt, voir figure 3.5. e ı Amorcage du sch´ ma ¸ e Aux premiers pas de temps, on ne dispose pas forc´ ment de tous les fi−q . Dans e ` ce cas, on peut utiliser une m´ thode a 1 pas pour d´ marrer l’int´ gration jusqu’` avoir e e e a ` suffisamment progress´ pour pouvoir appliquer la m´ thode a pas multiples voulue. e e

3.1.8

Exemple de m´ thode de pr´ diction correction, bas´ e sur Adams e e e

Le probl` me des m´ thodes implicites r´ side dans le fait, qu’en non-lin´ aire au e e e e moins, on ne peut exprimer explicitement la valeur au pas courant. On est alors oblig´ e de mettre en œuvre une m´ thode it´ rative, g´ n´ ralement de type point fixe. e e e e

´ 3.1. EQUATION SCALAIRE DU PREMIER ORDRE

57

(0) xi+1 ,

On part ainsi de la version implicite ; par exemple Adams d’ordre 2 : connaissant (0) ´ on evalue f (xi+1 ,ti+1 ) qui permet, en utilisant la formule d’int´ gration d’Adams e
(1) (0)

implicite, d’atteindre une valeur xi+1 . Cette derni` re etape est appel´ e correction. On e ´ e it` re ainsi jusqu’` une convergence souhait´ e. Pour avoir la premi` re valeur xi+1 , la e a e e pr´ diction, on utilise la version implicite de la m´ thode, par exemple ici, Adams explie e cite d’ordre 2. ` En pratique, 1 a 3 it´ rations suffisent en g´ n´ ral. e e e ` On peut aussi apporter une am´ lioration a faible surcoˆ t avec une correction du e u pr´ dicteur avec l’erreur de troncature. Par exemple, pour Adams d’ordre 2, on proc` de e e comme suit : h (0) 1. pr´ dicteur (AE2) : xi+1 ← xi + [3 fi − fi−1 ] e 2 1 (0) (0) (0) 2. modificateur : xi+1 ← xi+1 − (xi − xi ) ˆ 12 h 3. correcteur (AI2) : xi+1 ← xi + [ fˆi+1 + fi−1 ] 2 f (xi+1 ,ti+1 ) ˆ Le coefficient
1 12 (0)

est celui issu de la formule de (AI3).

3.1.9

M´ thode de Runge-Kutta [1901] e
´ C ARLE DAVD T OLM E RUNGE After taking his secondary school teachers examinations he returned to Berlin where he was influenced by Kronecker. Runge then worked on a procedure for the numerical solution of algebraic equations in which the roots were expressed as infinite series of rational functions of the coefficients. Born : 30 Aug 1856 in Bremen, Germany. Died : 3 Jan 1927 in G¨ ttingen, Germany. o M ARTIN W ILHEIM K UTTA Kutta became professor at Stuttgart in 1911 and remained there until he retired in 1935. He is best known for the Runge-Kutta method (1901) for solving ordinary differential equations and for the Zhukovskii- Kutta aerofoil. Born : 3 Nov 1867 in Pitschen, Upper Silesia (now Byczyna, Poland). Died : 25 Dec 1944 in F¨ rstenfeldbruck, Germany. u

?

Historiquement pr´ sent´ e dans [Kutta 01], Cette m´ thode est de la forme : e e e xi+1 = xi + hΦ(x,t, h) x0 = u0

58 avec Φ(x,t, h) =

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

l=1

∑ al kl (x,t, h)
l−1 (l)

q

k1 (x,t, h) = f (x,t) kl (x,t, h) = f (x + ∑ β j k j (x,t, h),t + αl h)
j=1

L’id´ e est d’int´ grer en utilisant des valeurs en des points particuliers, avec des e e (l) poids d’int´ gration particuliers. al , αl , β j sont des constantes ajust´ es pour obtenir e e l’ordre souhait´ . e

` Exemple de sch´ ma a l’ordre 2 e On prend Φ = a f (x,t) + b f (t + αh, x + βh f (x,t)) et on d´ termine a, b, α, β pour e avoir 1 [x(t + h) − x(t)] h − Φ(x(t),t, h) = o(h2 )

∂f ∂f 2 h ∂f ∂f f + [ + f ] + o(h2 ) a f + b[ f + αh ∂t + βh f ∂x + o(h )] 2 ∂t ∂x Il faut donc avoir 0 = 1−a−b h 0 = − bαh 2 h 0 = − bβh 2 d’o` les coefficients cherch´ s : a = 1 − b, α = β = u e
1 2b ,

et le sch´ ma e

Φ(x,t, h) = (1 − b) f (x,t) + b f (x + b arbitraire non nul

h h f (x,t),t + ) 2b 2b

Cas particuliers Pour b = 1, il s’agit de la m´ thode d’Euler modifi´ e, d’ordre 2, e e 1 pour b = 2 , il s’agit de la m´ thode de Heun, d’ordre 2 aussi. e

´ 3.1. EQUATION SCALAIRE DU PREMIER ORDRE

59

4

2

-4

-3

-2

-1

1

-2

-4

` F IG . 3.6 – Domaine de stabilit´ pour Runge-Kutta (sch´ mas d’ordre 1 a 8) e e

` Exemple de sch´ ma a l’ordre 4 e Bien entendu, cette technique se poursuit pour les ordres sup´ rieurs. Un ordre soue vent utilis´ avec cette m´ thode est l’ordre 4. Le sch´ ma se pr´ sente alors comme suit : e e e e 1 Φ(x,t, h) = (k1 + 2k2 + 2k3 + k4 ) 6 k1 = f (x,t) h h k2 = f (x + k1 ,t + ) 2 2 h h k3 = f (x + k2 ,t + ) 2 2 k4 = f (x + hk3 ,t + h) Bien entendu, des m´ thodes de pr´ diction-correction bas´ es sur la m´ thode de e e e e ˆ Runge-Kutta peuvent aussi etre mises en place. Cette m´ thode requi` re beaucoup d’´ valuations de f , ce qui peut la p´ naliser au nie e e e veau du coˆ t. Concernant les domaines de stabilit´ , on peut observer la mˆ me tendance u e e que pour les m´ thodes d’Adams, voir figure 3.6. e

60

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

3.1.10

Autres m´ thodes e

Citons pour m´ moire les m´ thodes de Hanning, de Milne-Simpson, les m´ thodes e e e de tir (shooting), les m´ thodes de collocation optimale, et une m´ thode bien adapt´ e e e e ` ` a l’int´ gration des relations de comportements d´ crits par variables internes a 1 seul e e seuil, la m´ thode de retour radial [Ortiz et Simo 86]. e

3.2 Syst` mes diff´ rentiels du premier ordre e e
´e En el´ ments finis, on est dans ce cas de figure lors de l’int´ gration de relations e de comportement d´ crit par variables internes, et avec un syst` me de taille bien plus e e grande, lors de calculs de diffusion, par exemple, un calcul de conduction thermique transitoire, qui am` ne a r´ soudre un probl` me de la forme e ` e e M x + Kx = g(t) ˙ x(0) = uo o` K, g´ n´ ralement sym´ trique positive, est la matrice de conduction, et M, g´ n´ ralement u e e e e e sym´ trique, d´ finie positive, est la matrice de capacit´ . x est le vecteur des temp´ ratures e e e e inconnues aux nœuds de la discr´ tisation. e

3.2.1

Emploi des m´ thodes pr´ c´ dentes e e e

Les m´ thodes pr´ c´ dentes se g´ n´ ralisent sans grande difficult´ a ce cas de figure. e e e e e e` Exemple Prenons le sch´ ma d’Euler explicite. Le probl` me pr´ c´ dent peut s’´ crire x = e e e e e ˙ −M −1 Kx + M −1 g. On applique alors le sch´ ma voulu : xi+1 = xi + h(−M −1 Kxi + e M −1 gi ). ´ Pour eviter de faire intervenir directement M −1 , on pr´ f` re le mettre sous la forme : ee Mxi+1 = Mxi + h(Kxi + gi ) x0 = u0 Stabilit´ e ´ On emploie la mˆ me d´ marche que dans le cas des equations scalaires, dans la base e e ´ propre (pour les equations lin´ aires), avec la valeur propre la plus contraignante, c’est e ` a dire la pulsation ω la plus grande. Dans le cas d’Euler explicite, on a donc le crit` re de stabilit´ h ≤ ω2 et on peut e e 2 ´e borner la pulsation propre maxi du syst` me par la pulsation propre maxi el´ mentaire e ωM ≤ ωe , voir annexe B, page 75. Max Remarque ` e Pour avoir un vrai sch´ ma explicite, il faut ne pas avoir a r´ soudre de syst` me e e lin´ aire coupl´ dans (3.1). Il faut donc avoir une matrice de masse diagonale. Une modie e fication du probl` me (une approximation suppl´ mentaire dans la mod´ lisation) consiste e e e
M

(3.1)

` ´ 3.2. SYSTEMES DIFFERENTIELS DU PREMIER ORDRE

61

` a remplacer la matrice de masse consistante par une matrice de masse ”lump´ e”, diae ` gonale. Pour cela, plusieurs techniques existent, comme une matrice proportionnelle a ´e la masse diagonale, avec respect de la masse totale par el´ ment, ou mˆ me la somme e des lignes de la matrice de d´ part. e Outre une approximation suppl´ mentaire [Combe 00], on peut se poser la question e de la conservation des propri´ t´ s du sch´ ma. . . ee e

3.2.2

Choix d’un sch´ ma : influence de l’ordre d’int´ gration e e

Si on consid` re que le coˆ t est directement li´ au nombre d’´ valuations de la fonce u e e tion f , on peut tracer le coˆ t en fonction de l’erreur obtenue pour diff´ rents sch´ mas. u e e Par exemple, si on choisi le cas test suivant : y x ˙ = y ˙ (1 − x2 )y − x x(0) u = 0 y(0) 0 Il s’agit d’un syst` me diff´ rentiel du premier ordre, non lin´ aire, pour t ∈ [0, T ]. Dans e e e le cas de figure o` u α ≈ 2.008619861986087484313650940188 et o` u T ≈ 6.6632868593231301896996820305, la solution est p´ riodique, de p´ riode T . e e ˆ ` Une mesure de l’erreur peut donc etre de prendre a la fin de l’intervalle d’´ tude, e xT x0 e= − yT y0 ´ La figure 3.7 reporte en echelles logarithmiques le nombre d’´ valuations de f en e fonction du niveau d’erreur e pour plusieurs sch´ mas d’ordres diff´ rents : Euler exe e plicite d’ordre 1, Heun d’ordre 2 et Runge-Kutta d’ordre 4. On voit donc l’int´ rˆ t de ee ´ e mettre en œuvre des sch´ mas d’ordre elev´ , en gardant une stabilit´ raisonnable. e e

104 Euler explicite

Heun 103

Runge-Kutta 4 102 10-8

10-6

10-4

10-2

F IG . 3.7 – Influence de l’ordre d’un sch´ ma sur le coˆ t e u

62

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

3.3 Syst` mes diff´ rentiels du deuxi` me ordre e e e
On trouve ce genre de probl` me par exemple en dynamique transitoire des struce tures : M x +Cx + Kx = g(t) ¨ ˙ x(t = 0) = v0 ˙ x(t = 0) = u0 M est la matrice de masse, C est la matrice d’amortissement et K la matrice de rigidit´ . e ˆ ` De facon g´ n´ rale, l’ordre d’un syst` me lin´ aire peut etre abaiss´ , ici a l’ordre 1, ¸ e e e e e mais en doublant la taille du syst` me. Ici, on s’int´ ressera aux traitement direct du e e ` syst` me au second ordre, dans le cas o` on n’a pas d’amortissement, c’est a dire o` e u u C = 0. L’´ quilibre est donc e M x + Kx = g(t) ¨ (3.2)

3.3.1

M´ thode de Newmark [1959] e

` Il s’agit d’une famille de m´ thodes implicites a 1 pas [Newmark 59]. Elle se pr´ sente e e sous la forme suivante : 1 ¨ ¨ xi+1 = xi + hxi + h2 [(1 − 2β)xi + 2βxi+1 ] ˙ 2 xi+1 = xi + h[(1 − γ)xi + γxi+1 ] ˙ ˙ ¨ ¨ On retrouve bien le caract` re implicite par l’apparition de quantit´ s indic´ es i +1 au see e e cond membre. On peut aussi remarquer que si β = γ = 0, on retrouve des d´ veloppements e de Taylor : 1 xi+1 = xi + hxi + h2 xi ˙ ¨ 2 xi+1 = xi + hxi ˙ ˙ ¨ `´ ` Il reste a ecrire l’´ quilibre (3.2) a l’instant ti+1 avec le sch´ ma pr´ c´ dent : e e e e 1 (βh2 K + M)xi+1 = gi+1 − K[xi + hxi + h2 ( − β)xi ] ¨ ˙ ¨ 2 ` e on obtient le syst` me a r´ soudre pour atteindre xi+1 . e ¨ Cas particuliers avec γ = 1 , β = 1 , c’est la m´ thode des acc´ l´ rations constantes (trap` ze), e ee e 2 4 1 avec γ = 2 , β = 1 , c’est la m´ thode des acc´ l´ rations lin´ aires, e ee e 6 ˆ e e e avec γ = 1 , β = 0, c’est la m´ thode des diff´ rences centr´ es, qui peut etre explicite, 2 1 1 avec γ = 2 , β = 12 , c’est la m´ thode de Fox-Goodwin. e Ordres On peut montrer qu’il s’agit d’une m´ thode d’ordre 1 pour γ = e 1 γ = 2.
1 2

et d’ordre 2 pour

` ´ ` 3.3. SYSTEMES DIFFERENTIELS DU DEUXIEME ORDRE Stabilit´ e ´ Dans le cas d’une seule equation scalaire, x = −ω2 x, le sch´ ma donne ¨ e 1 + (hω)2 β 0 hω2 α 1 A1 xi+1 1 − (hω)2 ( 1 − β) h 2 = xi+1 ˙ −hω2 (1 − α) 1 yi+1 A2 xi xi ˙ yi

63

d’o` yi+1 = A−1 A2 yi et la matrice d’it´ ration B = A−1 A2 . La condition de stabilit´ est u e e 1 1 donc ρ(B) < 1 (ou ρ(B) ≤ 1 avec des valeurs propres simples). L’´ quation caract´ ristique permettant de d´ terminer les valeurs propres de B est e e e λ2 − 2bλ + c = 0 avec (hω)2 1 2b = 2 − (α + ) 2 1 + β(hω)2 (hω)2 1 c = 1 − (α − ) 2 1 + β(hω)2 les conditions de stabilit´ sont donc e c≤1 1 − 2b + c ≥ 0 1 + 2b + c ≥ 0 sauf en ce qui concerne les points isol´ s (b, c) = (−1, 1) et (1, 1). D’o` les conditions e u en terme de coefficients de la m´ thode : e γ≥ 2+ 1 2

hω(2β − γ) ≥0 1 + β(hω)2

En conclusion, si 2β ≥ γ 1 , le sch´ ma est inconditionnellement stable (IS) ; si γ ≥ 1 , e 2 2 γ > 2β, le sch´ ma est conditionnellement stable (CS) et la condition de stabilit´ est e e h≤ La figure 3.8 illustre ces r´ sultats. e Influence de l’amortissement et comportement HF Consid´ rons le cas o` l’amortissement n’est pas n´ glig´ , et l’´ quation scalaire x + e u e e e ¨ ´ ` 2ζωx + ω2 x = 0 (cette ecriture dans la base propre d’un syst` me entier correspond a un ˙ e mod` le d’amortissement de Rayleigh). e On peut montrer dans ce cas que la condition de stabilit´ s’´ crit maintenant e e ¯ h≤
1 ζ(γ − 2 ) + [ 1 γ − β + ζ2 (γ − 1 )2 ]1/2 ) 1 2 2 1 ω γ−β 2

1 ω γ/2 − β

1 Dans le cas o` γ > 2 , l’amortissement a un effet stabilisant puisque sur les condiu ¯ < h. tions de stabilit´ , on a h e

64

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

c
1

β IS
1

racines complexes conjuguées b
-1

γ
0 1/2

racines réelles
-1

1

F IG . 3.8 – Stabilit´ des sch´ mas de Newmark e e ` Concernant les modes a haute fr´ quence, ces derniers ne sont pas repr´ sentatifs e e ` du mod` le continu. Ils sont n´ anmoins sollicit´ s lors de l’int´ gration et conduisent a la e e e e pr´ sence de parasites non d´ sir´ s. On utilise classiquement une ”dissipation” num´ rique e e e e pour amortir ces hautes fr´ quences. e 1 e En choisissant γ > 2 , on prend β pour maximiser l’amortissement (r´ gion des ra1 ` cines complexes conjugu´ es sur la figure 3.8), ce qui conduit a β ≤ 4 (γ + 1 )2 . Le point e 2 3 de dissipation HF maxi est (β = 1, γ = 2 ), mais il pr´ sente le gros inconv´ nient d’ˆ tre e e e peu pr´ cis en BF. Un choix g´ n´ ralement recommand´ pour les m´ thodes de Newmark e e e e e est alors : 1 2 1 1 β = (γ + )2 4 2 γ> La figure 3.9 pr´ sente l’utilisation des sch´ mas de Newmark sans amortissement e e pour le cas de r´ flexions d’ondes dans une poutre unidimensionnelle, ce qui met en e ´ ` evidence la pr´ sence de perturbations a hautes fr´ quences. La figure 3.10 pr´ sente e e e ` quant a elle l’influence de l’amortissement num´ rique pour ces mˆ mes sch´ mas. e e e

3.3.2

` M´ thode de Gear implicite a 2 pas [1969] e

Cette m´ thode, [Gear 71], appel´ e aussi m´ thode BDF pour Backward Differentiae e e tion Formulas, est r´ put´ e etre tr` s stable. e e ˆ e Pour information, elle utilise le d´ veloppement suivant : e xi+1 = ˙ 1 (3xi+1 − 4xi + xi−1 ) 2h 1 xi+1 = (3xi+1 − 4xi + xi−1 ) ¨ ˙ ˙ ˙ 2h

` ` e Et de la mˆ me facon, l’´ quilibre (3.2) a l’instant ti+1 donne le syst` me a r´ soudre e ¸ e e

` ´ ` 3.3. SYSTEMES DIFFERENTIELS DU DEUXIEME ORDRE
250

65

Contrainte (Mpa) différence centrée

250

Contrainte (Mpa) fox goodwin

200

200

150

150

100

100

50

50

0

0

Temps (numéro de piquet de temps)
-50 0 100 200 300 400 500 600 700 800 900 -50 0 100 200

Temps (numéro de piquet de temps)
300 400 500 600 700 800 900

250

Contrainte (Mpa) accélération linéaire

250

Contrainte (Mpa) accélération moyenne

200

200

150

150

100

100

50

50

0

0

-50

Temps (numéro de piquet de temps)
0 100 200 300 400 500 600 700 800 900

-50

Temps (numéro de piquet de temps)
0 100 200 300 400 500 600 700 800 900

F IG . 3.9 – Parasites hautes fr´ quences (d’apr` s [Lemoussu 99]) e e
250 200 150 100 50 0 -50 200 160 120 80 40 0 0 50 150 Temps (n p temps) 250 350 450 Temps (numéro de piquet de temps) 0 50 150 250 350 450 200 160 120 80 40 0 0 50 150 Temps (n p temps) 250 350 450

Contrainte (Mpa)
200

Contrainte (Mpa)
150 100 50 0 0 50 150 Temps (n p temps) 350 450

γ = 0,55

γ = 0,6

0 -0.01 -0.02 -0.03 -0.04 250 -0.05 -0.06 -0.07 -0.08 -0.09 -0.1

Perte énergétique (%)

γ = 0,55 γ = 0,60 γ = 0,75 γ = 1.5

Contrainte (Mpa) γ = 0.75

Contrainte (Mpa) γ = 1.5

Temps (numéro de piquet de temps) 0 50 100 150 200 250 300 350 400

F IG . 3.10 – Influence de l’amortissement num´ rique (d’apr` s [Lemoussu 99]) e e pour atteindre xi+1 : ¨ 4 4 1 8 2 (M + h2 K)xi+1 = gi+1 − K( xi − xi−1 + hxi − hxi−1 ) ¨ ˙ ˙ 9 3 3 9 9 La figure 3.11 pr´ sente le domaine de stabilit´ de cette m´ thode. e e e

3.3.3

θ-m´ thode [1968] e

Historiquement attribu´ e a Wilson en 1968, [Bathe et Wilson 73], cette m´ thode e ` e ´ estime une acc´ l´ ration lin´ aire entre les instants ti et ti+θ = ti + θh, θ ≥ 0 etant un ee e param` tre de la m´ thode. On a donc e e x(ti + τ) = ¨ xi+θ − xi ¨ ¨ τ + xi ¨ θh

66

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

Domaines de A-stabilité dans le plan complexe (en dehors des régions grisées)
4
15

3

k=3 k=2
Im(z)

2

10

k=6 k=5 k=4

1 Im(z)

5

0

k=1

0

1

5

2

10

3

15

4 1

0

1

2

3

4 Re(z)

5

6

7

8

9

10

5

0

5

10

15 Re(z)

20

25

30

35

BDF k = 1, 2, 3

BDF k = 4, 5, 6

F IG . 3.11 – Domaine de stabilit´ pour la m´ thode de Gear, k est le nombre de pas e e

et par int´ gration, on a les expressions : e 1 xi+θ = xi + θh(xi + xi+θ ) ˙ ˙ ¨ ¨ 2 1 1 xi+θ = xi + θhxi + θ2 h2 ( xi + xi+θ ) ˙ ¨ ¨ 3 6

` Cette fois-ci, l’´ quilibre (3.2) a l’instant ti+θ conduit au syst` me en xi+θ e e (K + 6 6 6 )xi+θ = gi+θ + M( 2 2 xi + xi + 2xi ) ˙ ¨ θ2 h2 θ h θh

Pour θ ≥ 1.37, la m´ thode est inconditionnellement stable. e Pour θ = 1, on retrouve la m´ thode des acc´ l´ rations lin´ aires. e ee e

3.3.4

α-HHT [1977]

Description ` Cette m´ thode, [Hilber et al. 77], ressemble a priori a la m´ thode de Newmark, e e ` a ceci pr` s qu’elle introduit une modification de l’´ quilibre (et donc en particulier du e e second membre) en utilisant un param` tre additionnel α. e ` L’´ criture du d´ placement, comme celle de la vitesse sont identique a la m´ thode e e e ´ de Newmark, et l’´ quilibre est ecrit sous la forme e M xai+1 + [(1 + α)Cxi+1 − αCxi ] + [(1 + α)Kxi+1 − αKxi ] = [(1 + α) fi+1 − α fi ] ¨ ˙ ˙ Et le d´ marrage de l’algorithme est r´ alis´ avec les valeurs de x0 et x0 donn´ es, e e e ˙ e ainsi que x0 = M −1 ( f0 −Cx0 − Kx0 ). ¨ ˙

` ´ ` 3.3. SYSTEMES DIFFERENTIELS DU DEUXIEME ORDRE Propri´ t´ s ee

67

Pour le choix de param` tres de la forme β = 1 (1 − α)2 et γ = 1 − α, le sch´ ma e e 4 2 est du second ordre pour les basses fr´ quences, il est inconditionnellement stable pour e 1 e − 1 ≤ α ≤ 0, la dissipation en hautes fr´ quences est maximum pour α = − 3 , enfin, si 3 on impose de plus α = 0 on retrouve la m´ thode des trap` zes. e e

3.3.5

Autres m´ thodes e

Il existe un grand nombre de m´ thodes d’int´ gration plus ou moins adapt´ es a un e e e ` type de probl` me. Pour les probl` mes de dynamique, citons encore la m´ thode de Park e e e ` a 3 pas [1975] [Park 75].

68

` ´ CHAPITRE 3. SYSTEMES DIFFERENTIELS

Bibliographie
[Aitken 50] Aitken A. C., On the iterative solution of a system of linear equations, Proc. Roy. Soc. Edinburgh, vol. 63, 1950, pp. 52–60. [Anderson et al. 99] Anderson E., Bai Z., Bischof C., Blackford S., Demmel J., Dongarra J., Du Croz J., Greenbaum A., Hammarling S., McKenney A. et Sorensen D., LAPACK Users’ Guide, Philadelphia, PA, Society for Industrial and Applied ´ Mathematics, 1999, third edition. [Argyris et al. 64] Argyris J. H., Kelsey S. et Kamel H., Matrix Methods of Structural Analysis : A Precis of Recent Developments, Pergamon Press, 1964. [Barrett et al. 94] Barrett R., Berry M., Chan T. F., Demmel J., Donato J., Dongarra J., Eijkhout V., Pozo R., Romine C. et der Vorst H. Van, Templates for the Solution of Linear Systems : Building Blocks for Iterative Methods, 2nd Edition, Philadelphia, PA, SIAM, 1994, http ://www.netlib.org/linalg/html templates/Templates.htm. [Bathe et Wilson 73] Bathe K. J. et Wilson E. L, Stability and accuracy analysis of direct integration method, Earthquake Eng. Struct. Dyn., vol. 1, 1973, pp. 283–291. [Bathe et Wilson 82] Bathe K. J. et Wilson E. L., Numerical Analysis in Finite Element Analysis, Prentice-Hall, 1982. ´ [Benoˆt 24] Benoˆt (Commandant), Note sur une m´ thode de r´ solution des equations ı ı e e normales provenant de l’application de la m´ thode des moindres carr´ s a un syst` me e e ` e ` d’´ quations lin´ aires en nombre inf´ rieur a celui des inconnues — application de la e e e ` m´ thode a la r´ solution d’un syst` me d’´ quations lin´ aires (proc´ d´ du Commane e e e e e e dant Cholesky), Bulletin G´ od´ sique, vol. 2, 1924, pp. 5–77. e e [Blackford et al. 97] Blackford L. S., Choi J., Cleary A., D’Azevedo E., Demmel J., Dhillon I., Dongarra J., Hammarling S., Henry G., Petitet A., Stanley K., Walker D. et Whaley R. C., ScaLAPACK Users’ Guide, Philadelphia, PA, Society for Industrial and Applied Mathematics, 1997. [Combe 00] Combe J.-P., Sur le contrˆ le des calculs en dynamique rapide. Application o aux probl` mes d’impact, LMT-Cachan, th` se, ENS de Cachan, 2000. e e [Cuthill et McKee 69] Cuthill E. et McKee J., Reducing the bandwidth of sparce symmetric matrices, Proc. of the 24th National Conference of the ACM, pp. 157–172, 1969. [Dahlquist 63] Dahlquist G., A special stability problem for linear multistep methods, BIT, vol. 3, 1963, pp. 27–43. [Dongarra et al. 99] Dongarra J. J., Meuer H. W. et Strohmeier E., Top 500 supercomputer sites, Proceedings of Supercomputer ’99 Conference, Mannheim, 1999, Disponible sur http ://www.top500.org/ et http ://www.netlib.org/benchmark/top500.html. 69

70

BIBLIOGRAPHIE

[Duff 86] Duff I. S., Parallel implementation of multifrontal schemes, Parallel Computing, vol. 3, 1986, pp. 192–204. [Duff et al. 90] Duff I. S., Erisman A. M. et Reid J. K., Direct Methods for Sparse Matrices, Oxford, Oxford University Press, 1990. [Freund et Nachtigal 91] Freund R. W. et Nachtigal N. M., QMR : A quasi-minimal residual method for nonhermitian matrices, Numerische Mathematik, vol. 60, 1991, pp. 315–339. [Gear 71] Gear C. W., Numerical initial value problems in ordinary differential equation, Prentice-Hall, 1971. [George 73] George Alan, Nested dissection of a regular finite-element mesh, SIAM Journal on Numerical Analysis, vol. 10, 1973, pp. 345–363. [George et Liu 89] George Alan et Liu J., The evolution of the minimum degree ordering algorithm, SIAM Review, vol. 31, n˚ 1, 1989, pp. 1–19. [Golub et Loan 89] Golub Gene H. et Loan Charles F. Van, Matrix Computations, ´ Baltimore, MD, USA, Johns Hopkins University Press, 1989, second edition. [Hagemana et Young 81] Hagemana L. et Young D., Applied Iterative Methods, New York, Academic Press, 1981. [Hessenberg 65] Hessenberg Gerhard, Transzendenz von e und ; ein Beitrag zur hoheren Mathematik vom elementaren Standpunkte aus. von 1912, New York, Johnson Reprint Corp., 1965. [Hestenes et Stiefel 52] Hestenes M. R. et Stiefel E., Methods of conjugate gradients for solving linear systems, J. Res. Natl. Bur. Stand., vol. 49, 1952, pp. 409–436. [Hilber et al. 77] Hilber H. M., Hughes T. J. R. et Taylor R. L., Improved numerical dissipation for time integration algorithm in structural dynamics, Earthquake Eng. Struct. Dyn., vol. 5, 1977, pp. 283–292. [Householder 58] Householder A. S., Unitary triangularization of a nonsymmetric matrix, Journal of the Association of Computing Machinery, vol. 5, 1958, pp. 339– 342. [Hughes 87] Hughes T. J. R., The Finite Element Method, Linear Static and Dynamic Finite Element Analysis, Englewood Cliffs, Prentice-Hall, 1987. [Irons 70] Irons B. M., A frontal solution program for finite element analysis, International Journal for Numerical Methods in Engineering, vol. 2, 1970, pp. 5–32. [Jacobi 46] Jacobi C. G. J., Ueber ein leichtes verfahren, die in der theorie der s¨ cularst¨ rungen vorkommenden gleichungen numerish aufsul¨ sen, Journal f¨ r die a o o u reine und angewandle Mathematik, 1846, pp. 51–94. [Kutta 01] Kutta W., Beitrag zur naherungsweisen integration totaler differentialgleichunge, Zeit. Math. Physik, vol. 46, 1901, pp. 435–453. [Lanczos 50] Lanczos C., An iteration method dor the solution of the eigenvalue problem of linear differential and integral operators, J. Res. Natl. Bur. Stand., vol. 45, 1950, pp. 225–280. [Lemoussu 99] Lemoussu H., Approche non incr´ mentale pour le calcul de choc avec e contact unilat´ ral avec frottement, LMT-Cachan, th` se, ENS de Cachan, 1999. e e [Newmark 59] Newmark N. M., A method for computation of structural dynamics, ´ Proc. of the American Society of Civil Engineers, ed. par EMS, pp. 67–94, 1959.

BIBLIOGRAPHIE

71

[Ortiz et Simo 86] Ortiz M. et Simo J. C., An analysis of a new class of integration algorithms for elasto-plastic constitutive relations, International Journal for Numerical Methods in Engineering, vol. 23, n˚ 3, 1986, pp. 353–366. [Paige et Saunders 75] Paige C. C. et Saunders M. A., Solution of sparse indefinite systems of linear equations, SIAM Journal on Numerical Analysis, vol. 12, 1975, pp. 617–629. [Park 75] Park K. C., An improved stiffy stable method for direct integration of non linear structural dynamics equations, Trans. ASME Jnl. Appl. Mech., 1975, pp. 164– 470. [Saad 96] Saad Yousef, Iterative Methods for Sparse Linear Systems, PWS Publishing Company, 1996. [Saad et Schultz 86] Saad Y. et Schultz M. H., GMRES : A generalized minimal residual algorithm for solving nonsymmetric linear systems, SIAM J. Sci. Stat.Comput., vol. 7, 1986, pp. 856–869. [Shortley 53] Shortley G., Use of Tschebyscheff-polynomial operators in the numerical solution of boundary-value problems, J. App. Phys., vol. 24, 1953, pp. 392–396. [Sonneveld 89] Sonneveld P., CGS, a fast lanczos-type solver for nonsymmetric linear systems, SIAM J. Sci. Stat. Comput., vol. 10, 1989, pp. 36–52. [Southwell 46] Southwell R., Relaxation Methods in Theoretical Physics, Oxford, Clarendaon Press, 1946. [Tinney et Walker 67] Tinney W. F. et Walker J. W., Direct solutions of sparse network equations by optimally ordered triangular factorization, Proc. of the IEEE, pp. 1801– 1809, 1967. [Van der Vorst 92] Van der Vorst H. A., BiCGSTAB : A fast and smoothly converging variant of bi-cg for the solution of nonsymmetric linear systems, SIAM J. Sci. Stat.Comput., vol. 13, 1992, pp. 631–644. [Wilkinson 65] Wilkinson J. H., The Algebraic Eigenvalue Problem, Oxford University Press, 1965. [Willoughby 75] Willoughby R. A., Collection of articles honoring Alston S. Householder, ACM, vol. 18, 1975, pp. 3–58.

72

BIBLIOGRAPHIE

Annexe A

Un exemple d’utilisation de la factorisation de Cholesky : orthogonalisation d’un sous-espace
On consid` re un ensemble de m vecteurs de taille n vi ind´ pendants, stock´ s dans e e e les colonnes d’une matrice rectangulaire V de taille (n, m). Ils g´ n` rent un sous-espace e e de l’espace de d´ part. Dans un certain nombre d’applications, il est utile de construire e ` a partir de ces vecteurs, une nouvelle base orthogonale U. Pour ce faire, on utilise g´ n´ ralement le proc´ d´ d’orthogonalisation de Gram-Schmidt. On cherche donc U e e e e engendrant le mˆ me sous-espace que V et tel que U T U = 1. e Pour ce faire, on peut utiliser une technique bas´ e sur la factorisation pr´ c´ dente : e e e si on construit la matrice (pleine et de taille r´ duite (n, n)) M = V T V et sa factorisation e M = LLT , alors V T V = LLT ⇒ L−1V T V L−T = 1 ⇒ U T = L−1V T

` e Il faut donc proc´ der a n r´ solutions du syst` me triangulaire de taille n LU T = V T . On e e r´ alise ainsi une orthonormalisation des vecteurs de d´ part e e

73

74

ANNEXE A. ORTHOGONALISATION D’UN SOUS-ESPACE

Annexe B

Encadrement par les valeurs ´e propres el´ mentaires
On se place ici dans le cas de figure o` les probl` mes sont issus d’une analyse par u e ´e el´ ments finis. L’´ l´ ment fini courant est not´ e et les quantit´ s el´ mentaires associ´ es ee e e ´e e porteront aussi l’indice e.

B.1

Syst` me aux valeurs propres g´ n´ ralis´ e e e e

Le probl` me est de la forme Kx = λMx, et on d´ fini les matrices diagonales par e e bloc contenant les quantit´ s el´ mentaires de la facon suivante : e ´e ¸     Me Ke   ¯  Me Ke ¯  K=   M= .. .. . . ` L’assemblage consiste a utiliser (formellement) une matrice d’assemblage P bool´ enne e ¯ telle que K = PKPT . Comme M est issue de la mˆ me discr´ tisation,la mˆ me matrice e e e ¯ d’assemblage est utilis´ e : M = PMPT . e ` ¯¯ ¯ ¯¯ Consid´ rons le syst` me, de taille sup´ rieure a n, K x = λM x (aucune liaison entre les e e e ´e el´ ments). Il englobe le syst` me initial car il suffit de l’´ crire dans le sous-espace o` x e e u¯ est issu du ”d´ sassemblage” d’un vecteur x de raille n : x = PT x (les forces g´ n´ ralis´ es, e ¯ e e e elles, s’assembleraient de la facon suivante : f = P f¯). Avec le quotient de Rayleigh ¸ xT K x ¯ ¯¯ ¯ ¯ ¯ ¯ ¯ R(x) = T ¯ on sait que λmax = maxx=0 R(x), donc ¯ x Mx ¯ ¯ xT K x ¯ ¯¯ ¯ λmax ≥x=0 T ¯ ¯ x Mx ¯ ¯ ¯ max est la valeur maximale des valeurs propres des Au vu du probl` me ”d´ sassembl´ ”, λ e e e ´e el´ ments pris s´ par´ ment, et la relation ci-dessus est en particulier vraie pour x = PT x e e ¯ donc xT PKPT x xT Kx ¯ ¯ ¯ ¯ λmax ≥x=0 T ¯ T = T = R(x) ¯ x PMP x x Mx ¯ ¯ Donc ¯ λmax ≥ max R(x) = λmax
x=0

75

´ ´ 76ANNEXE B. ENCADREMENT PAR LES VALEURS PROPRES ELEMENTAIRES

B.2

Syst` me aux valeurs propres e

Cette fois-ci, le probl` me est de la forme Ax = λx. Concernant les contributions e ´e ´ el´ mentaire, ce probl` me n’est plus equivalent au probl` me pr´ c´ dent ; en particulier, e e e e ´ si on ecrit A = M −1 K, et comme M −1 est pleine, on n’a plus la connectivit´ el´ ments e´e ´ ´e finis dans A, et si on ecrit M = 1, M n’est pas l’assemblage des matrices el´ mentaires identit´ . Le r´ sultat pr´ c´ dent ne s’applique donc plus ici. e e e e xT Ax Par contre, on a toujours λmax = maxx=0 R(x) o` R(x) = T donc λmax ≥x=0 u x x xT Ax . Prenons alors comme vecteur x particulier un vecteur nul partout sauf sur les xT x ´e nœuds d’un el´ ment quelconque e, et notons xe sa restriction sur les degr´ s de libert´ e e T ´e de cet el´ ment (vecteur de petite taille, donc). On a xe xe = xT x et les contributions T ¯ ´e ´e el´ mentaires xT Ax = xT PAPT x = xe Ae xe + a o` , si toutes les matrices el´ mentaires Ae u sont positives, a ≥ 0. Alors λmax ≥xe =0 Donc
T T xe Ae xe + a xe Ae xe ≥ T Tx xe e xe xe

¯ λmax ≥ λmax

C’est le r´ sultat contraire au pr´ c´ dent, concernant les syst` mes aux valeurs propres e e e e g´ n´ ralis´ s. e e e

Sign up to vote on this title
UsefulNot useful