Реалізація Розкладу Матриці в Python
Свайпніть щоб показати меню
Техніки розкладу матриць є ключовими інструментами чисельної лінійної алгебри, що забезпечують розв'язання систем рівнянь, аналіз стійкості та обернення матриць.
Виконання LU-розкладу
LU-розклад розділяє матрицю на:
L: нижню трикутну матрицю;U: верхню трикутну матрицю;P: матрицю перестановок для врахування перестановок рядків.
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)}')
Чому це важливо: LU-розклад широко використовується в чисельних методах для ефективного розв'язання лінійних систем та обернення матриць.
Виконання QR-розкладу
QR-розклад представляє матрицю у вигляді добутку:
Q: Ортогональна матриця (зберігає кути/довжини);R: Верхня трикутна матриця.
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)}')
Чому це важливо: QR часто використовується для розв'язання задач найменших квадратів і є більш чисельно стійким, ніж LU, у деяких випадках.
1. Яка роль матриці перестановки P у LU-розкладі?
2. Припустимо, потрібно розв'язати систему A⋅x=b за допомогою QR-розкладу. Яку зміну в коді потрібно внести?
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 4. Розділ 9
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 1.96Секція 4. Розділ 9