剡浩博 2021-06-26 14:26 采纳率: 0%
浏览 18

求解一下hessenberg的逆变换怎么用代码实现

对一个矩阵进行hessenberg变换后得到H,Q矩阵,现在怎么利用H,Q矩阵逆变换得到原矩阵?

  • 写回答

1条回答 默认 最新

  • babyai997 2022-12-23 11:15
    关注

    可以利用H和Q矩阵逆变换得到原矩阵的步骤如下:
    对H矩阵进行QR分解,得到新的Q矩阵和R矩阵。
    将新的Q矩阵和R矩阵带入公式A = QR,得到新的矩阵A。
    将新的矩阵A和Q矩阵带入公式A = QHQ-1,得到原矩阵。
    import numpy as np

    假设我们已经得到了H和Q矩阵

    H = np.array([[3, 2, 1], [0, 4, 2], [0, 0, 5]])
    Q = np.array([[0, 0, 1], [1, 0, 0], [0, 1, 0]])

    对H矩阵进行QR分解

    _, R = np.linalg.qr(H)

    计算新的矩阵A

    A = Q @ R

    计算原矩阵

    original_matrix = A @ np.linalg.inv(Q)

    评论

报告相同问题?

悬赏问题

  • ¥15 解决websocket跟c#客户端通信
  • ¥30 Python调用dll文件输出Nan重置dll状态
  • ¥15 浮动div的高度控制问题。
  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