0% ont trouvé ce document utile (0 vote)
15 vues13 pages

Impim

Le document présente des méthodes de résolution de systèmes d'équations linéaires, notamment le factoriel, les systèmes triangulaires supérieurs et inférieurs, ainsi que les méthodes de Gauss, Gauss-Jordan et Cholesky. Chaque méthode est expliquée avec des étapes détaillées et des considérations sur la gestion des pivots nuls. Des exemples de code Python pour chaque méthode sont également fournis.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues13 pages

Impim

Le document présente des méthodes de résolution de systèmes d'équations linéaires, notamment le factoriel, les systèmes triangulaires supérieurs et inférieurs, ainsi que les méthodes de Gauss, Gauss-Jordan et Cholesky. Chaque méthode est expliquée avec des étapes détaillées et des considérations sur la gestion des pivots nuls. Des exemples de code Python pour chaque méthode sont également fournis.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Nom : RAKOTOMALALA

Prénoms : Alain Nantenaina


Mention : Génie électrique
Niveau : L3
N° matricule :030-25/L3/GE
Factoriel
Définition
Pour tout entier naturel n≥ 𝟎,le factoriel de n , note n !, est définie par :

n !=n× (𝒏 − 𝟏) × (𝒏 − 𝟐) × … × 𝟐 × 𝟏

Par convention :

0 !=1

Calcule du factoriel avec python :


Matrice triangulaire supérieur
Système triangulaire supérieur
C’est un système de la forme :
𝑎11𝑋1 + 𝑎12𝑋2 + ⋯ + 𝑎1𝑛𝑋𝑛 = 𝑏1
𝑎22 + ⋯ + 𝑎2𝑛𝑋𝑛 = 𝑏2

