# 泛函连接理论
泛函连接理论（英语:Theory of Functional Connections，以下简称TFC）是德克萨斯A&M大学的D. Mortari教授在其著作中引入的，为执行泛函插值而开发的数学框架，该框架提供了一种将约束优化问题转换为等效的无约束问题的方法，目前已经广泛应用到实际问题的解决中。例如，通过利用这种转换，TFC可以被有效地应用于微分方程求解问题。下面来具体解释泛函插值与泛函连接的意义与价值。

## 从函数插值到泛函插值
在介绍TFC问题之前，首先考虑一个涉及n个约束且具有普遍性的插值问题，例如微分方程的边值问题（BVP）求解。这些约束可能是一致的，也可能是不一致的。例如，在域 {\textstyle {\mathcal {D}}:(0,1)\cup (0,1)} 的问题中，约束 {\displaystyle f_{1}(x,0)=1+x} 和 {\displaystyle f_{2}(0,y)=2-y}不一致，因为它们在 {\displaystyle (0,0)} 处产生不同的值。
上面描述的一致性问题主要针对约束、插值和泛函插值情况，包括边界条件涉及剪切和混合导数的情况。如果 n 个约束一致，则可以通过选择 n 个线性无关的支撑函数（例如单项式 {\displaystyle \{1,x,x^{2},\cdots ,x^{n-1}\}} ）来构造插入这些约束的函数。所选的支撑函数（support function）集可能与给定的约束一致，也可能不一致。例如，约束 {\displaystyle y(-1)=y(+1)=0} 和 {\displaystyle {\dfrac {dy}{dx}}{\bigg |}_{x=0}=1} 与支撑函数 {\displaystyle \{1,x,x^{2}\}} 不一致。如果支撑函数与约束一致，则可以求解泛函插值问题，从而产生一个插值函数——一个满足所有约束的函数。选择不同的支撑函数将导致不同的插值。当解决了一个插值问题并确定了一个初始插值函数时，原则上，可以通过使用与约束一致的每一组不同的线性独立支撑函数进行插值过程来生成所有可能的插值函数。但是，这种方法是不切实际的，因为可能的支撑函数集的数量是无限的。
随着泛函连接理论（TFC）的发展，这个问题得以解决。泛函连接理论是德克萨斯A&M大学的D. Mortari教授在其著作中引入的用于执行泛函插值的分析框架。该方法构造了一个约束泛函（constrained functional）{\displaystyle f\left({x{\text{, }}g\left(x\right)}\right)}，其中自由函数 {\displaystyle g\left(x\right)} 无论取何种表达式，{\displaystyle f\left({x{\text{, }}g\left(x\right)}\right)} 都满足给定约束。因此约束泛函 {\displaystyle f\left({x{\text{, }}g\left(x\right)}\right)} 提供了所有可能的插值的完整表示。通过改变 {\displaystyle g\left(x\right)}，可以生成整个插值集，包括那些不连续或部分定义的插值。
图1流程图说明了从函数插值到泛函插值的过程。通过泛函连接理论求解得到的泛函封装了本身满足施加约束的函数的子空间，从而将搜索空间缩小到满足约束的区域。通过，约束优化问题可以重新表述为无约束问题，从而通过更简单、更稳健、更准确、更高效和可靠的方法解决它们。因此，TFC框架将约束问题转化为不受约束的问题，从而显著简化了求解过程。
首先，需要先构造点、导数、积分以及它们的任意线性组合的单变量约束，然后，该理论被扩展以适应无限和多元约束，并应用于求解常微分方程、偏微分方程和积分-微分方程。TFC 的单变量版本可以用以下两种形式之一表示。
{\displaystyle \left\{{\begin{aligned}&f\left(x{\text{, }}g\left(x\right)\right)=g\left(x\right)+\sum \limits _{j=1}^{n}{{{\eta }_{j}}\left(x{\text{, }}g\left(x\right)\right){{s}_{j}}\left(x\right)}\\&f\left(x{\text{, }}g\left(x\right)\right)=g\left(x\right)+\sum \limits _{j=1}^{n}{{{\phi }_{j}}\left(x{\text{, }}\mathbf {s} \left(x\right)\right){{\rho }_{j}}\left(x{\text{, }}g\left(x\right)\right)}\\\end{aligned}}\right.}
式中，n 表示线性约束的数量；{\textstyle g\left(x\right)} 是自由函数； 是 n 个自定义的线性无关的支撑函数；{\displaystyle {\eta _{j}}\left({x{\rm {,}}g\left(x\right)}\right)} 是系数泛函，{\displaystyle {\phi _{j}}\left({x{\rm {,}}{\bf {s}}\left(x\right)}\right)} 是开关泛函（在各自的约束下计算时取值1，在其他约束下取值0）, {\displaystyle {\rho _{j}}\left({x{\rm {,}}g\left(x\right)}\right)} 是用自由函数表示约束的投影泛函，具体表示见。

## 一个例子
为了说明TFC如何泛化插值，在下文中将介绍一个算例。考虑约束条件 {\displaystyle {\dot {y}}\left({x_{1}}\right)={{\dot {y}}_{1}}} 和 {\displaystyle {\dot {y}}\left({x_{2}}\right)={{\dot {y}}_{2}}} ，满足这些约束的插值函数是
{\displaystyle {{f}_{a}}\left(x\right)={\frac {x\left(2{{x}_{2}}-x\right)}{2\left({{x}_{2}}-{{x}_{1}}\right)}}{{\dot {y}}_{1}}+{\frac {x\left(x-2{{x}_{1}}\right)}{2\left({{x}_{2}}-{{x}_{1}}\right)}}{{\dot {y}}_{2}}}
可以很容易地验证 {\displaystyle {f_{a}}\left(x\right)} 满足约束条件。在此基础上，构造函数 {\displaystyle \delta \left(x\right)} 。
{\displaystyle \delta \left(x\right)=g\left(x\right)-{{x\left({2{x_{2}}-x}\right)} \over {2\left({{x_{2}}-{x_{1}}}\right)}}{\dot {g}}\left({x_{1}}\right)+{{x\left({x-2{x_{1}}}\right)} \over {2\left({{x_{2}}-{x_{1}}}\right)}}{\dot {g}}\left({x_{2}}\right)}
同理，不论{\displaystyle g\left(x\right)}取为何种形式，{\displaystyle \delta \left(x\right)}的导数在 {\displaystyle x_{1}} 处和 {\displaystyle x_{2}} 处为0。因此，通过将 {\displaystyle f_{a}\left(x\right)} 与 {\displaystyle \delta \left(x\right)} 相加，得到约束泛函 {\displaystyle f\left({x{\rm {,}}g\left(x\right)}\right)} 如下。
{\displaystyle f\left(x{\text{, }}g\left(x\right)\right)={\frac {x\left(2{{x}_{2}}-x\right)}{2\left({{x}_{2}}-{{x}_{1}}\right)}}{{\dot {y}}_{1}}+{\frac {x\left(x-2{{x}_{1}}\right)}{2\left({{x}_{2}}-{{x}_{1}}\right)}}{{\dot {y}}_{2}}+g\left(x\right)-{\frac {x\left(2{{x}_{2}}-x\right)}{2\left({{x}_{2}}-{{x}_{1}}\right)}}{\dot {g}}\left({{x}_{1}}\right)+{\frac {x\left(x-2{{x}_{1}}\right)}{2\left({{x}_{2}}-{{x}_{1}}\right)}}{\dot {g}}\left({{x}_{2}}\right)}
对于约束泛函 {\displaystyle f\left({x{\rm {,}}g\left(x\right)}\right)} ，无论 {\displaystyle g\left(x\right)} 取为何种形式，只要 {\displaystyle g\left(x\right)} 在 {\displaystyle x_{1}} 和 {\displaystyle x_{2}} 处有定义，必然满足约束条件。由于 {\displaystyle g\left(x\right)} 的灵活性，约束泛函 {\displaystyle f\left({x{\rm {,}}g\left(x\right)}\right)} 就可以在指定的约束以外任意取值。重要的是，这种灵活性不仅限于本例中选择的特定约束。相反，它普遍适用于任何一组约束。这种普遍性说明了 TFC 如何进行泛函插值：它构造一个满足给定约束的函数，同时通过改变 {\displaystyle g\left(x\right)} 使其在约束之外的地方足够自由。本质上，这个例子表明约束泛函捕获了所有满足给定约束的可能函数，展示了 TFC 在处理各种插值问题方面的强大功能和通用性。

## 泛函连接理论的应用
泛函连接理论提出以来，它在许多领域得到了广泛应用。这些应用包括它在剪切型和混合导数问题中的应用 、分数算子的分析 、在弯曲空间中确定边值问题的测地线 以及对延拓法的贡献 。此外，TFC 已应用于间接最优控制、刚性化学动力学建模和流行病学动力学研究。它还在非线性规划和结构力学等领域显示出潜力。
特别地，TFC 在神经网络中表现出了非凡的效率，尤其是在提高准确性和解决高维问题方面。TFC 通过有效消除优化过程中的约束，显著提高了物理信息神经网络（PINN）的性能，这是传统神经网络通常难以解决的。此功能显著提高了计算效率和准确性，从而能够更轻松地解决复杂问题。

## 与谱方法的区别
TFC 和谱方法在解决约束优化问题的方法上很相似。但是，它们之间有两个基本区别：
1. 解的表示：谱法将解表示为基函数的和，而 TFC 将自由函数表示为基函数的和。这种区别使 TFC 能够在分析上满足约束条件，而频谱方法将约束视为附加数据，以取决于残差的准确度对其进行近似。
2. 变值问题中的计算方法：在线性变值问题中，两种方法的计算策略差异很大。谱方法通常采用迭代技术（例如打靶法）将变值问题重新表述为初值问题。相反，TFC 通过线性最小二乘技术直接解决这些问题，无需迭代过程。
这两种方法都可以使用Galerkin方法（确保残差向量与所选基函数正交）或Collocation方法 （最小化残差向量的范数）来执行优化。

## 与拉格朗日乘子法的区别
在存在约束的优化问题中。该方法引入了其他变量（拉格朗日乘子），必须计算这些变量才能强制执行约束。在某些情形下，拉格朗日乘子法的计算较为困难。相比之下，TFC 不添加新变量，并且能够推导约束泛函，从而简化了问题的求解。但是，拉格朗日乘子方法具有处理不等式约束的优势，而TFC目前缺乏这种能力。
这两种方法的一个共同局限性是它们容易产生局部最优解而不是全局最优解，尤其是在非凸问题的求解中。因此，可能需要补充验证程序或替代方法来评估和确认所获得解决方案的质量和全局有效性。总之，虽然 TFC 并不能完全取代拉格朗日乘子方法，但在乘数计算变得过于复杂或不可行的情况下，只要约束仅限于等式约束，它就可以作为一个强大的替代方案。