Oracle

Pages: 28 (6978 mots) Publié le: 17 octobre 2012
Outils de base en analyse numérique

Sébastien Charnoz & Adrian Daerr

Université Paris 7 Denis Diderot CEA Saclay

En analyse numérique, un certain nombre de calculs sont faits de manière répétitive. Exemple : Résoudre un système linéaire, Inverser une matrice, Calculer le déterminant, valeurs propres, vecteurs propres

Interpoler une fonction Extrapoler une fonction Décomposer unefonction sur une base de fonctions (ex: TF)

« fitter » des points de mesure avec des fonctions connues Etc…

Des algorithmes performants existent souvent, mais qui ont chacun des spécificités. En fonction de nos besoins, il faudra choisir l’algorithme adapté

La plupart de ces outils « de base » sont souvent déjà programmés dans des librairies de calculs mathématiques (ex: NAG) . De manièregénérale, il n’est jamais bon de l’utiliser comme une « boîte noire » : En fonction du problème, en choisissant l’algorithme le plus adapté, on peut gagner du temps de calcul , ou mieux : éviter des instabilités numériques.

Exemple 1: Si vous avez besoins de calculer l’inverse d’une matrice, et que sont déterminant est très proche de 0 (mais non exactement 0), le calcul sera très sensibles auxerreurs de troncatures de la machine. Dans ce cas il faut préférer une inversion itérative, plutôt qu’une inversion exacte… Exemple 2 : Si vous souhaitez décomposer une fonction sur une base de fonctions, ll vaut mieux bien connaître cette base, sinon vous ne saurez pas vraiment ce que vous faites… Souvent, une telle décomposition engendre des instabilités dans le schémas numérique en raison de ladiscrétisation etc…

Dans ce chapitre, nous aborderons 3 points :

Systèmes linéaires Calcul matriciel, inversions etc…

Interpolation et Extrapolation de fonctions Différentes méthodes, décomposition sur une base, moindres carrés etc..

Générateurs de nombres pseudo-aléatoires Qu’est ce qu’un bon générateur ? Comment les construire ? etc…

LES SYSTEMES LINEAIRES
En analyse numérique,résoudre un système linéaires, c’est résoudre

Ax = b
Où A est une matrice (à priori) inversible , b est un vecteur, et X est le vecteur inconnu.

Les questions attenantes à ce problème sont : Calculer A-1, Det(A), valeurs propres de A, vecteurs propres de A Une dizaine de méthodes existent, mais certains outils sont commun à de nombreuses méthodes… (Pivot de Gauss, Décomposition en matricetriangulaire, Méthode de substitution )

Un tel système est facilement soluble dans le cas où la matrice A est triangulaire… Pourquoi ? Par ce qu’une simple substitution itérative permet de résoudre facilement le système Ex :

⎛ a11 ⎜ ⎜ 0 ⎜ 0 ⎜ ⎜ 0 ⎝
On a alors :

a12 a22 0 0

a13 a23 a33 0

a14 ⎞⎛ x1 ⎞ ⎛ b1 ⎞ ⎟⎜ ⎟ ⎜ ⎟ a24 ⎟⎜ x2 ⎟ ⎜ b2 ⎟ ⎟⎜ x ⎟ = ⎜ b ⎟ a34 ⎟⎜ 3 ⎟ ⎜ 3 ⎟ a44 ⎟⎜ x4 ⎟ ⎜ b4 ⎟⎠⎝ ⎠ ⎝ ⎠

Matrice NxN avec N=4

x4 = b4 / a44 1 (b3 − x4 a34 ) x3 = a33 etc...

⎛ a11 ⎜ ⎜ 0 ⎜ 0 ⎜ ⎜ 0 ⎝

a12 a22 0 0

a13 a23 a33 0

a14 ⎞⎛ x1 ⎞ ⎛ b1 ⎞ ⎟⎜ ⎟ ⎜ ⎟ a24 ⎟⎜ x2 ⎟ ⎜ b2 ⎟ ⎟⎜ x ⎟ = ⎜ b ⎟ a34 ⎟⎜ 3 ⎟ ⎜ 3 ⎟ a44 ⎟⎜ x4 ⎟ ⎜ b4 ⎟ ⎠⎝ ⎠ ⎝ ⎠

D’une manière générale, on peut trouver toutes les valeurs de Xi par la méthode itérative suivante (substitution arrière)

x N = bn / ann 1 xi =aii
N ⎤ ⎡ ⎢bi − ∑ aij x j ⎥ j =i +1 ⎦ ⎣

On calcule Xn, puis Xn-1, Xn-2 … X1

Une méthode similaire marche aussi pour un matrice triangulaire inférieure

⎛ a11 ⎜ ⎜ a21 ⎜a ⎜ 31 ⎜a ⎝ 41

0 a22 a32 a42

0 0 a33 a43

0 ⎞⎛ x1 ⎞ ⎛ b1 ⎞ ⎟⎜ ⎟ ⎜ ⎟ 0 ⎟⎜ x2 ⎟ ⎜ b2 ⎟ ⎟⎜ x ⎟ = ⎜ b ⎟ 0 ⎟⎜ 3 ⎟ ⎜ 3 ⎟ a44 ⎟⎜ x4 ⎟ ⎜ b4 ⎟ ⎠⎝ ⎠ ⎝ ⎠

x1 = b1 / a11 1 xi = aii
i −1 ⎤ ⎡ ⎢bi − ∑ aij x j ⎥ j =1 ⎦ ⎣

Oncalcule X1, puis X2, X3 … XN

Substitution avant

Dans de nombreuses méthodes, l’objectif est de transformer A pour la rendre Triangulaire, inférieure ou supérieurs, et ensuite calculer les solutions en utilisant une substitution (avant ou arrière si A est inférieure ou supérieure).

2 grandes méthodes EXACTES:

ELIMINATION DE GAUSS JORDAN Simple à comprendre, mais nécessite de...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Oracle
  • oracle
  • Oracle
  • Oracle
  • Oracle
  • Oracles
  • Oracle apex
  • Histoires des oracles

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !