Math 在非方矩阵中求解线性方程组

Math 在非方矩阵中求解线性方程组,math,matrix,linear-algebra,linear-equation,Math,Matrix,Linear Algebra,Linear Equation,我有一个线性方程组,它组成了一个矩阵(即非方矩阵),我需要求解,或者至少尝试求解,以表明系统没有解。(很可能没有解决方案) 据我所知,如果我的矩阵不是平方的(上定或下定),那么就找不到精确解-我这样想对吗?有没有办法把我的矩阵转换成一个方阵,以便计算确定值,应用高斯消去法,克拉默法则,等等 值得一提的是,我的未知数的系数可能为零,因此在某些罕见的情况下,可能有一个零列或零行。好的,首先:非平方方程组可以有一个精确解 [ 1 0 0 ][x] = [1] [ 0 0 1 ][y] [1]

我有一个线性方程组,它组成了一个矩阵(即非方矩阵),我需要求解,或者至少尝试求解,以表明系统没有解。(很可能没有解决方案)


据我所知,如果我的矩阵不是平方的(上定或下定),那么就找不到精确解-我这样想对吗?有没有办法把我的矩阵转换成一个方阵,以便计算确定值,应用高斯消去法,克拉默法则,等等


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

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

[ 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)。你可能想先看看最小二乘解法,如果有,它能找到精确解;如果没有,它能找到“最佳”近似解。

你的矩阵是否为平方,并不是决定解空间的因素。是矩阵的秩与列数的比较决定了这一点(请参阅)。通常,根据线性方程组的秩和零度关系,可以有零个、一个或无限多个解


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

最小二乘法建议是一个非常好的建议


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

使用
Ax=b
,a具有m列和n行。我们不能保证有一个且只有一个解,这在许多情况下是因为我们的方程比未知数多。这可能是因为重复测量,这是我们真正想要的,因为我们对噪音的影响很谨慎

如果我们观察到,我们无法找到一个解决方案,这实际上意味着,无法找到b在a所跨越的列空间中移动。(因为x只取列的组合)

然而,我们可以要求A所跨越的空间中距离b最近的点。我们怎么能找到这样的一点呢在飞机上行走最接近飞机外某一点的方法是一直走到飞机正下方。从几何学上讲,这是我们的视线轴垂直于平面的时候

这就是我们可以得到的数学公式。垂直向量使我们想起正交投影。这就是我们要做的。最简单的例子告诉我们做
a.T b
。但是我们可以取整个矩阵
A.tb

对于我们的方程,让我们将变换应用于两侧:
A.T Ax=A.T b
。 最后一步是通过取A.T A的
A的逆来求解x:


x=(A.ta)^-1*A.tb

由于这是一个计算站点,可能还值得指出的是,您应该在高斯消去法中使用全旋转,以使您的方法抵抗舍入误差。“据我所知,如果我的矩阵不是平方的(过度或欠确定)那么,没有确切的解决办法——我认为这是正确的吗?“考虑2x+3y=0;4x+6y=0;6x+9y=0。我投票将此问题作为离题关闭,因为这是一个属于不同SE站点的数学问题。我有点认为此问题应该作为离题关闭。