Matriisihajotelman Toteuttaminen Pythonilla
Pyyhkäise näyttääksesi valikon
Matriisin hajotelutekniikat ovat keskeisiä työkaluja numeerisessa lineaarialgebrassa, mahdollistaen yhtälöryhmien ratkaisun, stabiilisuusanalyysin ja matriisin käänteislaskennan.
LU-hajotelman suorittaminen
LU-hajotelma jakaa matriisin seuraavasti:
L: alakolmiomatriisi;U: yläkolmiomatriisi;P: permutaatiomatriisi rivinvaihtoja varten.
123456789101112import numpy as np from scipy.linalg import lu # Define a 2x2 matrix A A = np.array([[6, 3], [4, 3]]) # Perform LU decomposition: P, L, U such that P @ A = L @ U P, L, U = lu(A) # Verify that P @ A equals L @ U by reconstructing A from L and U print(f'L * U:\n{np.dot(L, U)}')
Miksi tämä on tärkeää: LU-hajotelmaa käytetään laajasti numeerisissa menetelmissä lineaaristen yhtälöryhmien ratkaisemiseen ja matriisien käänteislaskentaan tehokkaasti.
QR-hajotelman suorittaminen
QR-hajotelma esittää matriisin kahden tekijän tulona:
Q: Ortogonaalinen matriisi (säilyttää kulmat/pituudet);R: Yläkolmiomatriisi.
123456789101112import numpy as np from scipy.linalg import qr # Define a 2x2 matrix A A = np.array([[4, 3], [6, 3]]) # Perform QR decomposition: Q (orthogonal), R (upper triangular) Q, R = qr(A) # Verify that Q @ R equals A by reconstructing A from Q and R print(f'Q * R:\n{np.dot(Q, R)}')
Miksi tämä on tärkeää: QR-hajotelmaa käytetään yleisesti pienimmän neliösumman ongelmien ratkaisemiseen, ja se on numeerisesti vakaampi kuin LU tietyissä tilanteissa.
1. Mikä on permutaatiomatriisi P:n rooli LU-hajotelmassa?
2. Oletetaan, että sinun täytyy ratkaista yhtälöryhmä A⋅x=b käyttäen QR-hajotelmaa. Minkä koodimuutoksen sinun tulisi tehdä?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme