Élimination de Gauss
Résolvez n équations linéaires à n inconnues par réduction des lignes : l’exemple à trois équations donne 2, 3 et −1 pour les inconnues, avec les pivots et les 2 échanges de lignes affichés. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
L'élimination de Gauss est l'algorithme classique pour résoudre un système linéaire carré A x égal à b : vous construisez la matrice augmentée, vous annulez les entrées sous chaque pivot, puis vous rétro-substituez pour retrouver chaque inconnue. Les exécutions réussies renvoient le vecteur solution x, l'ordre n, les valeurs de pivot utilisées, le nombre de lignes échangées et un indicateur unique.
Ce que fait l'élimination de Gauss et quand une solution unique existe
Écrivez le problème comme A multiplié par le vecteur colonne des inconnues égal au vecteur colonne des constantes. La matrice de coefficients A doit être carrée d'ordre n, de sorte que vous ayez n équations linéaires indépendantes à n inconnues. L'élimination de Gauss forme la matrice augmentée avec A à gauche et b à droite, puis introduit systématiquement des zéros sous la diagonale principale.
À l'étape k l'algorithme sélectionne la plus grande valeur absolue dans la colonne k à partir de la ligne k vers le bas (pivot partiel), échange cette ligne en position k si besoin, et utilise des multiples de lignes pour annuler chaque entrée sous le pivot. Géométrie et algèbre s'accordent : une solution unique existe précisément lorsque A est inversible, ce qui dans cette procédure signifie que chaque pivot reste loin de zéro.
Usage pratique, tarification, limites et livraison
Utilisez l'outil du navigateur lorsque vous voulez une résolution exacte immédiate pour vérifier un devoir, préparer un cours sur la réduction par lignes, ou déboguer un petit circuit, un bilan ou un modèle de contraintes légères sans installer un système de calcul formel. Il n'y a ni modèle de langage, ni service externe d'algèbre linéaire, ni aléatoire, donc la capacité est sûre à ancrer dans des contrôles d'intégration continue et des supports de cours reproductibles.
Préférez ce chemin gaussien général n×n lorsque votre système a plus de deux équations ; un assistant Cramer 2×2 dédié reste disponible pour enseigner les déterminants à deux lignes, mais les personnes qui cherchent l'élimination de Gauss attendent l'algorithme du titre. Gardez n modeste et les coefficients dans des magnitudes flottantes ordinaires pour que l'annulation ne domine pas ; avec des entiers de cours et des échelles d'ingénierie typiques le solveur est exact en double précision.
Entrées et sorties suivent les mêmes règles de rétention que les autres articles parse KIT, et une tâche échouée n'est jamais facturée après validation.
Cas d’usage
Vérification de devoirs et tutorat
Élèves et correcteurs confirment le vecteur solution de systèmes carrés, y compris les cas singuliers qui échouent correctement, sans installer de CAS local.
Petits modèles d'ingénierie et de circuits
Des scripts qui équilibrent des tensions nodales, des flux de masse ou des contraintes linéaires de deux à n paramètres appellent un oracle Ax=b déterministe au lieu d'embarquer une pile numérique lourde.
Questions fréquentes
Le solveur utilise-t-il le pivot partiel ?
Oui. À chaque étape il sélectionne la plus grande valeur absolue dans la colonne active sous la diagonale, échange les lignes si besoin, puis élimine. Cela améliore la stabilité numérique par rapport à l'élimination naïve.
Quelle est la taille maximale du système ?
n est limité à 32 pour que le coût reste dans l'enveloppe analytique tier-A. Les systèmes denses plus grands nécessitent une bibliothèque numérique dédiée ou une autre capacité.
Quand un système linéaire a-t-il une solution unique ?
Quand la matrice des coefficients est inversible, ce qui pendant l’élimination signifie qu’aucun pivot ne s’annule. Le résultat vous indique si la solution trouvée est unique.
Que montre le résultat en plus de la solution ?
Les pivots utilisés à chaque étape et le nombre de lignes échangées. Dans l’exemple à trois équations, le premier pivot vaut −3 et le calcul demande 2 échanges de lignes.
Puis-je résoudre un système avec plus d’équations que d’inconnues ?
Non. La matrice des coefficients doit être carrée : autant d’équations indépendantes que d’inconnues. Un système rectangulaire relève d’une autre méthode.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/algebra/gaussian-elimination \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}'const res = await fetch("https://api.kit.forhosting.com/algebra/gaussian-elimination", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/gaussian-elimination",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/gaussian-elimination", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/gaussian-elimination", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.gaussian_elimination",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Cette capacité exécute cette procédure avec pivot partiel sur une matrice de coefficients que vous fournissez comme un tableau JSON de lignes et un vecteur second membre de longueur correspondante. Lorsqu'un pivot est nul ou quasi nul dans une tolérance stricte, la matrice de coefficients est traitée comme singulière et la requête échoue avec invalid_input au lieu d'inventer une fausse solution unique.
Ce que fait l'élimination de Gauss et quand une solution unique existe
Après le passage avant le système est triangulaire supérieur : chaque entrée diagonale est un pivot, et la dernière équation n'implique que x_n. La rétro-substitution résout alors x_n, le réinjecte dans la ligne précédente pour x_{n-1}, et remonte jusqu'à x_1. Si une colonne n'offre aucun pivot utilisable, les lignes de A sont linéairement dépendantes — contraintes parallèles, sous-système sous-déterminé ou sur-contrainte inconsistante — et cette API refuse d'inventer un vecteur unique. Cela correspond aux attentes de la salle de classe et de la production : vous obtenez un x stable ou une erreur de singularité explicite, jamais une estimation silencieuse aux moindres carrés.
Comment appeler le solveur et lire la réponse
Pendant l'élimination, si le meilleur pivot absolu d'une colonne tombe sous un epsilon strict proche de 1e-12, la requête échoue avec un message indiquant que la matrice de coefficients est singulière et qu'aucune solution unique n'existe. La poussière numérique proche de zéro est nettoyée pour que les goldens et démos lisibles restent stables, tandis que les réels non entiers ordinaires conservent la double précision complète. Le pivot partiel améliore la fiabilité numérique par rapport à l'élimination naïve de gauche à droite sans échanges de lignes ; il ne change pas la solution mathématique lorsque A est bien conditionnée, mais réduit l'annulation catastrophique quand une petite entrée de tête deviendrait le pivot. Envoyez un corps JSON avec le champ obligatoire A, un tableau non vide de n lignes chacune de longueur n de nombres finis, et le champ obligatoire b, un tableau de n nombres finis. Les alias matrix, a et coeff sont acceptés pour A ; rhs, right_hand_side et constants pour b. L'ordre n doit être compris entre 1 et 32 inclus afin que les isolates du Worker restent dans une enveloppe de coût analytique prudente. Le moteur valide la forme rectangulaire, les longueurs concordantes et les cellules numériques finies ; champs manquants, lignes irrégulières, chaînes non numériques, NaN et Infinity échouent immédiatement avec invalid_input et ne sont pas facturés. En cas de succès la réponse inclut toujours x (le vecteur solution de longueur n), n, method égal à gaussian_elimination, pivots (les pivots diagonaux après sélection et échanges optionnels de lignes), row_swaps (combien de fois deux lignes ont été échangées) et unique à true. Branchez le endpoint dans des scripts qui parlent déjà JSON et ont besoin d'un contrat stable plutôt que de réimplémenter la logique de pivot dans chaque langage.
Usage pratique, tarification, limites et livraison
Utilisez l'API lorsqu'une plateforme de tutorat, un bac à sable d'entretiens de code, un carnet de laboratoire de physique ou un pipeline de tableurs a besoin de JSON stable pour de nombreux jeux de coefficients sous un seul contrat. Chaque requête réussie est un article facturable à $0.002 ; les échecs de validation et les matrices singulières ne consomment pas le solde. Les résultats sont entièrement déterministes : les mêmes A et b produisent toujours le même x, pivots et row_swaps pour un environnement flottant donné.
Cas d'intégration
Enseigner la réduction par lignes et le pivot
Les pages de cours affichent pivots et row_swaps pour relier le pivot partiel et la rétro-substitution au même vecteur solution unique.
Questions techniques
Comment résoudre Ax égal à b par élimination de Gauss avec cette API ?
Envoyez du JSON avec la matrice carrée A (tableau de n lignes de longueur n) et le vecteur b de longueur n. La réponse renvoie x, n, pivots, row_swaps et unique lorsqu'une solution unique existe.
Que se passe-t-il si la matrice de coefficients est singulière ?
Lorsqu'un pivot nul ou quasi nul apparaît pendant l'élimination (dans un epsilon strict), la requête échoue avec invalid_input et n'est pas facturée — il n'y a pas de solution unique.
Le solveur d'élimination de Gauss est-il gratuit ?
L'outil navigateur s'exécute gratuitement sur votre appareil. Les appels API utilisent le solde KIT prépayé à $0.002 par article réussi ; les échecs de validation et les systèmes singuliers ne sont pas facturés.