QR-разложение в NumPy
qr из linalg
даёт ортогональную таблицу Q
и верхнюю треугольную R.
Их произведение восстанавливает
исходные данные.
Проверим формы и восстановление
на таблице 2 на 2; в R
под главной диагональю нули:
import numpy as np
a = np.array([[1., 2.], [3., 4.]])
q, r = np.linalg.qr(a)
print(q.shape, r.shape) # выведет (2, 2) (2, 2)
print(q @ r) # выведет [[1. 2.]
# [3. 4.]]
Для таблицы
[[2., 1.], [1., 1.]] выведите
формы двух множителей разложения.
Для той же таблицы выведите произведение множителей и сравните с исходной таблицей.