Implementering av Matrisuppdelning i Python
Svep för att visa menyn
Matrixuppdelningstekniker är grundläggande verktyg inom numerisk linjär algebra och möjliggör lösningar för ekvationssystem, stabilitetsanalys och invertering av matriser.
Utförande av LU-uppdelning
LU-uppdelning delar upp en matris i:
L: nedre triangulär matris;U: övre triangulär matris;P: permutationsmatris för att hantera radbyten.
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)}')
Varför detta är viktigt: LU-dekomposition används ofta inom numeriska metoder för att lösa linjära system och invertera matriser effektivt.
Utförande av QR-dekomposition
QR-dekomposition faktorisera en matris i:
Q: Ortogonal matris (bevarar vinklar/längder);R: Övre triangulär matris.
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)}')
Varför detta är viktigt: QR används ofta för att lösa minsta kvadrat-problem och är mer numerärt stabil än LU i vissa situationer.
1. Vilken roll har permutationsmatrisen P i LU-dekomposition?
2. Antag att du behöver lösa systemet A⋅x=b med hjälp av QR-dekomposition. Vilken kodändring behöver du göra?
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 4. Kapitel 9
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 1.96Avsnitt 4. Kapitel 9