Développement par cofacteurs
Développez un déterminant selon la ligne ou la colonne que vous choisissez et voyez chaque terme : dans l'exemple 3×3, la première ligne apporte 4, 5 et −60, soit −51 au total. Comparez les lignes pour trouver le chemin le plus court. 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.
Le développement par cofacteurs, aussi appelé développement de Laplace, est la définition récursive classique du déterminant : choisissez une ligne ou une colonne, multipliez chaque coefficient par son mineur signé, puis additionnez les résultats. Ce calculateur vous permet de choisir précisément la ligne ou la colonne de développement — une vraie différence pédagogique, car une ligne pleine de zéros rend le calcul trivial alors qu'une ligne dense l'allonge considérablement. Il renvoie le déterminant accompagné du détail complet du développement : chaque coefficient de la ligne choisie, son signe alterné, son cofacteur calculé à partir du mineur correspondant et sa contribution à la somme finale. Les matrices non carrées sont rejetées avec une erreur de validation claire, car le déterminant n'est défini que pour les matrices carrées.
Fonctionnement du développement par cofacteurs selon une ligne choisie
Le résultat est identique quelle que soit la ligne choisie, ce qui est précisément le théorème que les étudiants doivent vérifier en cours d'algèbre linéaire. Cette capacité applique la récursion littéralement. Pour la ligne ou la colonne choisie, elle calcule chaque déterminant mineur en développant à nouveau selon la première ligne de la sous-matrice, jusqu'au cas de base un par un où le déterminant est le coefficient unique, le cas deux par deux étant court-circuité vers la forme fermée ad moins bc.
Le résultat expose chaque quantité intermédiaire : chaque coefficient de la ligne de développement, le signe alterné déterminé par la parité de sa position, la valeur du cofacteur et la contribution coefficient fois cofacteur. Additionner les contributions à la main reproduit le déterminant renvoyé, ce qui rend l'outil utile pour auditer un travail plutôt que pour vérifier un simple nombre final. La récursion ayant un coût factoriel, les dimensions sont plafonnées à dix par dix ; les tailles de classe et de concours sont entièrement couvertes.
Pourquoi le choix de la ligne de développement compte
Le déterminant est invariant d'une ligne de développement à l'autre, mais pas le travail nécessaire pour le calculer à la main. Développer selon une ligne ou une colonne contenant des zéros élimine des termes entiers, car un coefficient nul ne contribue rien, quel que soit son cofacteur ; les manuels enseignent à chercher la ligne la plus creuse avant de toucher au moindre mineur, et ce calculateur démontre concrètement cette stratégie en vous laissant comparer un développement selon une ligne à un développement selon une colonne sur la même matrice.
Les enseignants s'en servent pour construire des corrigés pas à pas : le tableau terms est exactement la suite de produits qu'un étudiant doit écrire, donc les corrigés peuvent montrer chaque cofacteur plutôt qu'un simple nombre final. Les étudiants l'utilisent pour trouver leurs propres erreurs — quand un calcul à la main contredit l'outil, le détail par terme localise l'erreur sur un mineur précis au lieu d'imposer de tout recommencer.
Les programmeurs vérifiant une petite routine de déterminant en contexte de concours peuvent aussi utiliser la voie des cofacteurs comme oracle indépendant face aux implémentations fondées sur LU. Si vous cherchez un déterminant simple sans choix de ligne, une inversion de matrice, des valeurs propres ou des mineurs symboliques sur des polynômes, traitez-les comme des intentions distinctes plutôt que de surcharger cette page de développement par cofacteurs.
Cas d’usage
Corrigés de devoirs pas à pas
Développez det(A) selon la ligne ou la colonne choisie et obtenez chaque coefficient, signe, cofacteur et contribution, pour que les corrigés montrent tout le développement de Laplace, pas seulement le nombre final.
Exercices sur la stratégie des lignes de zéros
Comparez les développements selon différentes lignes et colonnes d'une même matrice pour démontrer pourquoi choisir la ligne comportant le plus de zéros minimise le calcul à la main.
Localisation des erreurs pour les étudiants
Quand un calcul à la main contredit le déterminant renvoyé, comparez le détail par terme avec le travail de l'étudiant pour trouver le mineur exact où l'erreur s'est produite.
Questions fréquentes
Le choix de la ligne ou de la colonne change-t-il le déterminant ?
Non. Le théorème de Laplace garantit la même valeur selon n'importe quelle ligne ou colonne. Le choix ne change que la quantité de calculs du développement — les lignes avec davantage de zéros coûtent moins cher, c'est pourquoi ce calculateur vous laisse choisir la ligne.
Que se passe-t-il si la matrice n'est pas carrée ?
Le déterminant n'est défini que pour les matrices carrées ; les lignes irrégulières ou les nombres de lignes et de colonnes inégaux sont rejetés avec un message nommant la ligne fautive.
Que contient le tableau terms ?
Un enregistrement par position de la ligne de développement : le coefficient de la matrice, sa ligne et sa colonne en base 1, le signe alterné issu de la parité de la position, le cofacteur (déterminant du mineur signé) et la contribution coefficient fois cofacteur. Le déterminant est la somme de toutes les contributions.
Quelle est la taille maximale de la matrice ?
n ≤ 10. Les mineurs sont développés récursivement, ce qui a un coût factoriel ; le plafond maintient le parcours de calcul gratuit sous la milliseconde. Les tailles de classe et de concours sont entièrement couvertes.
Combien cela coûte-t-il ?
L'outil du navigateur est gratuit et s'exécute localement.
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/math/cofactor-expansion-old \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"matrix":[[2,1,3],[0,4,1],[5,2,1]]}'const res = await fetch("https://api.kit.forhosting.com/math/cofactor-expansion-old", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"matrix": [
[
2,
1,
3
],
[
0,
4,
1
],
[
5,
2,
1
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/cofactor-expansion-old",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"matrix": [
[
2,
1,
3
],
[
0,
4,
1
],
[
5,
2,
1
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/cofactor-expansion-old", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"matrix":[[2,1,3],[0,4,1],[5,2,1]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"matrix":[[2,1,3],[0,4,1],[5,2,1]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/cofactor-expansion-old", 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
{
"matrix": [
[
2,
1,
3
],
[
0,
4,
1
],
[
5,
2,
1
]
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.cofactor_expansion_old",
"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
Fonctionnement du développement par cofacteurs selon une ligne choisie
Le théorème du développement de Laplace affirme que le déterminant d'une matrice n par n peut se calculer selon n'importe quelle ligne ou colonne : multipliez chaque coefficient a_ij de cette ligne par son cofacteur C_ij, où le cofacteur vaut (-1) à la puissance i plus j multiplié par le déterminant du mineur obtenu en supprimant la ligne i et la colonne j, puis additionnez les n produits. Toute l'arithmétique est du code en virgule flottante déterministe, sans graine aléatoire, sans horodatage et sans appel réseau : des entrées identiques produisent toujours un JSON identique à l'octet près.
Ce que vous envoyez et ce que vous recevez
Les coefficients nuls apparaissent toujours dans terms avec une contribution nulle : le développement reste entièrement auditable. Utilisez le formulaire gratuit du navigateur pour des vérifications rapides, puis appelez le même contrat depuis vos scripts pour des corrigés en masse. Envoyez un champ obligatoire nommé matrix : un tableau JSON imbriqué de lignes de nombres finis, ou une chaîne JSON encodant le même tableau imbriqué. Chaque ligne doit avoir la même longueur, et cette longueur doit égaler le nombre de lignes pour que la matrice soit carrée ; une grille de deux par trois échoue immédiatement avec invalid_input et un message nommant la ligne fautive. Deux champs optionnels pilotent le développement. axis, avec l'alias along, accepte row ou col et vaut row par défaut. index, avec l'alias line, est la position en base un de la ligne ou colonne de développement et vaut un par défaut ; ce doit être un entier entre un et n. Matrice absente, formes non tabulaires, lignes irrégulières, cellules non numériques, NaN, Infinity, grilles vides, dimensions supérieures à dix, axis inconnu ou index hors limites échouent tous avec invalid_input et ne sont pas facturés. En cas de succès, la réponse renvoie la matrice nettoyée avec un arrondi stable à douze chiffres significatifs, la dimension entière n, l'axis et l'index résolus, le déterminant en nombre, abs_determinant, sign valant moins un, zéro ou plus un, un drapeau booléen is_singular, le tableau terms complet avec entry, row, col, sign, cofactor et contribution pour chaque position de la ligne de développement, et une courte chaîne formula nommant la ligne utilisée. Les appels API réussis coûtent le tarif de base publié de $0.002 par élément ; les échecs de validation ne consomment aucun solde prépayé.
Pourquoi le choix de la ligne de développement compte
Cette capacité étant un moteur de calcul pur, la tarification API est le tarif de base publié de $0.002 par élément réussi, et une validation échouée ne consomme aucun solde.