Autovalori e Autovettori
Scorri per mostrare il menu
Autovalori e autovettori sono concetti fondamentali nell'algebra lineare, ampiamente utilizzati per analizzare come le trasformazioni lineari influenzano i dati. Data una matrice quadrata A, un autovettore è un vettore non nullo x che, quando viene moltiplicato per A, produce un vettore che ha la stessa direzione di x, ma viene scalato per un fattore costante chiamato autovalore.
La relazione tra la matrice, l'autovettore e l'autovalore è:
Ax=λx
- A è una matrice quadrata che rappresenta una trasformazione lineare;
- x è un vettore colonna non nullo (l'autovettore);
- λ è uno scalare (l'autovalore).
Questa formula significa che applicare A a x allunga o riduce x del fattore λ, ma non ne cambia la direzione. Autovalori e autovettori rivelano proprietà chiave delle matrici, come stabilità, assi principali e modi caratteristici, che sono essenziali nelle applicazioni scientifiche e ingegneristiche.
1234567891011121314import numpy as np from scipy.linalg import eig # Define a square matrix A = np.array([[4, 2], [1, 3]]) # Compute eigenvalues and eigenvectors eigenvalues, eigenvectors = eig(A) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors (each column corresponds to an eigenvector):") print(eigenvectors)
Dopo aver calcolato autovalori e autovettori, spesso si desidera verificare che soddisfino l'equazione fondamentale A x = λ x. Utilizzando i risultati di scipy.linalg.eig, è possibile controllare questa relazione per ogni coppia autovalore-autovettore moltiplicando la matrice originale per un autovettore e confrontandolo con il prodotto dell'autovalore e dello stesso autovettore.
1234567891011121314151617181920212223242526import numpy as np from scipy.linalg import eig # Define a square matrix A = np.array([[4, 2], [1, 3]]) # Compute eigenvalues and eigenvectors eigenvalues, eigenvectors = eig(A) # Select the first eigenvalue and eigenvector idx = 0 lambda_ = eigenvalues[idx] x = eigenvectors[:, idx] # Compute A @ x and lambda * x Ax = A @ x lambdax = lambda_ * x print("A @ x:") print(Ax) print("\nλ * x:") print(lambdax) # Check if the two results are approximately equal print("\nAre they approximately equal?", np.allclose(Ax, lambdax))
Autovalori e autovettori trovano applicazione in numerosi ambiti della fisica e dell'ingegneria. In fisica, sono fondamentali per l'analisi di sistemi di equazioni differenziali, nella meccanica quantistica (per la determinazione degli stati energetici) e nello studio delle vibrazioni o dei modi normali nei sistemi meccanici. In ingegneria, vengono utilizzati nell'analisi della stabilità, nell'analisi delle componenti principali (PCA) per la riduzione dei dati e nella progettazione di strutture per prevedere le frequenze di risonanza. Comprendere autovalori e autovettori consente di risolvere sistemi complessi, ottimizzare processi e interpretare il comportamento sottostante dei fenomeni reali.
1. Quale funzione di SciPy viene utilizzata per calcolare autovalori e autovettori?
2. Qual è il significato degli autovalori nelle applicazioni scientifiche?
3. Come puoi verificare che un vettore sia un autovettore di una matrice?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione