对一个矩阵进行hessenberg变换后得到H,Q矩阵,现在怎么利用H,Q矩阵逆变换得到原矩阵?
可以利用H和Q矩阵逆变换得到原矩阵的步骤如下:
对H矩阵进行QR分解,得到新的Q矩阵和R矩阵。
将新的Q矩阵和R矩阵带入公式A = QR,得到新的矩阵A。
将新的矩阵A和Q矩阵带入公式A = QHQ-1,得到原矩阵。
import numpy as np
H = np.array([[3, 2, 1], [0, 4, 2], [0, 0, 5]])
Q = np.array([[0, 0, 1], [1, 0, 0], [0, 1, 0]])
_, R = np.linalg.qr(H)
A = Q @ R
original_matrix = A @ np.linalg.inv(Q)