ForHosting KIT · Matematica

Diagonalizzare una matrice

Per la matrice con righe (2, 1) e (1, 2) ottiene gli autovalori 3 e 1, la matrice diagonale D e la matrice P degli autovettori, così che A = P·D·P⁻¹. Se una matrice non è diagonalizzabile, glielo segnala chiaramente. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto

Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.

La calcolatrice di diagonalizzazione delle matrici prende una matrice quadrata e ne restituisce la decomposizione spettrale completa: gli autovalori, la matrice diagonale D costruita a partire da essi e la matrice di cambiamento di base P, le cui colonne sono gli autovettori corrispondenti, in modo che valga A = P·D·P⁻¹. La diagonalizzazione trasforma problemi difficili in problemi semplici — potenze di matrici, esponenziali di matrici, equazioni differenziali e catene di Markov diventano operazioni elemento per elemento una volta che la matrice è scritta nella sua base di autovettori. Invece di sviluppare a mano il polinomio caratteristico o di installare una libreria numerica, Lei invia gli elementi e riceve la decomposizione in un'unica chiamata deterministica, con ogni valore arrotondato alla precisione che preferisce. Lo stesso codice viene eseguito gratuitamente nel Suo browser su questa pagina, così può verificare una matrice incollandola e pagare solo quando automatizza il flusso di lavoro.

Cosa significa diagonalizzare una matrice

Una matrice quadrata A è diagonalizzabile quando possiede abbastanza autovettori indipendenti da formare una base — n per una matrice n×n. In tal caso si può scrivere A = P·D·P⁻¹, dove D è una matrice diagonale che contiene gli autovalori e P è la matrice di cambiamento di base le cui colonne sono gli autovettori, nello stesso ordine. Questa decomposizione è uno dei risultati centrali dell'algebra lineare, perché le matrici diagonali sono banali da manipolare: elevare D alla cinquantesima potenza significa semplicemente elevare alla cinquantesima ogni elemento della diagonale.

La calcolatrice di diagonalizzazione delle matrici calcola questa fattorizzazione direttamente dagli elementi che Lei fornisce. Restituisce gli autovalori ordinati dal più grande al più piccolo, la matrice diagonale D e la matrice completa P, così può verificare personalmente l'identità A·P = P·D oppure inserire i pezzi nel passaggio successivo del Suo calcolo.

Se la matrice non è quadrata la richiesta viene respinta, e se ha autovalori complessi o non dispone di un insieme completo di autovettori reali lo strumento lo segnala chiaramente invece di restituire numeri che sembrano plausibili ma sono sbagliati.

Come funziona il calcolo

L'algoritmo è completamente deterministico — nessun punto di partenza casuale, nessun numero di iterazioni che cambia da un'esecuzione all'altra — quindi la stessa matrice produce sempre la stessa decomposizione. Le matrici simmetriche, che compaiono costantemente in statistica, fisica e ottimizzazione, vengono trattate con iterazioni cicliche di Jacobi: una sequenza di rotazioni piane che annulla gli elementi fuori diagonale accumulando al contempo le rotazioni nella matrice degli autovettori.

Il metodo di Jacobi è lento in teoria per matrici enormi, ma è estremamente accurato per le dimensioni piccole e medie che questo strumento accetta, e gestisce senza problemi gli autovalori ripetuti, dove altri metodi faticano. Le matrici generali non simmetriche vengono trattate con un'iterazione QR con spostamento di Wilkinson per estrarre gli autovalori, seguita da un'iterazione inversa per recuperare un autovettore per ciascuno di essi.

Prima di restituire il risultato, lo strumento verifica che la matrice degli autovettori P sia invertibile; se le colonne sono quasi parallele la matrice è difettiva — come la classica [[1,1],[0,1]] — e non può essere diagonalizzata, quindi la richiesta fallisce con un errore chiaro anziché con una risposta silenziosamente errata. Ogni valore in uscita viene arrotondato alla precisione decimale richiesta, da 0 a 15 cifre, con dieci come valore predefinito.

Dove la utilizzano i team

La diagonalizzazione compare ovunque un sistema lineare evolva nel tempo. Gli ingegneri che calcolano il comportamento a lungo termine di una catena di Markov hanno bisogno degli autovalori per sapere se la catena converge e con quale velocità; l'autovalore dominante e il suo autovettore forniscono direttamente lo stato stazionario. Gli sviluppatori che lavorano con relazioni di ricorrenza o equazioni alle differenze accoppiate diagonalizzano la matrice di transizione per ottenere una soluzione in forma chiusa invece di iterare.

Nella grafica e nella geometria, decomporre una trasformazione rivela gli assi lungo i quali essa dilata lo spazio. I team di dati la usano come componente di base: l'analisi delle componenti principali è la decomposizione spettrale di una matrice di covarianza, e i metodi spettrali sui grafi partono dagli autovettori di un laplaciano.

Calcolare rapidamente le potenze di una matrice

Ottenga una sola volta P e D, poi calcoli A^k come P·D^k·P⁻¹ — ogni autovalore viene semplicemente elevato alla k-esima potenza.

Analizzare una catena di Markov

Estragga l'autovalore dominante e il suo autovettore per trovare la distribuzione stazionaria e la velocità di convergenza.

Verificare compiti e lavori di corso

Confronti una diagonalizzazione svolta a mano con un riferimento deterministico prima di consegnarla.

Quanto costa?

È inoltre gratuito da eseguire nel Suo browser su questa pagina, con risultati identici.

Quali matrici sono accettate?

Qualsiasi matrice quadrata di numeri reali e finiti fino a 50×50.

E se la mia matrice non è diagonalizzabile?

Le matrici con autovalori complessi, o le matrici difettive prive di n autovettori reali indipendenti, vengono respinte con un errore chiaro anziché con una risposta approssimata.

Come sono ordinati i risultati?

Gli autovalori vengono restituiti dal più grande al più piccolo, e le colonne della matrice di cambiamento di base P seguono lo stesso ordine.

Come posso verificare la risposta?

Moltiplichi A·P e P·D — devono essere uguali. Per le matrici simmetriche le colonne di P sono inoltre ortonormali, quindi P⁻¹ è uguale alla trasposta di P.

La mia matrice viene memorizzata da qualche parte?

No. Viene elaborata in memoria e scartata; viene restituita solo la decomposizione.

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.

POSThttps://api.kit.forhosting.com/math/diagonalize-matrix

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/math/diagonalize-matrix \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"matrix":[[2,1],[1,2]]}'
{
  "matrix": [
    [
      2,
      1
    ],
    [
      1,
      2
    ]
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.diagonalize_matrix",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_n50
max_abs_entry1000000000000000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Dove la utilizzano i team

Poiché la funzionalità viene eseguita sulla nostra rete edge globale senza che nulla venga memorizzato dopo la risposta, si inserisce in modo pulito anche nelle pipeline automatizzate — uno script può inviare matrici nell'ambito di un job notturno al costo di $0.002 per 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: entrambi sono alimentati dallo stesso modulo.

Leggi la documentazione completa del KIT →