fbpx
维基百科

线性方程组

线性方程组是数学方程组的一种,它符合以下的形式:

线性代数

向量 · 向量空间  · 行列式  · 矩阵

三變量的線性系統確定了一組平面。交點就是解。

其中的以及等等是已知的常数,而等等则是要求的未知数。

如果用线性代数中的概念来表达,则线性方程组可以写成:

這裡的矩陣是含有个元素列向量是含有个元素列向量。

这是线性方程组的另一种记录方法。在已知矩阵和向量的情况求得未知向量线性代数的基本问题之一。

例子

以下是一个由两个方程构成的线性方程组:

 

方程组中有两个未知数。以矩阵表示,这个方程组可以记录为:

 

这个线性方程组有一组解: 。可以直接验证:

 

可以证明,这组解也是方程组唯一的解。

不是所有的线性方程组都有解。以下是一个没有解的例子:

 

显然,如果有  满足了第一行的式子的话,它们的和等于2。而第二行则要求它们的和等于0.5,这不可能。

也有的线性方程组有不止一组解。例如:

 

 是一组解,而 也是一组解。事实上,解的个数有无限个。

线性方程组的解

 
方程组的解是所有直线的公共点

如果有一组数 使得方程组的等号都成立,那么这组数就叫做方程组的解。一个线性方程组的所有的解的集合会被简称为解集。根据解的存在情况,线性方程组可以分为三类:

  • 有唯一解的恰定方程组,
  • 解不存在的超定方程组,
  • 有无穷多解的欠定方程组(也被通俗地称为不定方程组)。

几何解释

当未知数只有两个(xy)的时候,方程组里面的每一个方程可以看成Oxy平面(正交直角坐标系)上的一条直线的方程。直线上的的坐标就是满足这个方程的一组数。从这个角度看来,方程组的解就是所有这种直线的公共点。而若干条直线的公共部分要么是一条直线,要么是一个点,要么是空集,因此对应的,线性方程组的解要么有无穷个,要么恰好有一个,要么不存在。

如果未知数有三个,那么每一个方程则代表了三维空间里面的一个平面,而方程组的解集也就是一些平面的共同部分。所有解的集合可以对应一个平面,一条直线,一个点或空集。

这个问题的一般情况可以从线性空间的角度去分析,即我们可以将线性方程组的求解问题看成向量 在矩阵 所张成的线性空间里面的投影的问题。未知数的个数如果是一般的n个的话,可以想象每个方程代表了n维空间里面的一个超平面。而方程组的解就是所有超平面的公共点。

齐次线性方程组

齐次的线性方程组是指向量 的情况。这时候方程变成:

 

这个方程肯定会有一组解: 。实际上,方程的解就是矩阵 对应的线性变换零空间。一般来说,当方程的个数小于未知数的个数时,方程组会有除 以外的解。当方程组个数变多时,则要看其中“有效”的方程的个数。有时候某一个方程可以表示成另外几个方程的线性组合。比如方程组:

 

之中,第三个方程就可以表示为前两个方程的线性组合:

 

这时第三个方程组就可以不必考虑了。用线性代数的词汇表达,“有效”的方程的个数就是矩阵 中线性无关的行向量的个数,或者说行向量线性张成的空间的维数。这个数也被称为矩阵的秩。当矩阵 的秩 小于未知数的个数 时,方程组的解会有无穷多个,构成一个 维的线性空间。而当 等于未知数的个数 时,方程组有唯一零解, 不可能大于 

松弛求解

在实验数据处理和曲线拟合问题中,求解超定方程组非常普遍。这时常常需要退一步,将线性方程组的求解问题改变为求最小误差的问题。形象的说,就是在无法完全满足给定的这些条件的情况下,求一个最接近的解。比较常用的方法是最小二乘法。最小二乘法求解超定问题等价于一个优化问题,或者说最小值问题,即,在不存在 使得 的情况下,我们试图找到这样的 使得 最小,其中 表示范数

求解

克莱姆法则

基于线性方程组的解空间理论,线性方程组有唯一解当且仅当有效方程数等于未知数的个数。这时,可以运用各种方法具体求出唯一存在的解。克萊姆法則是一种求解线性方程组的方法,大多数线性代数教材都会提到。例如对于如下的线性方程组:

 

