Ominaisarvot ja Ominaisvektorit
Pyyhkäise näyttääksesi valikon
Ominaisarvot ja ominaisvektorit ovat keskeisiä käsitteitä lineaarialgebrassa, ja niitä käytetään laajasti analysoimaan, miten lineaariset muunnokset vaikuttavat dataan. Kun annetaan neliömatriisi A, ominaisvektori on nollasta poikkeava vektori x, joka kerrottuna matriisilla A tuottaa vektorin, joka osoittaa samaan suuntaan kuin x, mutta on kerrottu vakiolla, jota kutsutaan ominaisarvoksi.
Matriisin, ominaisvektorin ja ominaisarvon välinen suhde on:
Ax=λx
- A on neliömatriisi, joka edustaa lineaarista muunnosta;
- x on nollasta poikkeava sarakevektori (ominaisvektori);
- λ on skalaariluku (ominaisarvo).
Tämä kaava tarkoittaa, että kun A vaikuttaa x:ään, se venyttää tai kutistaa x:ää kertoimella λ, mutta ei muuta sen suuntaa. Ominaisarvot ja ominaisvektorit paljastavat matriisien keskeisiä ominaisuuksia, kuten stabiilisuuden, pääakselit ja karakteristiset tilat, jotka ovat olennaisia tieteellisissä ja teknisissä sovelluksissa.
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)
Kun ominaisarvot ja ominaisvektorit on laskettu, halutaan usein varmistaa, että ne täyttävät perusyhtälön A x = λ x. Käyttämällä scipy.linalg.eig-funktion tuloksia voit tarkistaa tämän suhteen jokaiselle ominaisparille kertomalla alkuperäisen matriisin ominaisvektorilla ja vertaamalla sitä ominaisarvon ja kyseisen ominaisvektorin tuloon.
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))
Ominaisarvoilla ja ominaisvektoreilla on laaja käyttöalue fysiikassa ja tekniikassa. Fysiikassa ne ovat keskeisiä differentiaaliyhtälöiden järjestelmien analysoinnissa, kvanttimekaniikassa (energiatasojen löytämisessä) sekä värähtelyjen ja normaalimuotojen tutkimisessa mekaanisissa järjestelmissä. Tekniikassa niitä käytetään vakausanalyysissä, pääkomponenttianalyysissä (PCA) datan pienentämiseen sekä rakenteiden suunnittelussa resonanssitaajuuksien ennustamiseen. Ominaisarvojen ja ominaisvektoreiden ymmärtäminen mahdollistaa monimutkaisten järjestelmien ratkaisemisen, prosessien optimoinnin ja reaalimaailman ilmiöiden käyttäytymisen tulkinnan.
1. Mitä SciPy-funktiota käytetään ominaisarvojen ja ominaisvektorien laskemiseen?
2. Mikä on ominaisarvojen merkitys tieteellisissä sovelluksissa?
3. Miten voit todentaa, että vektori on matriisin ominaisvektori?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme