Gauss-Seidel Iteration Method for Solving Linear Systems | 高斯-赛德尔迭代法求解线性方程组

📚 Gauss-Seidel Iteration Method for Solving Linear Systems | 高斯-赛德尔迭代法求解线性方程组

The Gauss-Seidel iteration method is a classical iterative technique for solving a system of linear equations \(Ax = b\). It is particularly useful for large, sparse systems where direct methods such as Gaussian elimination are computationally expensive. The method updates each unknown sequentially, using the most recently computed values, which often leads to faster convergence than the Jacobi method.

高斯-赛德尔迭代法是一种经典的求解线性方程组 \(Ax = b\) 的迭代技术。它特别适用于大型稀疏方程组,此时高斯消元等直接方法计算成本过高。该方法按顺序逐个更新未知量,并使用最新计算出的值,因此通常比雅可比方法收敛更快。


1. Problem Setup | 问题设定

Consider a linear system of \(n\) equations in \(n\) unknowns:

考虑一个包含 \(n\) 个未知数、\(n\) 个方程的线性方程组:

\(a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1\)
\(a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2\)
\(\vdots\)
\(a_{n1}x_1 + a_{n2}x_2 + \cdots + a_{nn}x_n = b_n\)

The goal is to find the vector \(x = (x_1, x_2, \ldots, x_n)^T\) that satisfies the system, assuming a unique solution exists.

目标是找到满足方程组的向量 \(x = (x_1, x_2, \ldots, x_n)^T\),并假设解存在且唯一。


2. Iterative Idea | 迭代思想

Instead of solving the system directly, iterative methods generate a sequence of approximate solutions \(x^{(0)}, x^{(1)}, x^{(2)}, \ldots\) that converge to the true solution. Each iteration refines the previous approximation using a splitting of the coefficient matrix \(A\).

迭代方法不直接求解方程组,而是生成一系列近似解 \(x^{(0)}, x^{(1)}, x^{(2)}, \ldots\),它们逐步收敛到精确解。每一次迭代都利用系数矩阵 \(A\) 的分解来改进上一次的近似值。

For the Gauss-Seidel method, we split \(A\) into a lower triangular part \(L_*\), a diagonal part \(D\), and a strictly upper triangular part \(U_*\):

对于高斯-赛德尔方法,我们将 \(A\) 分解为一个下三角部分 \(L_*\)、一个对角部分 \(D\) 和一个严格上三角部分 \(U_*\):

\(A = L_* + D + U_*\)

where \(L_*\) contains entries below the diagonal, \(D\) contains the diagonal entries, and \(U_*\) contains entries above the diagonal.

其中 \(L_*\) 包含对角线以下的元素,\(D\) 包含对角线元素,\(U_*\) 包含对角线以上的元素。


3. Derivation of the Update Formula | 更新公式的推导

From the \(i\)-th equation:

由第 \(i\) 个方程出发:

\(a_{i1}x_1 + a_{i2}x_2 + \cdots + a_{in}x_n = b_i\)

We solve for \(x_i\), assuming the other components are known:

我们解出 \(x_i\),并假设其余分量已知:

\(x_i = \frac{1}{a_{ii}} \left( b_i – \sum_{j=1}^{i-1} a_{ij}x_j – \sum_{j=i+1}^{n} a_{ij}x_j \right)\)

In the Gauss-Seidel iteration, the latest available values are used: for \(j < i\), we use the values from the current iteration \(x_j^{(k+1)}\); for \(j > i\), we use values from the previous iteration \(x_j^{(k)}\).

在高斯-赛德尔迭代中,我们使用最新的可用值:对于 \(j < i\),使用当前迭代的值 \(x_j^{(k+1)}\);对于 \(j > i\),使用上一迭代的值 \(x_j^{(k)}\)。


4. Algorithm Steps | 算法步骤

Given an initial guess \(x^{(0)}\), repeat the following for \(k = 0, 1, 2, \ldots\) until convergence:

给定初始猜测 \(x^{(0)}\),对 \(k = 0, 1, 2, \ldots\) 重复以下步骤直到收敛:

  • For \(i = 1, 2, \ldots, n\):
    对 \(i = 1, 2, \ldots, n\):
  • Compute
    计算

    \(x_i^{(k+1)} = \frac{1}{a_{ii}} \left( b_i – \sum_{j=1}^{i-1} a_{ij}x_j^{(k+1)} – \sum_{j=i+1}^{n} a_{ij}x_j^{(k)} \right)\)

  • Update the solution vector immediately after each component is computed.
    每计算出一个分量后立即更新解向量。

The process continues until the difference between successive iterates is smaller than a given tolerance \(\epsilon\).

该过程持续进行,直到相邻两次迭代的差小于给定的容差 \(\epsilon\)。


5. Matrix Formulation | 矩阵形式

The Gauss-Seidel iteration can be written in matrix form. Using the splitting \(A = L_* + D + U_*\), the update is:

高斯-赛德尔迭代可以用矩阵形式写成。利用分解 \(A = L_* + D + U_*\),更新式为:

\((L_* + D)x^{(k+1)} = b – U_* x^{(k)}\)

Thus the iteration matrix is:

因此迭代矩阵为:

\(x^{(k+1)} = (L_* + D)^{-1} (b – U_* x^{(k)})\)

Equivalently, \(x^{(k+1)} = (L_* + D)^{-1}b + B_{GS} x^{(k)}\), where \(B_{GS} = -(L_* + D)^{-1} U_*\).

等价地,\(x^{(k+1)} = (L_* + D)^{-1}b + B_{GS} x^{(k)}\),其中 \(B_{GS} = -(L_* + D)^{-1} U_*\)。


6. Worked Example | 算例演示

Solve the following system using Gauss-Seidel iteration:

使用高斯-赛德尔迭代法求解以下方程组:

\(10x_1 + 2x_2 + x_3 = 14\)
\(2x_1 + 10x_2 + 3x_3 = 19\)
\(x_1 + 3x_2 + 10x_3 = 23\)

From each equation, we isolate the diagonal variable:

从每个方程中分离出对角线变量:

\(x_1 = \frac{1}{10}(14 – 2x_2 – x_3)\)
\(x_2 = \frac{1}{10}(19 – 2x_1 – 3x_3)\)
\(x_3 = \frac{1}{10}(23 – x_1 – 3x_2)\)

Starting with initial guess \(x^{(0)} = (0, 0, 0)^T\):

从初始猜测 \(x^{(0)} = (0, 0, 0)^T\) 开始:

  • Iteration 1:
    第1次迭代:
  • \(x_1^{(1)} = \frac{1}{10}(14) = 1.4\)
  • \(x_2^{(1)} = \frac{1}{10}(19 – 2(1.4) – 0) = 1.62\)
  • \(x_3^{(1)} = \frac{1}{10}(23 – 1.4 – 3(1.62)) = 1.674\)

Continue iterating until the values stabilize. The exact solution is \(x = (1, 1, 2)^T\).

继续迭代直到数值稳定。精确解为 \(x = (1, 1, 2)^T\)。


7. Convergence Criteria | 收敛条件

A sufficient condition for convergence of the Gauss-Seidel method is that the coefficient matrix \(A\) is strictly diagonally dominant:

高斯-赛德尔方法收敛的一个充分条件是系数矩阵 \(A\) 严格对角占优:

\(|a_{ii}| > \sum_{j \neq i} |a_{ij}| \quad \text{for all } i\)

Another sufficient condition is that \(A\) is symmetric positive definite.

另一个充分条件是 \(A\) 对称正定。

More generally, convergence depends on the spectral radius of the iteration matrix \(B_{GS}\). If \(\rho(B_{GS}) < 1\), the iteration converges for any initial guess.

更一般地,收敛性取决于迭代矩阵 \(B_{GS}\) 的谱半径。如果 \(\rho(B_{GS}) < 1\),则迭代对任意初始猜测都收敛。


8. Comparison with Jacobi Method | 与雅可比方法的比较

In the Jacobi method, all components are updated simultaneously using only values from the previous iteration:

在雅可比方法中,所有分量同时更新,且仅使用上一迭代的值:

\(x_i^{(k+1)} = \frac{1}{a_{ii}} \left( b_i – \sum_{j \neq i} a_{ij}x_j^{(k)} \right)\)

The Gauss-Seidel method uses updated components immediately. This often accelerates convergence, especially when the matrix is diagonally dominant or positive definite.

高斯-赛德尔方法则立即使用已更新的分量。这通常会加速收敛,尤其是当矩阵对角占优或正定时。

However, Gauss-Seidel is inherently sequential and cannot be parallelized as easily as Jacobi.

然而,高斯-赛德尔本质上是顺序执行的,不像雅可比方法那样容易并行化。


9. Advantages and Disadvantages | 优点与缺点

Advantages:

优点:

  • Simple to implement and requires less memory than direct methods.
    实现简单,比直接方法占用内存少。
  • Often converges faster than Jacobi for many practical problems.
    在许多实际问题中通常比雅可比收敛更快。
  • Preserves the sparsity of the matrix \(A\).
    保持矩阵 \(A\) 的稀疏性。

Disadvantages:

缺点:

  • Convergence is not guaranteed for arbitrary matrices.
    对任意矩阵不保证收敛。
  • Sequential updates limit parallel implementation.
    顺序更新限制了并行实现。
  • Convergence can be slow for ill-conditioned systems.
    对于病态方程组收敛可能很慢。

10. Applications in IB Mathematics | 在IB数学中的应用

In IB Mathematics, numerical methods are often introduced in the context of solving systems of equations that arise in real-world modelling. Gauss-Seidel iteration is particularly relevant in:

在IB数学中,数值方法常结合现实建模中产生的方程组求解来介绍。高斯-赛德尔迭代在以下情境中尤其相关:

  • Modelling electrical circuits (network analysis).
    电路建模(网络分析)。
  • Predicting equilibrium prices in economics.
    经济学中的均衡价格预测。
  • Solving steady-state temperature distributions.
    求解稳态温度分布。
  • Optimization and approximation problems.
    优化与近似问题。

Students should be able to perform several iterations manually and use technology to compute more extensive approximations.

学生应能手动进行几次迭代,并使用技术工具计算更精确的近似解。


11. Tips for Exam Questions | 考试答题技巧

When solving Gauss-Seidel questions in an exam:

在考试中解答高斯-赛德尔问题时:

  • Always write down the iteration formula explicitly.
    务必明确写出迭代公式。
  • Use a table to record each iteration clearly.
    使用表格清晰记录每次迭代。
  • Check whether the matrix is diagonally dominant before concluding convergence.
    在判断收敛前先检查矩阵是否对角占优。
  • Carry enough decimal places to avoid premature rounding errors.
    保留足够的小数位数以避免过早舍入误差。
  • Stop only when the required accuracy is achieved.
    只有在达到所需精度时才停止迭代。
Iteration \(k\) \(x_1^{(k)}\) \(x_2^{(k)}\) \(x_3^{(k)}\)
0 0 0 0
1 1.4 1.62 1.674

12. Summary | 总结

The Gauss-Seidel method is a powerful iterative tool for solving linear systems, especially when the coefficient matrix is large and sparse. Its sequential nature gives it a convergence advantage over Jacobi, provided the matrix satisfies certain conditions. Understanding its formulation, convergence criteria, and practical implementation is essential for IB Mathematics students.

高斯-赛德尔方法是求解线性方程组的强大迭代工具,尤其适用于大型稀疏系数矩阵。其顺序更新特性使它在满足一定条件时比雅可比方法更具收敛优势。理解其公式、收敛条件和实际应用,对IB数学学生来说至关重要。

Published by TutorHao | Mathematics Revision Series | aleveler.com

更多咨询请联系16621398022(同微信)

Comments

屏轩国际教育cambridge primary/secondary checkpoint, cat4, ukiset,ukcat,igcse,alevel,PAT,STEP,MAT, ibdp,ap,ssat,sat,sat2课程辅导,国外大学本科硕士研究生博士课程论文辅导

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from aleveler.com

Subscribe now to keep reading and get access to the full archive.

Continue reading