研一数学基础复习笔记(十):Ritz、Galerkin 与有限元思想

1. 为什么面试前要看这个问题?

前面几篇主要回答了一个问题:

如何从微分方程、泛函、变分原理出发,理解力学问题的控制方程?

但真正做数值计算时,我们还需要回答另一个问题:

连续问题怎么变成计算机可以求解的代数方程组?

例如边值问题:

$$ y'' - y = 1,\quad y(0)=0,\quad y(L)=0 $$

前一篇已经说明,它可以对应如下泛函:

$$ S[y] = \int_0^L \left[\frac{1}{2}(y')^2 + \frac{1}{2}y^2 + y\right] dx $$

理论上,真实解是使泛函取极值的函数。

但问题是:函数空间是无限维的,计算机不可能直接在所有函数中寻找最优解。

于是数值方法的核心思想出现了:

用有限个基函数近似未知函数,把无限维问题转化成有限维问题。

例如假设:

$$ y(x) \approx y_a(x) = \sum_{i=1}^{n}a_iN_i(x) $$

其中:

  • $N_i(x)$ 是选定的基函数;
  • $a_i$ 是待求系数;
  • $y_a(x)$ 是近似解。

这样,原来要求一个未知函数 $y(x)$,就变成了求有限个未知系数 $a_i$。

这就是 Ritz 方法、Galerkin 方法和有限元方法共同的核心。


2. 核心概念

2.1 近似解的基本形式

在数值方法中,通常不会直接求真实解 $y(x)$,而是构造一个近似解:

$$ y_a(x) = \sum_{i=1}^{n}a_iN_i(x) $$

也可以写成矩阵形式:

$$ y_a(x) = \mathbf{N}^{\mathrm{T}}(x)\mathbf{a} $$

其中:

$$ \mathbf{N}(x) = \begin{bmatrix} N_1(x) \\ N_2(x) \\ \vdots \\ N_n(x) \end{bmatrix} $$ $$ \mathbf{a} = \begin{bmatrix} a_1 \\ a_2 \\ \vdots \\ a_n \end{bmatrix} $$

这里最重要的思想是:

选定基函数之后,未知函数的求解就转化为未知系数的求解。

这和前面“线性空间、基与坐标”的思想是一致的。

函数 $y(x)$ 可以看成函数空间中的对象,基函数 $N_i(x)$ 就是用来表示它的一组基。


2.2 Ritz 方法的基本思想

Ritz 方法通常从泛函出发。

如果已知泛函:

$$ S[y] = \int_0^L \left[\frac{1}{2}(y')^2 + \frac{1}{2}y^2 + y\right] dx $$

先假设近似解:

$$ y_a(x) = \mathbf{N}^{\mathrm{T}}(x)\mathbf{a} $$

然后代入泛函,得到近似泛函:

$$ S_a(\mathbf{a}) = S[y_a] $$

此时 $S_a$ 不再是关于函数的泛函,而是关于有限个系数 $a_i$ 的普通多元函数。

要求近似泛函取极值,只需要令:

$$ \frac{\partial S_a}{\partial a_i} = 0,\quad i=1,2,\cdots,n $$

最后可以得到代数方程组:

$$ \mathbf{K}\mathbf{a} = \mathbf{f} $$

所以 Ritz 方法的核心路线是:

$$ \text{泛函} \quad \Longrightarrow \quad \text{近似函数} \quad \Longrightarrow \quad \text{代数方程组} $$

这就是把连续变分问题转化为有限维代数问题的过程。


2.3 Galerkin 方法的基本思想

Galerkin 方法通常从微分方程或弱形式出发。

假设原方程为:

$$ L[y] = 0 $$

用近似解 $y_a$ 代入后,一般不会严格满足方程:

$$ L[y_a] \ne 0 $$

于是定义残差:

$$ R(x) = L[y_a] $$

Galerkin 方法要求残差对选定的测试函数正交:

$$ \int_0^L N_i(x)R(x)\,dx = 0,\quad i=1,2,\cdots,n $$

如果测试函数和近似函数使用同一组基函数 $N_i(x)$,这就是 Bubnov-Galerkin 方法。

它的核心思想是:

虽然近似解不能让残差处处为零,但可以要求残差在选定的函数空间中“平均意义下为零”。

这就是加权残数法的一种特殊形式。


2.4 Ritz 方法和 Galerkin 方法的区别

Ritz 方法和 Galerkin 方法都能得到代数方程组,但出发点不同。

Ritz 方法从泛函出发:

$$ \delta S = 0 $$

Galerkin 方法从残差正交出发:

$$ \int_0^L N_i(x)R(x)\,dx = 0 $$

可以简单理解为:

  • Ritz 方法强调“能量极值”;
  • Galerkin 方法强调“残差正交”;
  • 如果问题具有合适的变分结构,两者可能得到相同或非常接近的方程;
  • 如果没有自然泛函,Galerkin 方法仍然可以从微分方程出发构造近似。

所以在面试中可以这样说:

Ritz 方法依赖泛函,Galerkin 方法依赖残差或弱形式。有限元方法常常可以从这两种角度理解。


3. 关键公式

3.1 近似函数

一般近似形式为:

$$ y_a(x) = \sum_{i=1}^{n}a_iN_i(x) $$

矩阵形式为:

$$ y_a(x) = \mathbf{N}^{\mathrm{T}}(x)\mathbf{a} $$

其中 $\mathbf{N}(x)$ 是基函数向量,$\mathbf{a}$ 是待定系数向量。


3.2 Ritz 方法中的近似泛函

将近似函数代入泛函:

$$ S[y] = \int_0^L \left[\frac{1}{2}(y')^2 + \frac{1}{2}y^2 + y\right] dx $$

得到:

$$ S_a(\mathbf{a}) = \int_0^L \left[ \frac{1}{2}(y_a')^2 + \frac{1}{2}y_a^2 + y_a \right] dx $$

由于:

$$ y_a = \mathbf{N}^{\mathrm{T}}\mathbf{a} $$

并且:

$$ y_a' = \mathbf{N}_x^{\mathrm{T}}\mathbf{a} $$

所以近似泛函可以写成:

$$ S_a(\mathbf{a}) = \frac{1}{2}\mathbf{a}^{\mathrm{T}}\mathbf{K}\mathbf{a} - \mathbf{a}^{\mathrm{T}}\mathbf{f} $$

其中:

$$ \mathbf{K} = \int_0^L \left[ \mathbf{N}_x\mathbf{N}_x^{\mathrm{T}} + \mathbf{N}\mathbf{N}^{\mathrm{T}} \right] dx $$ $$ \mathbf{f} = -\int_0^L \mathbf{N}\,dx $$

令 $S_a$ 对 $\mathbf{a}$ 取极值:

$$ \frac{\partial S_a}{\partial \mathbf{a}} = \mathbf{0} $$

即可得到:

$$ \mathbf{K}\mathbf{a} = \mathbf{f} $$

这就是 Ritz 方法形成代数方程组的基本过程。


3.3 Galerkin 方法中的残差正交

设微分方程为:

$$ L[y] = 0 $$

近似解为:

$$ y_a = \sum_{j=1}^{n}a_jN_j(x) $$

代入后得到残差:

$$ R(x) = L[y_a] $$

Galerkin 方法要求:

$$ \int_0^L N_i(x)R(x)\,dx = 0,\quad i=1,2,\cdots,n $$

如果 $R(x)$ 来自方程:

$$ y'' - y - 1 = 0 $$

则:

$$ R(x) = y_a'' - y_a - 1 $$

Galerkin 条件为:

$$ \int_0^L N_i(x)(y_a'' - y_a - 1)\,dx = 0 $$

通过分部积分,可以将高阶导数转化为低阶导数,从而得到弱形式。

这一步和有限元方法密切相关。


3.4 有限元中的分片近似

有限元方法的关键是把求解区域划分为许多小单元。

例如把区间 $[0,L]$ 划分为:

$$ 0=x_0 < x_1 < \cdots < x_N=L $$

每个小区间:

$$ [x_n,x_{n+1}] $$

称为一个单元。

在单元上采用线性插值:

$$ y_a(x) = \frac{x_{n+1}-x}{x_{n+1}-x_n}y_n + \frac{x-x_n}{x_{n+1}-x_n}y_{n+1} $$

可以写成:

$$ y_a(x) = N_1^{(e)}(x)y_n + N_2^{(e)}(x)y_{n+1} $$

其中单元形函数为:

$$ N_1^{(e)}(x) = \frac{x_{n+1}-x}{x_{n+1}-x_n} $$ $$ N_2^{(e)}(x) = \frac{x-x_n}{x_{n+1}-x_n} $$

这就是一维线性有限元的基本近似形式。


3.5 有限元矩阵的稀疏性

有限元使用的形函数通常具有局部支撑性质。

也就是说,一个节点形函数只在相邻单元内非零,在远处单元上为零。

因此矩阵元素:

$$ K_{ij} = \int_0^L \left[ N_{i,x}N_{j,x} + N_iN_j \right] dx $$

只有当 $N_i$ 和 $N_j$ 的支撑区域有重叠时才可能非零。

如果两个节点相隔较远,则:

$$ K_{ij} = 0 $$

所以有限元生成的整体矩阵通常是稀疏矩阵。

这也是有限元适合大规模工程计算的重要原因。


4. 和力学/数值计算的联系

4.1 Ritz 方法体现了“能量最小化”

在力学中,很多问题可以写成能量泛函的极值问题。

Ritz 方法的思路就是:

在一个有限维近似空间中寻找使能量最小的近似解。

这和真实问题中的变分原理是一致的。

真实解是在无限维函数空间中使泛函取极值;
Ritz 解是在有限维子空间中使泛函取极值。

所以 Ritz 方法可以理解为:

把无限维的能量极值问题投影到有限维空间中求解。


4.2 Galerkin 方法体现了“残差正交”

Galerkin 方法不一定要求先有能量泛函。

它直接从微分方程出发,构造残差:

$$ R = L[y_a] $$

然后要求残差对测试空间正交。

这意味着近似解虽然不可能完全满足微分方程,但它的误差在测试空间中不能继续被检测出来。

从几何角度看,这类似于投影:

把真实解投影到近似空间中,使残差与近似空间正交。

这和前面讲过的“正交基”和“投影”思想是连在一起的。


4.3 有限元方法的核心是局部近似

Ritz 方法可以使用全局多项式作为基函数。

谱方法可以使用傅里叶函数、切比雪夫多项式等全局正交函数。

有限元方法不同,它把区域分成许多小单元,在每个单元上构造局部形函数。

这种局部近似带来几个好处:

第一,适合复杂几何区域。
第二,容易处理局部材料和边界条件。
第三,整体矩阵通常是稀疏的。
第四,可以通过细化网格提高精度。
第五,可以使用不同阶次的单元控制精度。

所以有限元方法比全局 Ritz 方法更适合工程问题。


4.4 谱方法和有限元方法的区别

谱方法通常使用全局光滑基函数,例如正弦函数、余弦函数或正交多项式。

它的优点是:
如果解足够光滑,收敛速度可能非常快。

但它的缺点是:
处理复杂边界和复杂几何时不够灵活。

有限元方法使用局部形函数。

它的优点是:
适应复杂区域、复杂边界和非均匀材料能力强。

但它的计算过程通常更复杂,需要网格剖分、单元矩阵、整体装配和边界条件处理。

可以简单理解为:

  • 谱方法更偏数学分析;
  • 有限元更偏工程计算;
  • Ritz 方法是变分近似的一般思想;
  • 有限元可以看作这种思想在局部基函数上的系统化实现。

4.5 有限元装配的思想

有限元计算通常先在每个单元上建立单元矩阵:

$$ \mathbf{k}^{(e)} $$

和单元载荷向量:

$$ \mathbf{f}^{(e)} $$

然后按照节点连接关系装配到整体矩阵:

$$ \mathbf{K} $$

和整体载荷向量:

$$ \mathbf{f} $$

最终得到:

$$ \mathbf{K}\mathbf{a} = \mathbf{f} $$

这和前面讲过的分块矩阵、稀疏矩阵、自由度划分都联系起来了。

所以这个系列前面的内容不是孤立的:

  • 矩阵是有限元方程的表达语言;
  • 分块矩阵帮助理解自由度划分和边界条件;
  • 基函数决定近似空间;
  • 正交性影响投影和误差;
  • 特征值用于动力学和稳定性;
  • 变分原理提供方程来源;
  • Ritz、Galerkin 和有限元则完成数值离散。

4.6 边界条件处理

对于问题:

$$ y(0)=0,\quad y(L)=0 $$

如果有限元节点包含边界点,那么对应边界自由度可以直接设为零。

例如:

$$ y_0 = 0,\quad y_N = 0 $$

此时只需要求内部节点自由度:

$$ \mathbf{a}_i = \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_{N-1} \end{bmatrix} $$

整体方程可以通过删除边界自由度对应的行列来处理。

这就是常说的“划行划列法”。

如果基函数不天然满足边界条件,也可以使用:

  • 罚函数法;
  • 拉格朗日乘子法;
  • 增广拉格朗日法;
  • Nitsche 方法。

这些方法都和前面“约束变分”中的思想有关。


5. 面试中可以怎么回答?

如果面试官问:

Ritz 方法的基本思想是什么?

可以这样回答:

Ritz 方法是从泛函极值出发的近似方法。先选取一组满足必要边界条件的基函数,把未知函数表示为这些基函数的线性组合。然后把近似函数代入泛函,使泛函变成关于有限个待定系数的函数。最后对这些系数求极值,得到代数方程组。它的本质是把无限维变分问题转化为有限维优化问题。

如果面试官问:

Galerkin 方法的基本思想是什么?

可以这样回答:

Galerkin 方法从微分方程残差出发。近似解代入方程后一般会产生残差,Galerkin 方法要求残差与测试函数空间正交。如果测试函数和试函数选用同一组基函数,就是常见的 Bubnov-Galerkin 方法。它的本质是让近似解在选定空间中以加权平均意义满足控制方程。

如果面试官问:

Ritz 方法和 Galerkin 方法有什么区别?

可以这样回答:

Ritz 方法通常要求问题有泛函,从能量极值出发;Galerkin 方法可以直接从微分方程或弱形式出发,通过残差正交得到代数方程。对于具有自伴结构和能量泛函的问题,两者可能得到相同结果。但 Galerkin 方法适用范围更广,因为它不一定要求先构造自然泛函。

如果面试官问:

有限元方法和 Ritz 方法有什么关系?

可以这样回答:

有限元可以看作 Ritz 或 Galerkin 思想在分片局部基函数上的系统化实现。Ritz 方法强调把未知函数展开成基函数线性组合并代入泛函,有限元也是这样做的,只是它使用的是定义在单元上的局部形函数,而不是全局多项式。因此有限元更适合复杂几何和复杂边界条件。

如果面试官问:

为什么有限元矩阵通常是稀疏矩阵?

可以这样回答:

因为有限元形函数通常具有局部支撑性质,一个节点形函数只在相邻单元附近非零。两个相距较远的节点形函数支撑区域没有重叠,对应刚度矩阵元素积分为零。因此整体矩阵中只有相邻自由度之间存在耦合,大量元素为零,所以有限元矩阵通常是稀疏矩阵。

如果面试官问:

有限元方法为什么适合工程计算?

可以这样回答:

有限元方法通过网格把复杂区域分解成简单单元,在每个单元上构造局部近似函数,再通过装配形成整体方程。这种方法适合复杂几何、复杂材料、复杂边界条件,并且形成的矩阵通常是稀疏的,便于大规模计算。因此它成为工程仿真中最主流的数值方法之一。


6. 这一篇的核心总结

这一篇主要复习了 Ritz 方法、Galerkin 方法和有限元思想。

可以总结为三句话:

  1. Ritz 方法从泛函极值出发,把无限维变分问题转化为有限维代数问题。
  2. Galerkin 方法从残差正交出发,使近似解在测试空间中满足加权平均意义下的控制方程。
  3. 有限元方法使用局部形函数和单元装配,把 Ritz/Galerkin 思想发展成适合复杂工程问题的通用数值方法。

所以,有限元不是凭空出现的计算技巧,而是线性代数、函数空间、变分原理和数值近似共同作用的结果。

从面试角度看,可以这样理解:

有限元方法的本质,是用局部基函数近似连续场变量,再通过变分或加权残数思想形成矩阵方程。


7. 系列收束:这 10 篇到底串起来讲了什么?

这个系列从矩阵开始,到有限元思想结束,其实形成了一条完整主线。

第一,矩阵是多自由度系统的表达语言。
第二,基和线性空间决定了未知量如何表示。
第三,特征值揭示系统固有性质。
第四,矩阵指数描述线性动力系统时间演化。
第五,变分原理把能量泛函和控制方程联系起来。
第六,约束变分和拉格朗日乘子处理约束关系。
第七,变分反问题帮助我们从微分方程构造泛函。
第八,Ritz、Galerkin 和有限元把连续问题转化为可计算的离散方程。

如果用一句话概括整个系列:

数值力学的核心,就是先用数学结构理解物理问题,再用有限维近似把它变成计算机可以求解的矩阵方程。

这也是面试中最应该表达出来的主线。


研一数学基础复习笔记(十):Ritz、Galerkin 与有限元思想
http://zncddh.cn/2026/05/03/研一数学基础复习笔记(十):Ritz、Galerkin 与有限元思想/
作者
creativity
发布于
2026年5月3日
许可协议