# medelbou3/analyse_numerique_tp architecture

> Architecture diagram of the GitHub repository medelbou3/analyse_numerique_tp, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/medelbou3/analyse_numerique_tp
- Repository: https://github.com/medelbou3/analyse_numerique_tp

## Overview

This repository is a set of standalone Python numerical-method demonstrations, with iterative solution and convergence visualization as the documented main workflow. Separate scripts demonstrate direct linear-system solvers and Lagrange interpolation. The sampled scripts show the calculations and plotting; the Gauss–Seidel script imports comparison data from `jacobi2`, which is absent from the supplied tree, so that dependency is not mapped.

Main entry points: [`jacobi.py`](https://github.com/medelbou3/analyse_numerique_tp/blob/main/jacobi.py) (Jacobi solver), [`gauss-siedel.py`](https://github.com/medelbou3/analyse_numerique_tp/blob/main/gauss-siedel.py) (Gauss–Seidel solver), [`interpolation_lagrange.py`](https://github.com/medelbou3/analyse_numerique_tp/blob/main/interpolation_lagrange.py) (Lagrange interpolation), [`elimunation-gs.py`](https://github.com/medelbou3/analyse_numerique_tp/blob/main/elimunation-gs.py) (Gauss elimination)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_iterative["Iterative solvers"]
  node_jacobi["Jacobi solver<br/>[jacobi.py]"]
  node_gs["Gauss–Seidel solver<br/>[gauss-siedel.py]"]
end

subgraph group_direct["Direct solvers"]
  node_gauss["Gauss elimination<br/>[elimunation-gs.py]"]
  node_lu_decomp["LU decomposition<br/>[decompositioLU.py]"]
  node_lu_solve["LU substitution<br/>[decompositioLU.py]"]
end

subgraph group_interpolation["Interpolation"]
  node_lagrange["Lagrange interpolation"]
end

node_user(("User"))
node_numpy["NumPy"]
node_matplotlib["Matplotlib"]

node_user -->|"runs"| node_jacobi
node_user -->|"runs"| node_gs
node_user -->|"runs"| node_gauss
node_user -->|"runs"| node_lu_decomp
node_user -->|"runs"| node_lagrange
node_jacobi -->|"computes with"| node_numpy
node_jacobi -->|"plots with"| node_matplotlib
node_gs -->|"computes with"| node_numpy
node_gs -->|"plots with"| node_matplotlib
node_gauss -->|"computes with"| node_numpy
node_lu_decomp -->|"produces factors for"| node_lu_solve
node_lagrange -->|"plots with"| node_matplotlib
node_lagrange -->|"samples with"| node_numpy

click node_jacobi "https://github.com/medelbou3/analyse_numerique_tp/blob/main/jacobi.py"
click node_gs "https://github.com/medelbou3/analyse_numerique_tp/blob/main/gauss-siedel.py"
click node_gauss "https://github.com/medelbou3/analyse_numerique_tp/blob/main/elimunation-gs.py"
click node_lu_decomp "https://github.com/medelbou3/analyse_numerique_tp/blob/main/decompositioLU.py"
click node_lu_solve "https://github.com/medelbou3/analyse_numerique_tp/blob/main/decompositioLU.py"
click node_lagrange "https://github.com/medelbou3/analyse_numerique_tp/blob/main/interpolation_lagrange.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_jacobi,node_gs,node_user toneBlue
class node_gauss,node_lu_decomp,node_lu_solve toneAmber
class node_lagrange toneMint
class node_numpy,node_matplotlib toneIndigo
```

## Components

### Iterative solvers

- [Jacobi solver](https://github.com/medelbou3/analyse_numerique_tp/blob/main/jacobi.py): `jacobi.py`
- [Gauss–Seidel solver](https://github.com/medelbou3/analyse_numerique_tp/blob/main/gauss-siedel.py): `gauss-siedel.py`

### Direct solvers

- [Gauss elimination](https://github.com/medelbou3/analyse_numerique_tp/blob/main/elimunation-gs.py): `elimunation-gs.py`
- [LU decomposition](https://github.com/medelbou3/analyse_numerique_tp/blob/main/decompositioLU.py): `decompositioLU.py`
- [LU substitution](https://github.com/medelbou3/analyse_numerique_tp/blob/main/decompositioLU.py): `decompositioLU.py`

### Interpolation

- [Lagrange interpolation](https://github.com/medelbou3/analyse_numerique_tp/blob/main/interpolation_lagrange.py): `interpolation_lagrange.py`

### Other components

- **User**
- **NumPy**
- **Matplotlib**

## Connections

- User → Jacobi solver: runs
- User → Gauss–Seidel solver: runs
- User → Gauss elimination: runs
- User → LU decomposition: runs
- User → Lagrange interpolation: runs
- Jacobi solver → NumPy: computes with
- Jacobi solver → Matplotlib: plots with
- Gauss–Seidel solver → NumPy: computes with
- Gauss–Seidel solver → Matplotlib: plots with
- Gauss elimination → NumPy: computes with
- LU decomposition → LU substitution: produces factors for
- Lagrange interpolation → Matplotlib: plots with
- Lagrange interpolation → NumPy: samples with
