Aller au contenu

Méthode de Jacobi

Résolution itérative de $Ax = b$

Exercice Intermédiaire · Analyse · prepa scientifique et economique (CPGE)

Enonce

Implémenter jacobi(A, b, eps, max_iter). Critère d'arrêt : la norme infinie de $x^{(k+1)} - x^{(k)}$ est inférieure à $\varepsilon$.

Tester sur le système (à diagonale strictement dominante) :

10x + y + z = 12, 2x + 10y + z = 13, 2x + 2y + 10z = 14.

Solution attendue : $x = y = z = 1$.

Signature attendue

def jacobi(A: list, b: list, eps: float, max_iter: int) -> list:

Exemple

  • [round(v, 6) for v in jacobi([[10, 1, 1], [2, 10, 1], [2, 2, 10]], [12, 13, 14], 1e-10, 1000)] → [1.0, 1.0, 1.0]

📖 Rappel de cours

Contrairement aux méthodes directes (Gauss, LU) qui résolvent $Ax = b$ en un nombre fini d'opérations, la méthode de Jacobi est itérative : on construit une suite $(x^{(k)})$ qui converge vers la solution.

Idée :

De la $i$-ème équation $\sum_j a_{ij} x_j = b_i$, on isole $x_i$ :

$x_i^{(k+1)} = \frac{1}{a_{ii}}\!\left(b_i - \sum_{j\neq i} a_{ij}\,x_j^{(k)}\right)$

À chaque itération, tous les $x_i^{(k+1)}$ sont calculés à partir du vecteur précédent $x^{(k)}$ : il faut donc deux tableaux distincts.

Convergence :

Garantie si $A$ est à diagonale strictement dominante :

$|a_{ii}| > \sum_{j\neq i} |a_{ij}| \quad \text{pour tout } i$

Avantage : très simple à programmer, parallélisable. Inconvénient : convergence parfois lente.

← Exercices d'analyse numérique en Python — dichotomie, Newton, intégration

Exercices du meme theme

  • Méthode de Heun (RK2)
  • Méthode de Runge-Kutta d'Ordre 4 (RK4)
  • Méthode des Moindres Carrés
  • Méthode de Romberg
  • Interpolation Bilinéaire
  • Géométrie 3D — Vecteurs

La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Essai gratuit
Testez toutes les fonctionnalités sans engagement
En continuant, vous acceptez notre politique de confidentialité.
Déjà abonné ? Se reconnecter
Recevez un lien de connexion par email
Parcourir gratuitement →
Aperçu limité · sans inscription · sans vérification IA
€4,99
/ mois · accès illimité · résiliable
Paiement sécurisé
En vous abonnant, vous acceptez nos conditions et politique de confidentialité.
Résiliation possible depuis votre espace PayPal.

Chargement...

Initialisation de l'environnement

Prepa🐍ython
Progresser en Python & SQL · Prépa scientifique
Progression
0 / 0
Solo
— / —
Python... SQL...
Recherche
🔬 Bac a sable Python ↗ 🧪 Bac a sable SQL ↗ 📝 Concours blanc ↗ 🏖️ Code à la plage ↗ 📚 Listes de rentrée ↗ 🛠️ Admin ↗
Tu aimes PrepaPython ?
Fais-le savoir !
← Retour à l'accueil Mentions legales & confidentialite