Calculateur de polynôme caractéristique
Calculez le polynôme caractéristique de toute matrice carrée jusqu'à 12×12 : la matrice de lignes 2, 1 et 1, 2 donne λ² − 4λ + 3, avec sa trace de 4 et son déterminant de 3 affichés comme contrôle. 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.
Elle renvoie également la trace et le déterminant à titre de vérifications intégrées, ainsi qu'une chaîne polynomiale lisible, prête à insérer dans un rapport. Vous pouvez envoyer la matrice sous forme de tableaux imbriqués ou de lignes de texte brut, et vous obtenez à chaque fois la même réponse déterministe. Une entrée non carrée ou non numérique est rejetée avec une erreur claire au lieu d'un résultat absurde silencieux.
Ce que le polynôme caractéristique révèle réellement
Le polynôme caractéristique d'une matrice carrée A, noté p(λ) = det(λI − A), est l'empreinte la plus compacte qu'une matrice puisse avoir. Ses racines sont exactement les valeurs propres de A, comptées avec leur multiplicité, si bien que presque toute question sur le comportement spectral — stabilité d'un système dynamique, fréquences de résonance d'une structure, croissance asymptotique d'une récurrence — commence par l'écriture de ce polynôme.
Deux coefficients sont célèbres en propre : celui de λⁿ⁻¹ est l'opposé de la trace de A, et le terme constant vaut le déterminant au signe près, selon que la dimension est paire ou impaire. Le théorème de Cayley–Hamilton ajoute que toute matrice annule son propre polynôme caractéristique, ce qui est l'astuce permettant de calculer des puissances élevées et des exponentielles de matrices sans diagonaliser. Calculer p(λ) à la main revient à développer un déterminant dont la diagonale contient λ, exercice propice aux erreurs au-delà de 2×2.
Ce point d'accès effectue le développement numériquement et de façon déterministe pour toute matrice carrée jusqu'à 12×12, et vous remet les coefficients sous une forme directement exploitable par un solveur de racines, un outil symbolique ou votre propre chaîne de traitement.
Comment les coefficients sont calculés
Plutôt que de développer symboliquement det(λI − A) — ce qui produit un gonflement des expressions intermédiaires et reste lent en général — le solveur utilise la récurrence de Faddeev–LeVerrier, un algorithme classique qui retrouve chaque coefficient uniquement à l'aide de multiplications matricielles et de traces. En partant de la matrice identité, chaque étape multiplie par A, prend la trace et divise par l'opposé de l'indice de l'étape, produisant un nouveau coefficient par itération : n multiplications pour une matrice n×n, soit une arithmétique en O(n³) au total.
La récurrence est exacte en arithmétique exacte et bien comportée en virgule flottante pour les tailles modestes acceptées par cet outil. Deux vérifications indépendantes accompagnent chaque réponse : le deuxième coefficient doit être l'opposé de la trace, et le dernier doit égaler le déterminant au signe près ; ces deux valeurs dérivées sont renvoyées avec le vecteur des coefficients pour que vous puissiez les contrôler face à votre propre calcul.
Format d'entrée, erreurs et limites
Vous pouvez envoyer la matrice de deux façons. Chaque élément doit être un nombre fini de valeur absolue au plus 10¹², et la dimension est plafonnée à 12×12 — au-delà, la croissance des coefficients en virgule flottante rend toute réponse numérique générique trompeuse, et il vaut mieux de toute façon utiliser un système de calcul formel dédié. Le point d'accès est un calcul pur : rien n'est stocké, rien n'est envoyé à un tiers, et la même entrée produit toujours la même sortie.
Les erreurs ne sont jamais facturées ; seuls les calculs réussis comptent dans votre consommation.
Cas d’usage
Alimenter un solveur de racines de polynômes
Obtenez les coefficients de p(λ) par programmation et transmettez-les à une étape de recherche de racines pour obtenir les valeurs propres de matrices plus grandes que le cas 2×2 traitable analytiquement.
Vérifier devoirs et exercices de manuels
Vérifiez un polynôme caractéristique calculé à la main pour des matrices 3×3 ou 4×4, les contrôles de la trace et du déterminant confirmant chaque coefficient.
Analyser des systèmes dynamiques linéaires
Extrayez le polynôme caractéristique d'une matrice d'état pour étudier la stabilité, car la position des racines de p(λ) détermine si le système converge ou diverge.
Questions fréquentes
Combien cela coûte-t-il ?
Le calcul est également gratuit dans votre navigateur sur cette page — même code, même résultat.
Que renvoie-t-on exactement ?
Les coefficients de p(λ) = det(λI − A) sous forme de tableau, le coefficient dominant en premier (toujours 1, puisque le polynôme est unitaire), plus le polynôme sous forme de chaîne, la trace, le déterminant et une trace pas à pas de la récurrence.
Pourquoi ma matrice a-t-elle été rejetée ?
La matrice doit être carrée : chaque ligne doit contenir exactement autant d'éléments qu'il y a de lignes.
Quel algorithme est utilisé ?
La récurrence de Faddeev–LeVerrier, qui calcule chaque coefficient à partir de produits matriciels et de traces en une arithmétique O(n³), sans développement symbolique du déterminant.
Ma matrice est-elle stockée quelque part ?
Non. La matrice est traitée en mémoire puis détruite ; seul le résultat polynomial est renvoyé.
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/characteristic-polynomial \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"matrix":[[2,1],[1,2]]}'const res = await fetch("https://api.kit.forhosting.com/math/characteristic-polynomial", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"matrix": [
[
2,
1
],
[
1,
2
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/characteristic-polynomial",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"matrix": [
[
2,
1
],
[
1,
2
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/characteristic-polynomial", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"matrix":[[2,1],[1,2]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"matrix":[[2,1],[1,2]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/characteristic-polynomial", 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
],
[
1,
2
]
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.characteristic_polynomial",
"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.
Limites
max_abs | 1000000000000 |
max_dim | 12 |
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
L'API de calcul du polynôme caractéristique prend une matrice carrée — jusqu'à 12×12 — et renvoie les coefficients de p(λ) = det(λI − A), le coefficient dominant en premier, calculés par la récurrence de Faddeev–LeVerrier. Le calcul est gratuit dans votre navigateur sur cette page, et coûte $0.002 par requête lorsque vous appelez l'API depuis votre propre code.
Comment les coefficients sont calculés
Tous les nombres sont arrondis à douze décimales fixes, ce qui garantit que la version gratuite du navigateur et l'API payante renvoient un JSON identique octet par octet sur toute machine.
Format d'entrée, erreurs et limites
Les clients API passent généralement des tableaux JSON imbriqués — un tableau de lignes, chaque ligne étant un tableau de nombres — tandis que le formulaire web accepte du texte collé avec une ligne par rangée (ou des rangées séparées par des points-virgules) et des éléments séparés par des virgules ou des espaces ; les deux formes sont validées de manière identique. La matrice doit être carrée : si une ligne a une longueur différente du nombre de lignes, la requête est rejetée avec une erreur invalid_input indiquant exactement quelle ligne pose problème, car une matrice rectangulaire n'a pas de polynôme caractéristique en ce sens.
Questions techniques
Les résultats sont-ils exacts ?
Pour des matrices entières de petite taille, les coefficients sont généralement des entiers exacts après arrondi ; toutes les valeurs sont arrondies à douze décimales pour que le navigateur et l'API concordent toujours octet par octet.