Implementering af Matrixdekomposition i Python
Stryg for at vise menuen
Matrixdekompositionsteknikker er essentielle værktøjer i numerisk lineær algebra, der muliggør løsninger af ligningssystemer, stabilitetsanalyse og matrixinversion.
Udførelse af LU-dekomposition
LU-dekomposition opdeler en matrix i:
L: nedre trekantsmatrix;U: øvre trekantsmatrix;P: permutationsmatrix til at tage højde for rækkebytninger.
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)}')
Hvorfor dette er vigtigt: LU-dekomponering anvendes i stor udstrækning i numeriske metoder til effektiv løsning af lineære ligningssystemer og inversion af matricer.
Udførelse af QR-dekomponering
QR-dekomponering faktorerer en matrix i:
Q: Ortogonal matrix (bevarer vinkler/længder);R: Øvre trekantsmatrix.
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)}')
Hvorfor dette er vigtigt: QR bruges ofte til at løse mindste kvadraters problemer og er mere numerisk stabil end LU i visse situationer.
1. Hvad er permutationmatricen P's rolle i LU-dekomponering?
2. Antag, at du skal løse systemet A⋅x=b ved hjælp af QR-dekomponering. Hvilken kodeændring skal du foretage?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Implementering af Matrixdekomposition i Python
Matrixdekompositionsteknikker er essentielle værktøjer i numerisk lineær algebra, der muliggør løsninger af ligningssystemer, stabilitetsanalyse og matrixinversion.
Udførelse af LU-dekomposition
LU-dekomposition opdeler en matrix i:
L: nedre trekantsmatrix;U: øvre trekantsmatrix;P: permutationsmatrix til at tage højde for rækkebytninger.
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)}')
Hvorfor dette er vigtigt: LU-dekomponering anvendes i stor udstrækning i numeriske metoder til effektiv løsning af lineære ligningssystemer og inversion af matricer.
Udførelse af QR-dekomponering
QR-dekomponering faktorerer en matrix i:
Q: Ortogonal matrix (bevarer vinkler/længder);R: Øvre trekantsmatrix.
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)}')
Hvorfor dette er vigtigt: QR bruges ofte til at løse mindste kvadraters problemer og er mere numerisk stabil end LU i visse situationer.
Tak for dine kommentarer!