𝑎𝑛𝑛𝑋𝑛 = 𝑏𝑛
{
On commence Substitution arrière :

par la dernière équation :


𝑏𝑛
Xn=
𝑎𝑛𝑛
Puis on remonte (pour k= n-1 à 1)
1
Xk= ( bk-∑𝑛𝑗=𝑘+1 𝑎𝑘𝑗𝑋𝑗 )
𝑎𝑘𝑘

Si le pivot est nul


On échange la ligne k avec une autre ligne i tel que i > 𝑘 pour avoir un aik ≠ 0

Cela modifie l’ordre des équations mais pas la solution


System triangulaire supérieur avec pivot nul
géré en python :
Système triangulaire inferieur
Système de la forme :
𝑎11 = 𝑏1
{ 𝑎21𝑋1 + 𝑎22 = 𝑏2

𝑎𝑛1𝑋1 + ⋯ + 𝑎𝑛𝑛𝑋𝑛 = 𝑏𝑛
Substitution avant :
On commence par la première équation :
𝑏1
X1=
𝑎11
Puis on avance (pour k=2 à n) :
1
Xk= ( bk-∑𝑘−1
𝑗=1 𝑎𝑘𝑗𝑋𝑗 )
𝑎𝑘𝑘
Si le pivot est nul
On échange la ligne k avec une autre ligne i tel que i > 𝑘 pour avoir un aik ≠ 0
Cela modifie l’ordre des équations mais pas la solution
System triangulaire inferieur avec pivot nul
géré en python :
Méthode de GAUSS
Soit un système de n équations à n inconnues :
𝑎11𝑋1 + 𝑎12𝑋2 + ⋯ + 𝑎1𝑛𝑋𝑛 = 𝑏1
𝑎21𝑋1 + 𝑎22𝑋2 + ⋯ + 𝑎2𝑛𝑋𝑛 = 𝑏2
𝑎31𝑋1 + 𝑎32𝑋2 + ⋯ + 𝑎3𝑛𝑋𝑛 = 𝑏3
. . . .
. . . .
. . . .
{𝑎𝑛1𝑋1 + 𝑎𝑛2𝑋2 + ⋯ + 𝑎𝑛𝑛𝑋𝑛 = 𝑏𝑛

Sous forme matricielle augmentée :


𝑎11 𝑎12 ⋯ 𝑎1𝑛 𝑋1 𝑏1
(𝑎21 𝑎22 ⋯ 𝑎2𝑛) (𝑋2) = (𝑏2)
⋮ ⋮ ⋱ ⋮ ⋮ ⋮
𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 𝑋𝑛 𝑏𝑛

Etape 1 : Elimination
Matrice augmentée :
𝑎11 𝑎12 … 𝑎1𝑛 𝑏1
𝑏2
[𝐴|𝑏⃗] = (𝑎21 𝑎22 … 𝑎2𝑛| )
⋮ ⋮ ⋱ ⋮ ⋮
𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 𝑏𝑛

Elimination de GAUSS :
-Normalisation de la ligne pivot :
Lk
Lk← cela rend le pivot égale à 1
akk

-élimination des autres ligne (en dessous pour chaque ligne Li avec i > 𝑘.

Li←Li - aik . Lk cela annule tous les coefficients sous le pivot dans la colonne.

Mais au cas où le pivot est nul si le pivot akk=0


Alors on doit chercher une ligne Lr avec r> 𝑘 et Lrk≠ 0 .

on fait une échange de ligne Lk↔Lr

si aucune ligne n’a ark≠ 0

Le système est soit :

-Compatible indéterminé (il y a une infinité de solution)

-Incompatible (pas de solution)


Une fois la matrice en forme triangulaire supérieur on résout :

Xn=b’n

Xn-1=b’n-1 – a’n-1. Xn
. . .
. . .
. . .
X1=b’1 -∑𝑛𝑗=2 𝑎′ 1𝑗 . 𝑋𝑗

Code python de méthode de GAUSS avec un pivot nul :


Méthode de GAUSS-JORDAN
Soit un système de n équations à n inconnues :
𝑎11𝑋1 + 𝑎12𝑋2 + ⋯ + 𝑎1𝑛𝑋𝑛 = 𝑏1
𝑎21𝑋1 + 𝑎22𝑋2 + ⋯ + 𝑎2𝑛𝑋𝑛 = 𝑏2
𝑎31𝑋1 + 𝑎32𝑋2 + ⋯ + 𝑎3𝑛𝑋𝑛 = 𝑏3
. . . .
. . . .
. . . .
{𝑎𝑛1𝑋1 + 𝑎𝑛2𝑋2 + ⋯ + 𝑎𝑛𝑛𝑋𝑛 = 𝑏𝑛
On va le transforme sous forme matricielle augmentée :

𝑎11 𝑎12 ⋯ 𝑎1𝑛 𝑏1


[𝐴|𝐵] = (𝑎21 𝑎22 ⋯ 𝑎2𝑛|𝑏2)
⋮ ⋮ ⋱ ⋮ ⋮
𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 𝑏𝑛
On va transforme ce tableau en forme réduite échelonnée :

Donc on obtient :
1 0 0 | 𝑋1
0 1 0 | 𝑋2
[ ]
0 0 1 | 𝑋2
⋮ ⋮ ⋮ | ⋮

Etape de GAUSS-JORDAN
Normalisation du pivot :

Pour chaque ligne k, on rend le pivot akk=1


𝐿𝑘
Lk← 𝑎𝑘𝑘

Annulation des autres éléments de la colonne :

Pour toute ligne i≠ 𝑘,on rend le terme aik=0 :

Li←Li – aik .Lk


0

Cela transforme la colonne k en : 1

[0]

On répète ces deux étapes pour chaque colonne k =1 à n.


𝑥1
𝑥2
A la fin on obtient [𝐼|𝑋] où X=[ ] .

𝑥𝑛
Mais si les pivots sont nuls :

akk=0 alors on doit échanger la ligne k avec une autre ligne r> 𝑘

tel que ark≠ 0

Sinon, le système est :

 Soit impossible (pas de solution)


 Soit indéterminé (infinité de solution).

Code python de méthode de GAUSS-JORDAN avec un pivot nul :


Méthode de Cholesky
Le système à résoudre est tridiagonal :

On cherche à résoudre un système linéaire de la forme :

𝑏1 𝑐1 0 … 0 𝑥1 𝑦1
𝑎2 𝑏2 𝑐2 … 0 𝑥2 𝑦2
0 𝑎3 𝑏3 … 0 𝑥3 = 𝑦3
⋮ ⋮ ⋮ ⋱ 𝑐𝑛 − 1 ⋮ ⋮
[0 0 0 𝑎𝑛 𝑏𝑛 ] [𝑥𝑛] [𝑦𝑛]
Où :

-ai est le coefficient sous la diagonale pour i = 2 à n

- bi est le coefficient de la diagonale principale pour i= 1 à n

-ci est la coefficient au-dessus de la diagonale pour i= 1 à n-1

On calcule deux suites :


 Ai (modification de ci)
 Bi (modification de yi)

Phase de descente :
𝑐1 𝑦1
A1=-𝑏1 ; B1=𝑏1

Pour i =i à n
𝑐𝑖 𝑦𝑖−𝑎𝑖𝐵𝑖−1
Ai = - 𝑎𝑖𝐴𝑖−1+𝑏𝑖 ; Bi = 𝑎𝑖𝐴𝑖−1+𝑏𝑖

Remontée :
xn=Bn

Pour i=n-1 à 1

xi=Aixi+1 + Bi

Pivot nul :
Si pour certain i, on a :

Pivot i =aiAi-1+bi=0

Alors on ne peut pas continuer car cela entrainerait une division par zéro dans les formules de Ai et Bi

Ce cas signifie que le système est :

Singulier (pas de solution unique)

Ou qu’il nécessite un modification (pivot partiel, permutation)


Code python de méthode de Cholesky avec un pivot nul :

Vous aimerez peut-être aussi