Calculateur de produit scalaire
Saisissez deux vecteurs de même dimension et obtenez leur produit scalaire, leurs normes et l’angle qu’ils forment : [1, 2, 3] et [4, −5, 6] donnent 12 et un angle aigu. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Premier texte
- 1, 2, 3
- Second texte
- 4, -5, 6
- N
- 3
- Produit scalaire
- 12
- Module a
- 3,7416573868
- Module b
- 8,7749643874
Un calculateur de produit scalaire transforme deux vecteurs de même longueur en le scalaire a·b, les longueurs euclidiennes de chacun, le cosinus de l'angle entre eux et l'angle lui-même en radians et en degrés. Saisissez le vecteur a et le vecteur b comme tableaux de nombres finis de même dimension ; l'outil somme les produits composante par composante, prend les racines carrées pour les modules et applique arccos au cosinus borné afin que l'erreur flottante n'invente pas un angle invalide. Les vecteurs nuls rendent l'angle indéfini, ce cas est donc aussi rejeté.
Ce que signifient le produit scalaire et l'angle
Ce unique nombre réel est positif lorsque les vecteurs forment un angle aigu, nul lorsqu'ils sont orthogonaux (perpendiculaires) et négatif lorsque l'angle est obtus. Le module euclidien d'un vecteur est la racine carrée de son produit scalaire avec lui-même, donc |a| égale la racine de a·a et |b| celle de b·b. La définition géométrique dit alors que a·b égale |a| fois |b| fois cos θ, ce qui se réordonne en θ égale arccos de (a·b) divisé par (|a||b|) dès que les deux modules sont strictement positifs.
Enseignants, programmeurs graphiques et praticiens de l'apprentissage automatique tiennent à cette identité : elle fonde la projection, les normales d'éclairage, la similarité cosinus et la vérification que deux arêtes d'un maillage sont perpendiculaires. Cet outil étiquette aussi la relation comme orthogonale, parallèle même sens, parallèle sens opposé, aiguë ou obtuse, afin que vous puissiez affirmer l'orientation sans redériver des seuils.
Des longueurs différentes sont une erreur dure car la somme des produits n'est définie que si chaque composante a un partenaire — combler avec des zéros changerait le sens géométrique et masquerait des bogues de forme dans le code appelant.
Conseils pratiques, limites et recherches liées
Gardez les deux vecteurs de même longueur avant d'appeler ; si vos données sources omettent parfois un zéro final, corrigez la forme en amont plutôt que de compter sur un comblement silencieux. Préférez les tableaux numériques aux chaînes préformatées lorsque vous contrôlez le client ; les formes chaînes ne sont acceptées que si chaque jeton suit un motif numérique fini strict.
Des résultats presque orthogonaux en flottant peuvent rester légèrement hors de zéro après arrondi — si vous avez besoin d'un angle droit strict pour des tests, utilisez des entiers exacts tels que [1, 0] et [0, 1]. Cette page vise qui cherche un calculateur de produit scalaire, l'angle entre deux vecteurs ou la similarité cosinus de listes de coordonnées ; ce n'est pas un outil de produit vectoriel (qui exige trois dimensions et renvoie un vecteur), ni un service de multiplication de matrices, ni un système d'algèbre symbolique.
Préférez cette capacité lorsque vous avez déjà des composantes numériques et avez besoin de a·b plus θ ; si la source est un problème rédigé, extrayez d'abord les deux listes de coordonnées.
Cas d’usage
Tests unitaires pour code graphique et physique
Générez des paires orthogonales, aiguës, obtuses et parallèles de référence plus des rejets volontaires pour longueurs inégales, destinés aux valeurs attendues des moteurs de jeu et de physique.
Similarité cosinus préalable dans les pipelines
Des jobs de données valident des longueurs d'embeddings égales, calculent le produit scalaire et l'angle, puis branchent selon relation avant regroupement, classement ou éclairage.
Questions fréquentes
Que se passe-t-il si les vecteurs ont des longueurs différentes ?
La somme composante par composante n'est définie que lorsque les deux vecteurs partagent la même dimension.
Comment l'angle entre vecteurs est-il calculé ?
θ = arccos( (a·b) / (|a||b|) ), avec cos θ borné à [-1, 1] pour la sécurité flottante. Les résultats sont renvoyés en radians et en degrés.
Comment calculer le produit scalaire de deux vecteurs ?
Multipliez les composantes de même rang puis additionnez les résultats. Pour [1, 2, 3] et [4, −5, 6], cela donne 4 − 10 + 18, soit 12.
Que signifie un produit scalaire nul ?
Il signifie que les deux vecteurs sont perpendiculaires et forment un angle droit. Le calculateur l’indique comme orthogonal et précise aussi si l’angle est aigu, obtus ou si les vecteurs sont parallèles.
Pourquoi un vecteur nul est-il refusé ?
Un vecteur nul n’a pas de direction, donc l’angle avec un autre vecteur n’est pas défini. Plutôt que d’afficher un angle inventé, le calculateur refuse ce cas.
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/dot-product \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":[1,2,3],"b":[4,-5,6]}'const res = await fetch("https://api.kit.forhosting.com/algebra/dot-product", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": [
1,
2,
3
],
"b": [
4,
-5,
6
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/dot-product",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": [
1,
2,
3
],
"b": [
4,
-5,
6
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/dot-product", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":[1,2,3],"b":[4,-5,6]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":[1,2,3],"b":[4,-5,6]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/dot-product", 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": [
1,
2,
3
],
"b": [
4,
-5,
6
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.dot_product",
"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 | 1000 |
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
Lorsque les deux vecteurs ont des longueurs différentes l'API renvoie une erreur claire invalid_input au lieu de combler ou tronquer en silence — exactement ce dont ont besoin les correcteurs de devoirs, les pipelines graphiques et les tests unitaires lorsqu'un bogue de forme se cacherait derrière un angle faux. Le chemin est une arithmétique purement déterministe — sans réseau, sans graines aléatoires, sans horloge — de sorte que l'exécuteur gratuit du navigateur et l'API prépayée renvoient le même JSON après un arrondi fixe à douze décimales à chaque appel.
Ce que signifient le produit scalaire et l'angle
Pour deux vecteurs réels a et b de même dimension n, le produit scalaire est la somme de i égal à un jusqu'à n de a_i fois b_i.
Comment appeler l'API et ce que vous recevez
Chacun doit être un tableau non vide de nombres finis, ou une chaîne interprétée comme une liste entre crochets ou séparée par des virgules ou des espaces de nombres finis. Envoyez un corps JSON avec deux champs obligatoires : a (alias u, vector_a, vec1) et b (alias v, vector_b, vec2). Les dimensions doivent coïncider exactement et ne pas dépasser mille composantes ; chaque valeur absolue de composante doit rester dans un billion pour que les sommes de carrés intermédiaires restent finies en précision double IEEE sur le Worker et dans le navigateur. En cas de succès la réponse répète a et b arrondis, fixe n à la longueur partagée, dot_product au scalaire arrondi, magnitude_a et magnitude_b aux longueurs euclidiennes arrondies, cosine au cos θ borné, angle_rad et angle_deg à l'angle dans les deux unités, relation à l'une des cinq étiquettes d'orientation, formula à la chaîne de l'identité définissante, message à un court résumé et steps à un tableau ordonné de lignes de substitution que vous pouvez montrer sur une fiche ou affirmer dans des tests. Une validation échouée — champs manquants, entrée non tableau, vecteurs vides, longueurs inégales, composantes non finies, valeurs hors limites absolues, dimension au-dessus du maximum publié, module nul ou intermédiaire non fini — renvoie invalid_input et n'est jamais facturée. Le tarif est un forfait $0.002 par requête réussie avec unité item et prix unitaire marginal nul.
Conseils pratiques, limites et recherches liées
Lors de l'enseignement, associez des cas classiques : [1, 2, 3] avec [4, −5, 6] pour un produit à signes mixtes et un angle aigu ou obtus selon la somme ; [1, 0] avec [0, 1] pour une démo orthogonale pure ; [1, 2] avec [2, 4] pour parallèle même sens ; et des longueurs volontairement inégales comme [1, 2] versus [1, 2, 3] pour le chemin invalid_input. Les tâches échouées qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient bon marché les scripts exploratoires lorsque les apprenants envoient volontairement des longueurs inégales. Les contrôles aller-retour sont simples : recalculez à la main la somme des produits, confirmez les modules avec une calculatrice de poche et vérifiez que angle_deg vaut environ cent quatre-vingts sur pi fois angle_rad dans l'arrondi publié à douze décimales.
Cas d'intégration
Contrôles de devoirs de géométrie vectorielle
Les élèves saisissent deux listes de coordonnées d'exercices de manuel et comparent leur a·b, |a|, |b| et θ manuscrits à un résultat JSON déterministe avant de rendre.
Questions techniques
Qu'est-ce que le produit scalaire de deux vecteurs ?
Pour des vecteurs a et b de même longueur, a·b est la somme de a_i fois b_i sur chaque composante. Géométriquement il égale |a||b|cos θ.
L'un des vecteurs peut-il être le vecteur nul ?
Non pour le chemin de l'angle. Un module nul rend cos θ indéfini, donc l'API rejette les vecteurs nuls avec invalid_input.
Le calculateur de produit scalaire est-il gratuit ?
L'outil navigateur est gratuit et s'exécute localement. Les appels API utilisent le solde KIT prépayé à $0.002 par requête réussie ; les échecs ne sont jamais facturés.