Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Matriisihajotelman Toteuttaminen Pythonilla | Lineaarialgebran Perusteet
Matematiikka Data-analytiikalle

Matriisihajotelman Toteuttaminen Pythonilla

Pyyhkäise näyttääksesi valikon

Matriisien hajotelutekniikat ovat keskeisiä työkaluja numeerisessa lineaarialgebrassa, mahdollistaen yhtälöryhmien ratkaisun, stabiilisuusanalyysin ja matriisin käänteislaskennan.

LU-hajotelman suorittaminen

LU-hajotelma jakaa matriisin seuraaviin osiin:

  • L: alemmatriangulaarinen matriisi;
  • U: ylemmatriangulaarinen matriisi;
  • P: permutaatiomatriisi rivinvaihtoja varten.
123456789101112
import 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ääntämiseen tehokkaasti.

QR-hajotelman suorittaminen

QR-hajotelma jakaa matriisin seuraaviin osiin:

  • Q: Ortogonaalinen matriisi (säilyttää kulmat/pituudet);
  • R: Yläkolmiomatriisi.
123456789101112
import 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ä Ax=bA·x = b käyttäen QR-hajotelmaa. Minkä koodimuutoksen sinun tulisi tehdä?

question mark

Mikä on permutaatiomatriisi P:n rooli LU-hajotelmassa?

Valitse oikea vastaus

question mark

Oletetaan, että sinun täytyy ratkaista yhtälöryhmä Ax=bA·x = b käyttäen QR-hajotelmaa. Minkä koodimuutoksen sinun tulisi tehdä?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 9

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Matriisihajotelman Toteuttaminen Pythonilla

Matriisien hajotelutekniikat ovat keskeisiä työkaluja numeerisessa lineaarialgebrassa, mahdollistaen yhtälöryhmien ratkaisun, stabiilisuusanalyysin ja matriisin käänteislaskennan.

LU-hajotelman suorittaminen

LU-hajotelma jakaa matriisin seuraaviin osiin:

  • L: alemmatriangulaarinen matriisi;
  • U: ylemmatriangulaarinen matriisi;
  • P: permutaatiomatriisi rivinvaihtoja varten.
123456789101112
import 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ääntämiseen tehokkaasti.

QR-hajotelman suorittaminen

QR-hajotelma jakaa matriisin seuraaviin osiin:

  • Q: Ortogonaalinen matriisi (säilyttää kulmat/pituudet);
  • R: Yläkolmiomatriisi.
123456789101112
import 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.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 9
some-alt