首页 文章

求解非方阵中的线性方程组

提问于
浏览
5

我有一个线性方程组,它构成了我需要解决的 NxM 矩阵(即非方形) - 或者至少试图解决以表明系统没有解决方案 . (更可能的是,没有解决方案)

据我所知,如果我的矩阵不是正方形(过度或不足),那么就找不到 exact solution - 我是否正确地想到这一点?有没有办法将我的矩阵转换为方形矩阵以计算确定性,应用高斯消元法,克莱默规则等?

值得一提的是,我的未知数的系数可能为零,因此在某些极少数情况下,可能会有零列或零行 .

4 回答

  • 4

    矩阵是否为正方形不是决定解空间的因素 . 它是矩阵的等级与确定该列的列数相比(参见the rank-nullity theorem) . 通常,对于线性方程组,您可以有零个,一个或无限多个解,这取决于它的秩和无效关系 .

    但是,要回答您的问题,您可以使用高斯消元法找到矩阵的秩,如果这表明存在解,则找到特定解x0和矩阵的零空间Null(A) . 然后,您可以将所有解决方案描述为x = x0 xn,其中xn表示Null(A)的任何元素 . 例如,如果矩阵是满秩,则其零空间将为空,并且线性系统将具有至多一个解 . 如果它的等级也等于行数,那么你有一个唯一的解决方案 . 如果零空间的维度为1,那么您的解决方案将是一条穿过x0的线,该线上的任何点都满足线性方程 .

  • 1

    好的,首先:非方形方程组 can 有一个精确的解决方案

    [ 1 0 0 ][x] = [1]
    [ 0 0 1 ][y]   [1]
             [z]
    

    显然有一个解决方案(实际上,它有一个一维解决方案系列:x = z = 1) . 即使系统超定而不是欠定,它仍然可以有一个解决方案:

    [ 1 0 ][x] = [1]
    [ 0 1 ][y]   [1]
    [ 1 1 ]      [2]
    

    (X = Y = 1) . 您可能希望首先查看最小二乘解决方法,如果存在,则找到确切的解决方案,如果不存在,则找到近似解决方案(在某种意义上) .

  • 1

    最小二乘推荐是非常好的 .

    我将补充一点,您可以尝试使用奇异值分解(SVD),它将为您提供最佳答案,并免费提供有关零空间的信息 .

  • 8

    Ax = b ,A有m列和n行 . 我们不能保证只有一个解决方案,在很多情况下是因为我们有 more equations than unknowns (m更大的n) . 这可能是因为我们实际需要的重复测量,因为我们对噪声的影响持谨慎态度 .

    如果我们发现我们找不到实际意味着的解决方案,那就是 no way to find b travelling the column space spanned by A . (因为x只采用了列的组合) .

    然而,我们可以要求A所跨越的空间中的点最接近b . 我们怎么能找到这样的观点呢? Walking on a plane the closest one can get to a point outside it ,是走到你正下方 . 从几何上讲,这是我们的视线垂直于平面的时候 .

    现在,我们可以有一个数学公式 . 垂直向量 reminds us of orthogonal projections . 这就是我们要做的 . 最简单的情况告诉我们做 a.T b . 但我们可以采取整个矩阵 A.T b .

    对于我们的等式,让我们将转换应用于 both sidesA.T Ax = A.T b . 最后一步是通过 inverse of A.T A 求解x:

    x = (A.T A)^-1 * A.T b

相关问题