【问题标题】:Finding the closest solution to a system of linear equations寻找线性方程组的最接近解
【发布时间】:2020-03-20 20:29:37
【问题描述】:

我有一个大小为 MxN 的矩阵 A,其中 M>N 和一个大小为 M 的向量 b。鉴于我知道方程组不可解,我想尽可能地解决 Ax=b 的问题。换句话说,我想找到 x 给我一个最接近 b 的向量。在网上看,似乎我可以将 A 减少到它的基础(线性独立向量),然后找到 b 在该基础上的投影。但是,我不确定如何在 python 中执行此操作。我知道这与 qr 分解有关,但我不确定下一步是什么。以及如何恢复 x。

【问题讨论】:

    标签: python matrix scipy linear-programming


    【解决方案1】:

    您可以通过np.linalg.lstsq 计算最小二乘解:

    x = np.linalg.lstsq(A, b)
    

    【讨论】:

    • 这与将向量 B 投影到矩阵 A 的基础上相同吗?它会给出相同的解决方案吗?
    • 它应该类似于取矩阵的pseudo-inverse,它基于奇异值分解(只保留最大值)。
    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 2016-01-08
    相关资源
    最近更新 更多