运用克莱姆法则,这个方程组的解可以如下:

 

其中, 分别是如下三个行列式

     

对于更一般的情况:

 

解可以由同样的公式给出:

 

其中的

 
 

 是将矩阵 的第i纵列换成向量b之后得到的矩阵。

可以看出,这些表达式只有在 存在并且不等于0的时候才是有意义的,这点只有在有效方程数等于未知数的个数的时候才能得到保证。

数值方法

在实际运算中,当矩阵的维数较高时,计算行列式是非常繁複的。也就是说,计算行列式的计算复杂度随维数的增长非常快,对于一个 的矩阵,用初等的方法计算其行列式,需要的计算时间是 (n的阶乘)。因此,克莱姆法则在現實問題求解幾乎不會被采用,而其重要性在于證明某些線性問題的解答會自然而然是整數解答,因而存在有效率的解法。換言之,克萊姆法則的重要性是在於理論證明的應用,而非問題的實際求解。

经典的求解线性方程组的方法一般分为两类:直接法和迭代法。前者例如高斯消去法, LU分解等,后者的例子包括共轭梯度法等。这些方法的计算复杂度在可以接受的范围内,因此被广泛采用。例如,高斯消去法的复杂度为  一般来说,直接法对于阶数比较低的方程组(少于20000至30000个未知数)比较有效;而后者对于比较大的方程组更有效。在实际计算中,几十万甚至几百万个未知数的方程组并不少见。在这些情况下,迭代法有无可比拟的优势。另外,使用迭代法可以根据不同的精度要求选择终止时间,因此比较灵活。在问题特别大的时候,计算机内存可能无法容纳被操作的矩阵,这给直接法带来很大的挑战。而对于迭代法,则可以将矩阵的某一部分读入内存进行操作,然后再操作另外部分。

应用

现实中的问题大多数是连续的,例如工程中求解结构受力后的变形,空气动力学中计算机翼周围的流场,气象预报中计算大气的流动。这些现象大多是用若干个微分方程描述。用数值方法求解微分方程(组),不论是差分方法还是有限元方法,通常都是通过对微分方程(连续的问题,未知数的维数是无限的)进行离散,得到线性方程组(离散问题,因为未知数的维数是有限的)。因此线性方程组的求解在科学与工程中的应用非常广泛。

许多具体的应用会得到结构比较特别的线性方程组,比如用差分方法和有限元方法离散微分方程后通常会得到三对角或五对角的方程组,网络问题有时会得到对称的线性方程组( ),因此除了通用的线性方程组求解器,在一些专业领域,研究人员们也开发了适用于特定问题的求解器,比如适用于稀疏矩阵的求解器,适用于三对角矩阵的求解器,适用于对称矩阵的求解器等。

相关软件

由于线性方程组的求解是一个非常普遍的问题,在多年的科学与工程实践中,科学家和工程师们积累很多高效率的线性方程组求解器,例如:LAPACK、BLAS等。这些软件中,许多可以可以在NetLib (页面存档备份,存于互联网档案馆)免费获得。LAPACK和BLAS在大多数Linux的发行版本中都已经预装。目前LAPACK有Fortran(包括90和77版本)、C、C++等几个语言的版本。利用LAPACK和BLAS中的子程序,Matlab (页面存档备份,存于互联网档案馆)对这些线性方程组求解器进行封装。用户不需要选择求解器的类型和问题的类型,Matlab可以根据对矩阵的分析自动选择合适的求解器。

其他方法与软件

上面讲的是线性方程组的数值解法。对于比较小的线性方程组,求得符号解是可能的。常用的软件有Mathematica, Maple等。在某些领域的研究中,这种需要并且可能求符号解(精确解)的情况偶尔会遇到。未知数的个数一般限制在几十个左右。显然,符号解在对于实际中遇到的有几百万个未知数的问题是无能为力的,比如,大型结构,天气预报,湍流模拟等问题中得到的线性方程组。

参见

