关于行列式是否有解,以及如何求解
要判断一个行列式是否有解,我们先从一个简单的行列式看起。假设我们有一个方程式: \[ \begin{align} & a_{11} x_1 + a_{12} x_2 = b_1 \\ & a_{21} x_1 + a_{22} x_2 = b_2 \end{align} \] 我们可以这样认为,一个方程代表的是一条直线,所以这样的方程组代表了两条直线。在一个平面上,两条直线的关系可以是完全重合、平行、以及相交。因此,很直观可以看到,当两条直线平行或者重合的时候,有无穷多的点可以满足方程等式。而当两条直线相交的时候,就很明显有且仅有一个解。
接下来看第二个方程组: \[ \begin{align} & a_{11} x_1 + a_{12} x_2 + a_{13} x_3 = b_1 \\ & a_{21} x_1 + a_{22} x_2 + a_{23} x_3 = b_2 \end{align} \] 因为是三个未知数,这样的方程确定的是一个平面。现在这里提供了两个平面,因此,不论两个平面是平行还是相交,我们都会得到无穷多的解。
如果现在我们的方程组是 \[ \begin{align} & a_{11} x_1 + a_{12} x_2 + a_{13} x_3 = b_1 \\ & a_{21} x_1 + a_{22} x_2 + a_{23} x_3 = b_2 \\ & a_{31} x_1 + a_{32} x_2 + a_{33} x_3 = b_3 \end{align} \] 那么现在我们有了三个平面,我们可以想到,三个平面可以相交于一个点,也可以相交于一条直线,也可以完全重叠,或者完全平行,也可以两个平面平行与另一个平面相交于两条直线等等。
因此我们一样会发现,这样的方程组可能有一个解,或者无穷多解。
如果现在是四维的数据,我们就很难用图形来表示了,那么怎么判断是否有解。我们可以引入线性组合(linear combination)的概念。
我们将线性组合定义为:\(v = a_1 u_1 + a_2 u_2 + \cdots a_n u_n\)。这里的\(u\)和\(v\)都是向量。当我们发现一个向量是另外一个向量的线性组合的时候,例如\(v = c u\),那么其实类比到直线的话,这两个向量就是平行的。
然后我们可以将上面的方程组用矩阵的形式表示为\(Ax = b\),这里\(b\)就可以看做是\(A\)的线性组合。
这里再引入另一个概念span。span我们可以认为是一个向量的大集合,但是这些向量都是由一些基础向量通过线性组合得到的。一般可以记做是\(\{u_1, u_2, \cdots, u_k \}\)或者是\(S=\{c_1 u_1 + c_2 u_2 + \cdots\}\)。这里需要注意,对于一个span而言,所谓基础向量,就是不平行的向量。例如\(S_2\)就必须有两个不平行的二维向量才能确定。同理,其他维度的可以推理得到。
那么这个span跟上面的线性组合有什么关系呢?其实如果\(b\)是\(A\)的线性组合,那么\(b\)就是\(A\)的span。所以当方程式满足这样的条件的时候,就有解。
然后我们回想,刚刚提到了,有时候虽然有解,但是可能有无穷多的解。那么现在的问题就是,如果有解,那么有多少解?
这里先直接抛出结论,当\(A\)线性无关(independent)时候有唯一解,线性相关(depend)时有无穷多解。
那么什么是线性相关。线性相关就是给定一组向量\(\{a_1, a_2, \cdots \}\),当存在一组标量\(\{x_1, x_2 \cdots \}\),且\(x_i\)不全为0,那么只要能让\(x_1 a_1 + x_2 a_2 + \cdots = 0\)就是线性相关。而当且仅当所有的\(x\)都是0,则说明这是线性无关的。
最后引入一个概念秩(rank)。秩是表示矩阵内所有线性无关的向量的数量。比如说满秩就说明矩阵的column全都是线性无关的。
判断完是否有解后,一般采用高斯消元法(Gaussian Elimination)。就是下图的过程: 这里提一下的就是augment matrix就是将\(b\)拼到\(A\)后面,叫做增广矩阵。这样高斯消元法得到的就是最后的解。