Calculateur du noyau
Les lignes (1, 2, 3) et (2, 4, 6) sont de rang 1 : leur noyau demande donc deux vecteurs de base, (−2, 1, 0) et (−3, 0, 1). Saisissez une matrice ligne par ligne et obtenez la base du noyau, la nullité et le rang. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Un calculateur du noyau répond à la question d'algèbre linéaire Ax égal zéro : quels vecteurs x de l'espace réel de dimension n une matrice A, donnée comme lignes d'entrées numériques, envoie-t-elle à l'origine ? Cet outil construit une base de ce noyau en réduisant la matrice sous forme échelonnée réduite par lignes, en lisant les colonnes libres comme variables libres, et en assemblant une solution particulière par variable libre, de sorte que chaque tableau renvoyé satisfait A v égal zéro. Lorsque la matrice a un rang-colonne plein, le noyau est trivial et la base est la liste vide ; lorsque le rang est inférieur au nombre de colonnes, le théorème du rang affirme que la nullité vaut n moins le rang, et autant de vecteurs indépendants reviennent sous forme de tableaux. Les contrôles de devoirs, les oracles d'examen, les noyaux de théorie du contrôle et les tests unitaires de solveurs d'étudiants ont besoin de cette même base déterministe sans lancer un système d'algèbre computationnelle.
Ce qu'est le noyau et comment une base naît de la RREF
Le noyau, aussi appelé espace nul, d'une matrice réelle m par n A est l'ensemble de tous les vecteurs colonnes x de R^n tels que A x égale le vecteur nul de R^m. C'est toujours un sous-espace : il contient l'origine et est clos pour l'addition et la multiplication par un scalaire. Sa dimension est la nullité de A.
Le théorème du rang affirme que le rang de A plus la nullité de A égale n, le nombre de colonnes ; ainsi une matrice de rang-colonne plein a un noyau trivial dont le seul membre est le vecteur nul, tandis qu'une matrice de rang déficient a un noyau de dimension positive. Ce calculateur trouve une base par élimination de Gauss-Jordan avec pivot partiel jusqu'à la forme échelonnée réduite par lignes. Chaque un de tête est un pivot ; les colonnes sans pivot sont libres.
La liste de tableaux obtenue engendre le noyau et est linéairement indépendante par construction, ce qui est exactement la définition scolaire d'une base. Les entrées dont la valeur absolue tombe à ou sous un epsilon fixe après l'élimination sont traitées comme des zéros exacts afin que l'annulation flottante n'invente pas de pivots fantômes ni ne masque une vraie colonne libre.
Enseignants et correcteurs automatiques tiennent au rejet du non-fini autant qu'aux vecteurs : une cellule qui n'est pas un nombre fini n'est pas une entrée de matrice, et une coercition silencieuse cacherait cette erreur.
Conseils pratiques, limites et recherches voisines
Gardez chaque entrée dans la plage absolue publiée et préférez envoyer des tableaux de nombres imbriqués lorsque vous contrôlez le client. Les pivots quasi nuls après annulation flottante sont écartés par le test d'epsilon afin que le bruit n'enfle pas le rang sur des lignes quasi dépendantes, ce qui rétrécirait le noyau annoncé.
Cette page vise les personnes qui cherchent un calculateur du noyau, le noyau d'une matrice ou une base de ker A en ligne ; ce n'est pas un outil de décomposition en valeurs singulières, ni un solveur de valeurs propres, ni un chercheur de solution particulière de Ax égal b. Préférez cette capacité lorsque vous avez déjà des lignes numériques et n'avez besoin que d'une base du noyau ; si la source est un énoncé, assemblez d'abord la matrice des coefficients.
Les contrôles aller-retour sont simples : multipliez chaque vecteur de base renvoyé par la matrice d'origine et confirmez un zéro numérique, et confirmez que retirer une ligne indépendante ne change pas le noyau tandis que retirer une colonne le peut. Utilisez des outils voisins de rang et de forme échelonnée réduite lorsque vous avez besoin de ces objets intermédiaires sur leurs propres pages.
Cas d’usage
Contrôle des devoirs sur les bases du noyau
Les étudiants collent des lignes de coefficients du manuel et comparent la base des solutions particulières, le rang et les colonnes libres à un résultat déterministe avant de rendre.
Tests unitaires pour du code d'algèbre linéaire
Générez des noyaux triviaux, unidimensionnels et de dimension supérieure de référence, plus des rejets délibérés d'entrées non finies, pour des valeurs attendues de katas.
Contrôles préalables du noyau en modèles et commande
Les pipelines affirment qu'une matrice de conception ou de contraintes a la nullité attendue avant de résoudre des systèmes homogènes ou d'inspecter des directions inobservables.
Questions fréquentes
Comment la base du noyau est-elle calculée ici ?
L'outil réduit une copie de travail de la matrice sous forme échelonnée réduite par lignes avec pivot partiel, puis construit une solution particulière par colonne libre. Ces vecteurs forment une base de ker(A).
Que se passe-t-il si une entrée n'est pas un nombre fini ?
NaN, Infinity, cellules vides et jetons non numériques ne sont pas des entrées de matrice et ne sont jamais facturés.
Que signifie une base vide ?
Le noyau est trivial et la nullité vaut zéro.
Cela résout-il Ax = b pour un second membre non nul ?
Non. Il ne renvoie qu'une base du noyau homogène. Pour une solution particulière d'un système inhomogène, utilisez un solveur de matrice augmentée.
Qu'est-ce que la nullité et quel lien a-t-elle avec le rang ?
La nullité est le nombre de vecteurs dans la base du noyau. Le théorème du rang affirme que le rang plus la nullité donne le nombre de colonnes : une matrice de 3 colonnes et de rang 1 a une nullité de 2.
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/null-space \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"rows":[[1,2,3],[2,4,6]]}'const res = await fetch("https://api.kit.forhosting.com/math/null-space", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"rows": [
[
1,
2,
3
],
[
2,
4,
6
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/null-space",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"rows": [
[
1,
2,
3
],
[
2,
4,
6
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/null-space", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"rows":[[1,2,3],[2,4,6]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"rows":[[1,2,3],[2,4,6]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/null-space", 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
{
"rows": [
[
1,
2,
3
],
[
2,
4,
6
]
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.null_space",
"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_rows | 32 |
max_cols | 32 |
max_abs | 1000000000000 |
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
Toute entrée doit être un nombre fini : NaN, Infinity et les jetons non numériques sont rejetés avec invalid_input au lieu d'être coercés en silence. Le chemin est une arithmétique pure avec un epsilon fixe et un arrondi à douze décimales, de sorte que l'exécuteur gratuit du navigateur et l'API prépayée renvoient le même JSON à chaque appel.
Ce qu'est le noyau et comment une base naît de la RREF
Pour chaque colonne libre j l'algorithme construit une solution particulière : il fixe la variable libre x_j à un, les autres variables libres à zéro, et lit les variables liées comme les entrées RREF changées de signe de cette colonne libre. Les champs publiés pivot_columns et free_columns vous permettent d'affirmer le chemin de l'algorithme dans des tests ou des fiches sans redériver l'escalier à la main.
Comment appeler l'API et ce qui revient
Associez la réponse à votre propre traceur si vous avez besoin d'un croquis du noyau dans R^2 ou R^3 ; ce point de terminaison ne renvoie que la base algébrique et n'émet ni graphiques ni prose pas à pas au-delà des champs structurés. Envoyez un corps JSON avec un champ obligatoire rows, avec les alias matrix et A. La valeur doit être un tableau imbriqué de lignes de même longueur de nombres finis — par exemple deux lignes de trois nombres chacune — afin que le formulaire web peigne un éditeur de lignes plutôt qu'une boîte JSON brute. Toute entrée doit être un nombre fini dont la valeur absolue reste dans la limite publiée d'un billion, et la matrice entière peut avoir au plus trente-deux lignes et trente-deux colonnes pour que le travail du Worker et du navigateur reste interactif. En cas de succès la réponse assigne basis à un tableau de tableaux, un vecteur du noyau par colonne libre de gauche à droite ; nullity au nombre de ces vecteurs ; rank au décompte des pivots ; row_count et col_count aux dimensions ; trivial à si le noyau n'est que l'origine ; pivot_columns et free_columns à des indices de base zéro ; et matrix à un écho arrondi de l'original. Une validation échouée — rows absent, lignes vides, toute entrée non finie, magnitudes au-dessus de la limite, dimensions au-dessus des plafonds ou longueurs de lignes incohérentes — renvoie invalid_input et n'est jamais facturée. Le tarif est un $0.002 forfaitaire par requête réussie avec unité item.
Conseils pratiques, limites et recherches voisines
En enseignant, couplez les exemples : la classique matrice deux par trois dont la seconde ligne est le double de la première a rang un et un noyau bidimensionnel engendré par moins deux un zéro et moins trois zéro un ; l'identité deux par deux a un noyau trivial et une base vide ; une matrice nulle deux par deux a une nullité deux et la base canonique du plan ; et une cellule avec un jeton non numérique démontre le chemin dur d'invalid_input pour une entrée qui n'est pas un nombre fini. Les tâches en échec qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui garde les scripts exploratoires peu coûteux lorsque les apprenants envoient exprès une cellule non finie.
Questions techniques
Combien coûte le calculateur du noyau ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.