参考文献



    外部連結

    • (英文)Mathway (页面存档备份,存于互联网档案馆),使用電腦解決絕大部分的數學問題。
    • (英文)Simultaneous Linear Equations Calculator (页面存档备份,存于互联网档案馆),一個簡單的线性方程组求解器

    线性方程组, 是数学方程组的一种, 它符合以下的形式, 线性代数a, displaystyle, mathbf, begin, bmatrix, bmatrix, 向量, 向量空间, 行列式, 矩阵向量标量, 向量, 向量空间, 向量投影, 外积, 向量积, 内积, 数量积, 矩阵与行列式矩阵, 行列式, 單位矩陣, 初等矩阵, 方块矩阵, 分块矩阵, 三角矩阵, 非奇异方阵, 转置矩阵, 逆矩阵, 对角矩阵, 可对角化矩阵, 对称矩阵, 反对称矩阵, 正交矩阵, 幺正矩阵, 埃尔米特矩阵, 反埃尔米特矩阵, 正规. 线性方程组是数学方程组的一种 它符合以下的形式 线性代数A 1 2 3 4 displaystyle mathbf A begin bmatrix 1 amp 2 3 amp 4 end bmatrix 向量 向量空间 行列式 矩阵向量标量 向量 向量空间 向量投影 外积 向量积 内积 数量积 矩阵与行列式矩阵 行列式 线性方程组 秩 核 迹 單位矩陣 初等矩阵 方块矩阵 分块矩阵 三角矩阵 非奇异方阵 转置矩阵 逆矩阵 对角矩阵 可对角化矩阵 对称矩阵 反对称矩阵 正交矩阵 幺正矩阵 埃尔米特矩阵 反埃尔米特矩阵 正规矩阵 伴随矩阵 余因子矩阵 共轭转置 正定矩阵 幂零矩阵 矩阵分解 LU分解 奇异值分解 QR分解 极分解 特征分解 子式和余子式 拉普拉斯展開 克罗内克积线性空间与线性变换线性空间 线性变换 线性子空间 线性生成空间 基 线性映射 线性投影 线性无关 线性组合 线性泛函 行空间与列空间 对偶空间 正交 特征向量 最小二乘法 格拉姆 施密特正交化查论编三變量的線性系統確定了一組平面 交點就是解 a 1 1 x 1 a 1 2 x 2 a 1 n x n b 1 a 2 1 x 1 a 2 2 x 2 a 2 n x n b 2 a m 1 x 1 a m 2 x 2 a m n x n b m displaystyle begin cases a 1 1 x 1 a 1 2 x 2 cdots a 1 n x n b 1 a 2 1 x 1 a 2 2 x 2 cdots a 2 n x n b 2 vdots quad quad quad vdots a m 1 x 1 a m 2 x 2 cdots a m n x n b m end cases 其中的a 1 1 a 1 2 displaystyle a 1 1 a 1 2 以及b 1 b 2 displaystyle b 1 b 2 等等是已知的常数 而x 1 x 2 displaystyle x 1 x 2 等等则是要求的未知数 如果用线性代数中的概念来表达 则线性方程组可以写成 A x b displaystyle mathbf A mathbf x mathbf b 這裡的A displaystyle mathbf A 是m n displaystyle m times n 矩陣 x displaystyle mathbf x 是含有n displaystyle n 个元素列向量 b displaystyle mathbf b 是含有m displaystyle m 个元素列向量 A a 1 1 a 1 2 a 1 n a 2 1 a 2 2 a 2 n a m 1 a m 2 a m n x x 1 x 2 x n b b 1 b 2 b m displaystyle mathbf A begin bmatrix a 1 1 amp a 1 2 amp cdots amp a 1 n a 2 1 amp a 2 2 amp cdots amp a 2 n vdots amp vdots amp ddots amp vdots a m 1 amp a m 2 amp cdots amp a m n end bmatrix quad mathbf x begin bmatrix x 1 x 2 vdots x n end bmatrix quad mathbf b begin bmatrix b 1 b 2 vdots b m end bmatrix 这是线性方程组的另一种记录方法 在已知矩阵A displaystyle mathbf A 和向量b displaystyle mathbf b 的情况求得未知向量x displaystyle mathbf x 是线性代数的基本问题之一 目录 1 例子 2 线性方程组的解 2 1 几何解释 2 2 齐次线性方程组 2 3 松弛求解 3 求解 3 1 克莱姆法则 3 2 数值方法 4 应用 5 相关软件 6 其他方法与软件 7 参见 8 参考文献 9 外部連結例子 编辑以下是一个由两个方程构成的线性方程组 3 x 1 5 x 2 4 x 1 2 x 2 1 displaystyle begin cases 3x 1 5x 2 4 x 1 2x 2 1 end cases 方程组中有两个未知数 以矩阵表示 这个方程组可以记录为 3 5 1 2 x 1 x 2 4 1 displaystyle begin bmatrix 3 amp 5 1 amp 2 end bmatrix cdot begin bmatrix x 1 x 2 end bmatrix begin bmatrix 4 1 end bmatrix 这个线性方程组有一组解 x 1 3 x 2 1 displaystyle x 1 3 x 2 1 可以直接验证 3 3 5 1 9 5 4 3 2 1 3 2 1 displaystyle begin cases 3 times 3 5 times 1 9 5 4 3 2 times 1 3 2 1 end cases 可以证明 这组解也是方程组唯一的解 不是所有的线性方程组都有解 以下是一个没有解的例子 x 1 x 2 2 2 x 1 2 x 2 1 displaystyle begin cases x 1 x 2 2 2x 1 2x 2 1 end cases 显然 如果有x 1 displaystyle x 1 和x 2 displaystyle x 2 满足了第一行的式子的话 它们的和等于2 而第二行则要求它们的和等于0 5 这不可能 也有的线性方程组有不止一组解 例如 x 1 x 2 2 displaystyle begin cases x 1 x 2 2 end cases x 1 1 x 2 1 displaystyle x 1 1 x 2 1 是一组解 而x 1 3 x 2 1 displaystyle x 1 3 x 2 1 也是一组解 事实上 解的个数有无限个 线性方程组的解 编辑 方程组的解是所有直线的公共点 如果有一组数x 1 x 2 x n displaystyle x 1 x 2 cdots x n 使得方程组的等号都成立 那么这组数就叫做方程组的解 一个线性方程组的所有的解的集合会被简称为解集 根据解的存在情况 线性方程组可以分为三类 有唯一解的恰定方程组 解不存在的超定方程组 有无穷多解的欠定方程组 也被通俗地称为不定方程组 几何解释 编辑 当未知数只有两个 x和y 的时候 方程组里面的每一个方程可以看成Oxy平面 正交直角坐标系 上的一条直线的方程 直线上的点的坐标就是满足这个方程的一组数 从这个角度看来 方程组的解就是所有这种直线的公共点 而若干条直线的公共部分要么是一条直线 要么是一个点 要么是空集 因此对应的 线性方程组的解要么有无穷个 要么恰好有一个 要么不存在 如果未知数有三个 那么每一个方程则代表了三维空间里面的一个平面 而方程组的解集也就是一些平面的共同部分 所有解的集合可以对应一个平面 一条直线 一个点或空集 这个问题的一般情况可以从线性空间的角度去分析 即我们可以将线性方程组的求解问题看成向量b displaystyle mathbf b 在矩阵A displaystyle mathbf A 所张成的线性空间里面的投影的问题 未知数的个数如果是一般的n个的话 可以想象每个方程代表了n维空间里面的一个超平面 而方程组的解就是所有超平面的公共点 齐次线性方程组 编辑 齐次的线性方程组是指向量b 0 displaystyle mathbf b mathbf 0 的情况 这时候方程变成 A x 0 displaystyle mathbf A mathbf x mathbf 0 这个方程肯定会有一组解 x 0 displaystyle mathbf x mathbf 0 实际上 方程的解就是矩阵A displaystyle mathbf A 对应的线性变换的零空间 一般来说 当方程的个数小于未知数的个数时 方程组会有除x 0 displaystyle mathbf x mathbf 0 以外的解 当方程组个数变多时 则要看其中 有效 的方程的个数 有时候某一个方程可以表示成另外几个方程的线性组合 比如方程组 3 x 1 x 2 2 x 3 0 x 1 x 2 4 x 3 0 2 x 1 3 x 3 0 displaystyle begin cases 3x 1 x 2 2x 3 0 x 1 x 2 4x 3 0 2x 1 3x 3 0 end cases 之中 第三个方程就可以表示为前两个方程的线性组合 2 x 1 3 x 3 1 2 3 x 1 x 2 2 x 3 1 2 x 1 x 2 4 x 3 displaystyle 2x 1 3x 3 frac 1 2 3x 1 x 2 2x 3 frac 1 2 x 1 x 2 4x 3 这时第三个方程组就可以不必考虑了 用线性代数的词汇表达 有效 的方程的个数就是矩阵A displaystyle mathbf A 中线性无关的行向量的个数 或者说行向量线性张成的空间的维数 这个数也被称为矩阵的秩 当矩阵A displaystyle mathbf A 的秩r displaystyle r 小于未知数的个数n displaystyle n 时 方程组的解会有无穷多个 构成一个n r displaystyle n r 维的线性空间 而当r displaystyle r 等于未知数的个数n displaystyle n 时 方程组有唯一零解 r displaystyle r 不可能大于n displaystyle n 松弛求解 编辑 在实验数据处理和曲线拟合问题中 求解超定方程组非常普遍 这时常常需要退一步 将线性方程组的求解问题改变为求最小误差的问题 形象的说 就是在无法完全满足给定的这些条件的情况下 求一个最接近的解 比较常用的方法是最小二乘法 最小二乘法求解超定问题等价于一个优化问题 或者说最小值问题 即 在不存在x displaystyle mathbf x 使得b A x 0 displaystyle mathbf b mathbf A mathbf x mathbf 0 的情况下 我们试图找到这样的x displaystyle mathbf x 使得 b A x displaystyle left mathbf b mathbf A mathbf x right 最小 其中 displaystyle left cdot right 表示范数 求解 编辑克莱姆法则 编辑 基于线性方程组的解空间理论 线性方程组有唯一解当且仅当有效方程数等于未知数的个数 这时 可以运用各种方法具体求出唯一存在的解 克萊姆法則是一种求解线性方程组的方法 大多数线性代数教材都会提到 例如对于如下的线性方程组 a 1 x b 1 y c 1 a 2 x b 2 y c 2 displaystyle begin cases a 1 x b 1 y c 1 a 2 x b 2 y c 2 end cases 运用克莱姆法则 这个方程组的解可以如下 x D x D y D y D displaystyle x frac D x D qquad y frac D y D 其中 D x D y D displaystyle D x D y D 分别是如下三个行列式 D a 1 b 1 a 2 b 2 displaystyle D left begin matrix a 1 amp b 1 a 2 amp b 2 end matrix right D x c 1 b 1 c 2 b 2 displaystyle D x left begin matrix c 1 amp b 1 c 2 amp b 2 end matrix right D y a 1 c 1 a 2 c 2 displaystyle D y left begin matrix a 1 amp c 1 a 2 amp c 2 end matrix right 对于更一般的情况 A x b displaystyle mathbf A mathbf x mathbf b 解可以由同样的公式给出 x 1 D 1 D x 2 D 2 D x n D n D displaystyle begin cases x 1 frac D 1 D x 2 frac D 2 D vdots qquad vdots x n frac D n D end cases 其中的 D det A displaystyle D det mathbf A 1 i n D i det A i displaystyle forall 1 leqslant i leqslant n D i det mathbf A i A i displaystyle mathbf A i 是将矩阵A displaystyle mathbf A 的第i纵列换成向量b之后得到的矩阵 可以看出 这些表达式只有在D det A displaystyle D det mathbf A 存在并且不等于0的时候才是有意义的 这点只有在有效方程数等于未知数的个数的时候才能得到保证 数值方法 编辑 在实际运算中 当矩阵的维数较高时 计算行列式是非常繁複的 也就是说 计算行列式的计算复杂度随维数的增长非常快 对于一个n n displaystyle n times n 的矩阵 用初等的方法计算其行列式 需要的计算时间是O n displaystyle O n n的阶乘 因此 克莱姆法则在現實問題求解幾乎不會被采用 而其重要性在于證明某些線性問題的解答會自然而然是整數解答 因而存在有效率的解法 換言之 克萊姆法則的重要性是在於理論證明的應用 而非問題的實際求解 经典的求解线性方程组的方法一般分为两类 直接法和迭代法 前者例如高斯消去法 LU分解等 后者的例子包括共轭梯度法等 这些方法的计算复杂度在可以接受的范围内 因此被广泛采用 例如 高斯消去法的复杂度为O n 3 displaystyle O n 3 一般来说 直接法对于阶数比较低的方程组 少于20000至30000个未知数 比较有效 而后者对于比较大的方程组更有效 在实际计算中 几十万甚至几百万个未知数的方程组并不少见 在这些情况下 迭代法有无可比拟的优势 另外 使用迭代法可以根据不同的精度要求选择终止时间 因此比较灵活 在问题特别大的时候 计算机内存可能无法容纳被操作的矩阵 这给直接法带来很大的挑战 而对于迭代法 则可以将矩阵的某一部分读入内存进行操作 然后再操作另外部分 应用 编辑现实中的问题大多数是连续的 例如工程中求解结构受力后的变形 空气动力学中计算机翼周围的流场 气象预报中计算大气的流动 这些现象大多是用若干个微分方程描述 用数值方法求解微分方程 组 不论是差分方法还是有限元方法 通常都是通过对微分方程 连续的问题 未知数的维数是无限的 进行离散 得到线性方程组 离散问题 因为未知数的维数是有限的 因此线性方程组的求解在科学与工程中的应用非常广泛 许多具体的应用会得到结构比较特别的线性方程组 比如用差分方法和有限元方法离散微分方程后通常会得到三对角或五对角的方程组 网络问题有时会得到对称的线性方程组 A A T displaystyle mathbf A mathbf A T 因此除了通用的线性方程组求解器 在一些专业领域 研究人员们也开发了适用于特定问题的求解器 比如适用于稀疏矩阵的求解器 适用于三对角矩阵的求解器 适用于对称矩阵的求解器等 相关软件 编辑由于线性方程组的求解是一个非常普遍的问题 在多年的科学与工程实践中 科学家和工程师们积累很多高效率的线性方程组求解器 例如 LAPACK BLAS等 这些软件中 许多可以可以在NetLib 页面存档备份 存于互联网档案馆 免费获得 LAPACK和BLAS在大多数Linux的发行版本中都已经预装 目前LAPACK有Fortran 包括90和77版本 C C 等几个语言的版本 利用LAPACK和BLAS中的子程序 Matlab 页面存档备份 存于互联网档案馆 对这些线性方程组求解器进行封装 用户不需要选择求解器的类型和问题的类型 Matlab可以根据对矩阵的分析自动选择合适的求解器 其他方法与软件 编辑上面讲的是线性方程组的数值解法 对于比较小的线性方程组 求得符号解是可能的 常用的软件有Mathematica Maple等 在某些领域的研究中 这种需要并且可能求符号解 精确解 的情况偶尔会遇到 未知数的个数一般限制在几十个左右 显然 符号解在对于实际中遇到的有几百万个未知数的问题是无能为力的 比如 大型结构 天气预报 湍流模拟等问题中得到的线性方程组 参见 编辑方程 不定方程 鸡兔同笼 对角化 逆矩阵 微分方程参考文献 编辑https web archive org web 20070208024707 http www okc cc ok us maustin Cramers Rule Cramer 27s 20Rule htm http www netlib org lapack 页面存档备份 存于互联网档案馆 http www mathworks com 页面存档备份 存于互联网档案馆 外部連結 编辑 英文 Mathway 页面存档备份 存于互联网档案馆 使用電腦解決絕大部分的數學問題 英文 Simultaneous Linear Equations Calculator 页面存档备份 存于互联网档案馆 一個簡單的线性方程组求解器 取自 https zh wikipedia org w index php title 线性方程组 amp oldid 76094110, 维基百科,wiki,书籍,书籍,图书馆,

    文章

    ,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。