Calcolatore di autovalori e autovettori
La matrice con righe (2, 1) e (1, 2) ha autovalori 3 e 1, ciascuno con il suo autovettore unitario. Inserisca una matrice quadrata fino a 50×50 e ottenga tutte le coppie proprie reali, dalla più grande, senza sviluppare polinomi a mano. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Il calcolatore di autovalori e autovettori prende una matrice quadrata — fino a 50×50, inserita riga per riga — e restituisce l'insieme completo delle sue coppie proprie reali: ogni autovalore insieme al corrispondente autovettore, normalizzato a lunghezza unitaria e ordinato dall'autovalore più grande al più piccolo. Le coppie proprie sono l'impronta di una trasformazione lineare: indicano quali direzioni lascia invariate e di quanto ne dilata ciascuna, e sono alla base di tutto, dall'analisi delle vibrazioni e delle verifiche di stabilità a PageRank, alle catene di Markov e all'analisi delle componenti principali. Invece di sviluppare a mano il polinomio caratteristico o di installare una libreria numerica, Lei invia gli elementi e riceve le coppie proprie in una sola chiamata deterministica, arrotondate alla precisione che sceglie. Lo stesso modulo viene eseguito gratuitamente nel Suo browser su questa pagina, quindi paga solo quando automatizza il flusso di lavoro.
Cosa rivela una coppia propria
Un autovettore di una matrice quadrata A è un vettore non nullo che A si limita a scalare: A·v = λ·v per un certo scalare λ, l'autovalore. Geometricamente, un autovettore punta lungo un asse che la trasformazione non ruota né deforma — lo allunga o lo comprime soltanto, di un fattore λ.
La coppia (λ, v) è detta coppia propria, e il calcolatore di autovalori e autovettori restituisce esattamente questo: un record per autovalore contenente l'autovalore stesso e il corrispondente autovettore unitario, in modo che la corrispondenza non possa mai essere fraintesa. Le coppie sono ordinate dall'autovalore più grande al più piccolo, il che pone in prima posizione la direzione dominante del sistema — quella che governa il comportamento a lungo termine nei processi iterativi.
Gli autovalori negativi codificano un'inversione di direzione, un autovalore nullo rivela un nucleo non banale e una matrice non invertibile, e gli autovalori ripetuti segnalano simmetrie del problema. Se la matrice non è quadrata, la richiesta viene rifiutata subito, perché le coppie proprie sono definite solo per matrici quadrate; e se la matrice ha autovalori complessi, lo strumento lo dice invece di inventare numeri reali.
Come funziona il calcolo
L'algoritmo è completamente deterministico — nessun vettore iniziale casuale, nessun numero di iterazioni che vari da un'esecuzione all'altra — quindi la stessa matrice restituisce sempre le stesse coppie proprie, byte per byte. Le matrici simmetriche, che compaiono costantemente nell'analisi della covarianza, nella meccanica strutturale e nell'ottimizzazione, vengono elaborate con spazzate cicliche di Jacobi: una sequenza fissa di rotazioni piane che annulla gli elementi fuori diagonale accumulando le rotazioni nella matrice degli autovettori.
Jacobi non è il metodo più veloce in teoria, ma è notevolmente accurato alle dimensioni piccole e medie che questo strumento accetta, e gestisce con disinvoltura gli autovalori ripetuti, dove i metodi delle potenze più semplici falliscono. Le matrici generali non simmetriche vengono trattate con un'iterazione QR con shift di Wilkinson per estrarre gli autovalori, seguita dall'iterazione inversa sulla matrice originale per recuperare un autovettore per autovalore.
Prima di rispondere, lo strumento verifica che gli autovettori recuperati siano linearmente indipendenti; in caso contrario — come con la classica matrice difettosa [[1,1],[0,1]] — la richiesta fallisce con un errore chiaro anziché con una risposta sbagliata dall'aria plausibile. Ogni autovalore e ogni elemento di autovettore viene arrotondato alla precisione decimale richiesta, da 0 a 15 cifre, con dieci come valore predefinito.
Dove si usano le coppie proprie
Le coppie proprie compaiono ovunque un sistema lineare evolva o vibri. In ingegneria, le frequenze naturali di una struttura sono le radici quadrate degli autovalori del suo sistema rigidezza-massa, e gli autovettori sono le forme modali — il modo in cui la struttura si muove a ciascuna frequenza. Nella scienza dei dati, l'analisi delle componenti principali non è altro che la decomposizione propria di una matrice di covarianza: gli autovettori sono le direzioni principali e gli autovalori misurano quanta varianza cattura ciascuna.
La ricerca web deve la sua esistenza a una coppia propria: PageRank è l'autovettore dominante della matrice dei link del web. L'analisi delle catene di Markov funziona allo stesso modo — l'autovalore dominante indica se la catena converge e il suo autovettore è lo stato stazionario.
Casi d'uso
Trovare le componenti principali
Invii una matrice di covarianza e legga direttamente le coppie proprie: gli autovettori sono le direzioni principali, gli autovalori la varianza spiegata.
Analizzare vibrazioni e stabilità
Estragga le frequenze naturali e le forme modali di un sistema meccanico dalla sua matrice di rigidezza, oppure verifichi se un sistema lineare è stabile dal segno dei suoi autovalori.
Verificare compiti e ricerca
Verifichi una decomposizione propria fatta a mano contro un riferimento deterministico prima di consegnarla, con la precisione che controlla Lei.
Domande frequenti
Quanto costa?
È anche gratuita da eseguire nel Suo browser su questa pagina, con risultati identici.
Quali matrici sono accettate?
Qualsiasi matrice quadrata di numeri reali finiti fino a 50×50.
E se la mia matrice ha autovalori complessi?
Le matrici con autovalori complessi, e le matrici difettose senza un insieme completo di autovettori reali indipendenti, vengono rifiutate con un errore chiaro anziché con una risposta approssimata.
Come sono ordinate le coppie proprie?
Dall'autovalore più grande al più piccolo. Ogni coppia propria porta il proprio autovettore, normalizzato a lunghezza unitaria, quindi l'abbinamento è inequivocabile.
Come verifico una risposta?
Moltiplichi la matrice per ciascun autovettore restituito: il risultato deve essere uguale all'autovalore per quell'autovettore (A·v = λ·v), entro la precisione di arrotondamento scelta.
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/math/eigenvalue-eigenvector \
-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/eigenvalue-eigenvector", {
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/eigenvalue-eigenvector",
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/eigenvalue-eigenvector", 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/eigenvalue-eigenvector", 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
{
"matrix": [
[
2,
1
],
[
1,
2
]
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.eigenvalue_eigenvector",
"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_n | 50 |
max_abs_entry | 1000000000000000 |
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
Dove si usano le coppie proprie
Poiché la capacità viene eseguita sul nostro edge globale senza archiviare nulla dopo la risposta, si inserisce in modo pulito anche nelle pipeline automatizzate: uno script può inviare matrici come parte di un job notturno per $0.002 a chiamata, mentre una persona verifica le stesse matrici gratuitamente nel browser con risultati identici byte per byte. Questa parità tra lo strumento web gratuito e l'API a pagamento è voluta — lo stesso modulo alimenta entrambi i canali.