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

问题描述 投票:6回答:4

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

据我了解,如果我的矩阵不是正方形(过度或未确定),那么就找不到确切的解决方案 - 我是否正确地思考这个?有没有办法将我的矩阵转换为方阵以计算确定性,应用高斯消元法,克莱默定律等?

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

math matrix linear-algebra equation linear
4个回答
8
投票

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

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


4
投票

好的,首先:非方形方程组可以有一个精确的解

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

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

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

(X = Y = 1)。您可能希望首先查看最小二乘解法,如果存在则找到精确解,如果不存在,则找出“最佳”近似解(在某种意义上)。


1
投票

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

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


1
投票

Ax = b为例,A有m列和n行。我们不能保证只有一个解决方案,这在很多情况下是因为我们有更多的方程而不是未知数(m更大的n)。这可能是因为我们真正想要的重复测量,因为我们对噪音的影响持谨慎态度。

如果我们观察到我们找不到实际意味着的解决方案,那么就无法找到b穿过A跨越的列空间(因为x只是采用了列的组合)。

然而,我们可以要求A所跨越的空间中的点最接近b。我们怎么能找到这样的观点呢?走在飞机上最近的一个可以到达它外面的一个点,就是走到你正下方。从几何上讲,这是我们的视线垂直于平面的时候。

现在,我们可以有一个数学公式。垂直向量提醒我们正交投影。这就是我们要做的。最简单的情况告诉我们做a.T b。但我们可以采取整个矩阵A.T b

对于我们的等式,让我们将转换应用于双方:A.T Ax = A.T b。最后一步是通过取A.T A的倒数求解x:

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

© www.soinside.com 2019 - 2024. All rights reserved.