Calcolatore di prodotto scalare
Inserisca due vettori della stessa lunghezza e ottenga il prodotto scalare, entrambe le lunghezze e l’angolo tra loro: [1, 2, 3] e [4, −5, 6] danno 12 e un angolo acuto. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Primo testo
- 1, 2, 3
- Secondo testo
- 4, -5, 6
- N
- 3
- Prodotto scalare
- 12
- Modulo a
- 3,7416573868
- Modulo b
- 8,7749643874
Un calcolatore di prodotto scalare trasforma due vettori di uguale lunghezza nello scalare a·b, nelle lunghezze euclidee di ciascuno, nel coseno dell'angolo tra loro e nell'angolo stesso in radianti e in gradi. Inserisca il vettore a e il vettore b come array di numeri finiti con la stessa dimensione; lo strumento somma i prodotti componente per componente, prende le radici quadrate per i moduli e applica arccos al coseno limitato affinché l'errore in virgola mobile non inventi un angolo non valido. I vettori nulli rendono l'angolo indefinito, quindi anche quel caso viene rifiutato.
Cosa significano il prodotto scalare e l'angolo
Quel singolo numero reale è positivo quando i vettori formano un angolo acuto, zero quando sono ortogonali (perpendicolari) e negativo quando l'angolo è ottuso. Il modulo euclideo di un vettore è la radice quadrata del suo prodotto scalare con se stesso, quindi |a| è la radice di a·a e |b| quella di b·b. La definizione geometrica dice allora che a·b è uguale a |a| per |b| per cos θ, che si riordina in θ uguale ad arccos di (a·b) diviso per (|a||b|) quando entrambi i moduli sono strettamente positivi.
Docenti, programmatori grafici e professionisti del machine learning tengono a quell'identità: è la base di proiezione, normali di illuminazione, similarità del coseno e del controllo che due spigoli di una mesh siano perpendicolari. Questo strumento etichetta anche la relazione come ortogonale, parallela nello stesso verso, parallela nel verso opposto, acuta o ottusa, così può affermare l'orientamento senza ricalcolare soglie.
Lunghezze diverse sono un errore duro perché la somma dei prodotti è definita solo quando ogni componente ha un partner — riempire con zeri cambierebbe il significato geometrico e nasconderebbe bug di forma nel codice chiamante.
Consigli pratici, limiti e ricerche correlate
Mantenga entrambi i vettori della stessa lunghezza prima di chiamare; se i dati di origine a volte omettono uno zero finale, corregga la forma a monte invece di affidarsi a un riempimento silenzioso. Preferisca array numerici a stringhe preformattate quando controlla il client; le forme stringa sono accettate solo se ogni token rispetta un pattern numerico finito rigoroso.
Risultati quasi ortogonali in virgola mobile possono restare leggermente fuori da zero dopo l'arrotondamento — se serve un angolo retto rigoroso per i test, usi interi esatti come [1, 0] e [0, 1]. Questa pagina si rivolge a chi cerca un calcolatore di prodotto scalare, l'angolo tra due vettori o la similarità del coseno di elenchi di coordinate; non è uno strumento di prodotto vettoriale (che richiede tre dimensioni e restituisce un vettore), né un servizio di moltiplicazione di matrici, né un sistema di algebra simbolica.
Preferisca questa capacità quando ha già componenti numerici e serve a·b più θ; se la fonte è un problema testuale, estragga prima le due liste di coordinate.
Casi d'uso
Test unitari per codice grafico e fisico
Generi coppie ortogonali, acute, ottuse e parallele di riferimento più rifiuti deliberati per lunghezze diverse, per i valori attesi in motori di gioco e di fisica.
Similarità del coseno preliminare nelle pipeline
Job di dati convalidano lunghezze uguali di embedding, calcolano il prodotto scalare e l'angolo, poi si ramificano secondo relation prima di raggruppare, classificare o illuminare.
Domande frequenti
Cosa succede se i vettori hanno lunghezze diverse?
La somma componente per componente è definita solo quando entrambi i vettori condividono la stessa dimensione.
Come si calcola l'angolo tra vettori?
θ = arccos( (a·b) / (|a||b|) ), con cos θ limitato a [-1, 1] per sicurezza numerica. I risultati tornano in radianti e in gradi.
Il calcolatore di prodotto scalare è gratuito?
Lo strumento nel browser è gratuito e gira in locale.
Come si calcola il prodotto scalare di due vettori?
Moltiplichi le componenti nella stessa posizione e sommi i risultati. Per [1, 2, 3] e [4, −5, 6] si ottiene 4 − 10 + 18, cioè 12.
Cosa significa un prodotto scalare uguale a zero?
Significa che i due vettori sono perpendicolari e formano un angolo retto. Il calcolatore lo segnala come ortogonale e indica anche se l’angolo è acuto, ottuso o se i vettori sono paralleli.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"a": [
1,
2,
3
],
"b": [
4,
-5,
6
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.dot_product",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_abs | 1000000000000 |
max_dim | 1000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Quando i due vettori hanno lunghezze diverse l'API restituisce un errore chiaro invalid_input invece di riempire o troncare in silenzio — esattamente ciò di cui hanno bisogno correttori di compiti, pipeline grafiche e test unitari quando un bug di forma si nasconderebbe come un angolo sbagliato. Il percorso è aritmetica puramente deterministica — senza rete, senza semi casuali, senza orologio — così l'esecutore gratuito del browser e l'API prepagata restituiscono lo stesso JSON dopo un arrotondamento fisso a dodici decimali a ogni chiamata.
Cosa significano il prodotto scalare e l'angolo
Per due vettori reali a e b della stessa dimensione n, il prodotto scalare è la somma da i uguale a uno fino a n di a_i per b_i.
Come chiamare l'API e cosa riceve in risposta
Ciascuno deve essere un array non vuoto di numeri finiti, oppure una stringa che si interpreta come elenco tra parentesi quadre o separato da virgole o spazi di numeri finiti. Invii un corpo JSON con due campi obbligatori: a (alias u, vector_a, vec1) e b (alias v, vector_b, vec2). Le dimensioni devono coincidere esattamente e non superare mille componenti; ogni valore assoluto di componente deve restare entro un bilione affinché le somme di quadrati intermedie restino finite in precisione doppia IEEE sul Worker e nel browser. In caso di successo la risposta ripete a e b arrotondati, imposta n alla lunghezza condivisa, dot_product allo scalare arrotondato, magnitude_a e magnitude_b alle lunghezze euclidee arrotondate, cosine al cos θ limitato, angle_rad e angle_deg all'angolo in entrambe le unità, relation a una delle cinque etichette di orientamento, formula alla stringa dell'identità definente, message a un breve riepilogo e steps a un array ordinato di righe di sostituzione che può mostrare su una scheda o affermare nei test. La validazione fallita — campi assenti, ingresso non array, vettori vuoti, lunghezze diverse, componenti non finite, valori fuori dai limiti assoluti, dimensione oltre il massimo pubblicato, modulo nullo o intermedio non finito — restituisce invalid_input e non viene mai addebitata. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item e prezzo unitario marginale zero.
Consigli pratici, limiti e ricerche correlate
Nell'insegnamento abbini casi classici: [1, 2, 3] con [4, −5, 6] per un prodotto a segni misti e angolo acuto o ottuso a seconda della somma; [1, 0] con [0, 1] per una demo ortogonale pura; [1, 2] con [2, 4] per parallelo stesso verso; e lunghezze deliberatamente diverse come [1, 2] contro [1, 2, 3] per il percorso invalid_input. Le attività fallite che restituiscono invalid_input non consumano saldo prepagato, il che mantiene economici gli script esplorativi quando gli allievi inviano di proposito lunghezze diverse. I controlli andata-ritorno sono semplici: ricalcoli a mano la somma dei prodotti, confermi i moduli con una calcolatrice tascabile e verifichi che angle_deg sia circa centottanta su pi per angle_rad entro l'arrotondamento pubblicato a dodici decimali.
Casi di integrazione
Controlli compiti di geometria vettoriale
Gli studenti inseriscono due elenchi di coordinate da esercizi di libro e confrontano a·b, |a|, |b| e θ manoscritti con un risultato JSON deterministico prima di consegnare.
Domande tecniche
Cos'è il prodotto scalare di due vettori?
Per vettori a e b di uguale lunghezza, a·b è la somma di a_i per b_i su ogni componente. Geometricamente equivale a |a||b|cos θ.
Uno dei vettori può essere il vettore nullo?
No nel percorso dell'angolo. Un modulo nullo rende cos θ indefinito, quindi l'API rifiuta i vettori nulli con invalid_input.