当前位置: 首页 > news >正文

变分法和欧拉-拉格朗日方程 - Emi

基本概念

  • 函数(function):函数是一种映射,输入一个数,输出一个数。
  • 泛函(functional):泛函也是一种映射,输入一个函数,输出一个数。故我们可以说泛函是函数的函数。
  • 微分(derivation):微分是函数的”输入和输出“的无穷小变化,即自变量(数)的无穷小变化和由其引起的函数的无穷小变化。
  • 变分(variation):变分是泛函的“输入和输出”的无穷小变化,即函数的无穷小变化和由其引起的泛函的无穷小变化。\(\delta f(t)=f_1(t)-f_2(t)\)。这里的\(\delta\)表示变分运算。
    微分和变分的区别
  • 全导数:一个函数相对参数的完整导数。全导数不仅仅是某个变量的偏导数,而是考虑了所有依赖变量的链式求导的结果。

一些常见的泛函(例子)

  1. 平面上两点之间的曲线长度\(S\)为平面曲线方程\(f(x)\)的泛函:

\[S=\int_{x_1}^{x_2}dx\sqrt{1+(f'(x))^2} \]

经典力学中的泛函通常可以写成积分的形式

\[S=\int_{t_1}^{t_2}dtL(t,f(t),f'(t),f''(t),\dots) \]

变分的运算规则

  • \(\delta(f^n)=nf^{n-1}\delta(f)\)
  • \(\delta(af_1+bf_2)=a\delta(f_1)+b\delta(f_2)\)
  • \(\delta(f_1f_2)=f_1\delta(f_2)+f_2\delta(f_1)\)
  • 微分变分可交换符号:\(\delta(df)=d(\delta f)\)
  • 变分和导数也可交换符号:\(\delta(\frac{df(t)}{dt})=\frac{d}{dt}(\delta f(t))\)
  • 变分符号可以移到积分号内

导数

普通函数的导数:

函数\(f(t)\)的微分是由自变量\(t\)的微分引起的:

\[f(t^{\prime})=f(t+\epsilon dt)=f(t)+\epsilon df(t)+\frac{\epsilon^2}{2}d^2 f(t)+\frac{\epsilon^3}{3!}d^3 f(t)\dots \]

一阶导数:

\[df(t)=\frac{df(t)}{dt}dt \]

高阶导数:

\[d^n f(t)=\frac{d^n f(t)}{dt^n}(dt)^n \]

泛函的导数:

为了更好地理解泛函的导数,先类比多元函数\(F=F(x_1,x_2,\dots,x_n)\)的微分:

\[dF=\sum_n \frac{\partial F}{\partial x_n}dx_n \]

泛函的变分是由函数的变化引起的:

\[S(t')=S[f+\epsilon \delta f]=S[f]+\epsilon\delta S[f]+\frac{\epsilon^2}{2}\delta^2S[f]+\frac{\epsilon^3}{3!}\delta^3S[f]+\dots \]

一阶变分和一阶泛函导数:

\[\delta S[f]=\int dt \frac{\delta S}{\delta f(t)}\delta f(t) \]

这里\(\delta S[f]\)是泛函的一阶变分,\(\frac{\delta S}{\delta f(t)}\)一阶泛函导数。这个表达式表明,泛函的变分是函数变分\(\delta f(t)\)与泛函导数的乘积在定义域上的积分。这种形式与普通函数的导数类似,其中函数的微小变化乘以导数给出函数值的变化。由于\(\delta f(t)\)是一个函数而非单一变量的增量,我们需要对整个定义域进行积分,以累积所有点的变化对泛函的影响,所以式中一定有积分。
高阶变分和高阶泛函导数:

\[\delta^n S[f]=\int dt_1\int dt_2\dots\int dt_n\frac{\delta^n S}{\delta f(t_1)\delta f(t_2)\dots \delta f(t_n)}\delta f(t_1)\delta f(t_2)\dots\delta f(t_n) \]

复习分部积分

分部积分来源于微分的乘积规则:

\[du v=d(uv)-udv \]

对两边积分并整理,得到分部积分公式:

\[\int u' vdt=uv-\int uv'dt \]

如何求泛函的一阶导数

令泛函为:

\[S[f]=\int dt L(t,f(t),f'(t),f''(t),\dots) \]

我们要求的是泛函的变分,也即:

\[\delta S[f]=\delta \int dt L(t,f(t),f'(t),f''(t),\dots) \]

第一步:我们将变分符号移到积分内部(注意:我们之前介绍过积分和泛函可以交换位置)

\[\delta S[f]=\int dt \delta L(t,f(t),f'(t),f''(t),\dots) \]

第二步:我们计算\(\delta L\),使用类似符合函数求导的规则

\[\delta S[f]=\int dt (\frac{\partial L}{\partial f}\delta f+\frac{\partial L}{\partial f'}\delta f'+\frac{\partial L}{\partial f''}\delta f''+\dots) \]

第三步:做分部积分,目的是将\(\delta f\)提出去。我们先看第二项:\(\frac{\partial L}{\partial f'}\delta f'=\frac{\partial L}{\partial f'}\delta \frac{df}{dt}\)。根据变分和微分可以交换顺序,这一项又可以被写成\(\frac{\partial L}{\partial f'}\frac{d}{dt}\delta f\)。我们令\(u=\frac{\partial L}{\partial f'}\),令\(v=\delta f\)。因此我们可以写出\(\frac{\partial L}{\partial f'}\delta f'=d(\frac{\partial L}{\partial f'}\delta f)-\frac{d}{dt}(\frac{\partial L}{\partial f'}\delta f)\)。其中第一项为全导数项可以省略。因此最终我们的第二项为:\(\frac{\partial L}{\partial f'}\delta f'=-\frac{d}{dt}(\frac{\partial L}{\partial f'}\delta f)\)。第三项是同样的推导方法,只是需要使用两次分部积分。

\[\delta S[f]=\int dt[\frac{\partial L}{\partial f}-\frac{d}{dt}(\frac{\partial L}{\partial f'})+\frac{d^2}{dt^2}(\frac{\partial L}{\partial f''})+...]\delta f \]

第四步:提取\(\delta f\)前的系数,即一阶泛函导数

\[\frac{d S}{d f}=\frac{\partial L}{\partial f}-\frac{d}{dt}(\frac{\partial L}{\partial f'})+\frac{d^2}{dt^2}(\frac{\partial L}{\partial f''})+\dots \]

?为什么全导数项在变分时可以省略

假设存在一个泛函:

\[S[f]=\int_{t_1}^{t_2}L(f,f^{\prime},f^{\prime\prime},\dots,t)dt \]

如果被积函数\(L\)中含有某个全导数项,例如:

\[L(f,f^{\prime},t)=\frac{d}{dt}A(f,t) \]

那么泛函就成为了:

\[\int_{t_1}^{t_2} \frac{d}{dt}A(f,t) dt=A(f(t_2),t_2)-A(f(t_1),t_1) \]

这只是边界上的值,和整个函数\(f(t)\)在区间上的“形状”无关。而变分法关注的是在保留边界不变,即\(\delta f(t_1)=\delta f(t_2)=0\)的前提下,泛函\(S[f]\)的极值。因此,全导数项在变分时对极值没有贡献,其变分为零。

泛函极值

考察当输入函数取什么形式时,泛函输出的值取极值,这就是泛函极值问题。泛函极值问题可以回答:1. 为何两点之间直线距离最短?2. 如何使得平面上固定长度曲线所围的面积最大?3. 轨道形状如何小球下落时间最短?等问题。

而泛函取极值的条件则为,泛函的一阶导数为零,自然地泛函的一阶变分也为零(类比函数取极值即为其一阶导数为0):

\[\delta S[f]=0 \]

\[\frac{\delta S[f]}{\delta f}=0 \]

如何理解呢?假设泛函\(S[f]\)\(f=f_1(t)\)时取极小(大)值,意味着任何对\(f_1(t)\)的小偏离\(f_1+\epsilon\delta f\),都会使得\(S[f_1+\epsilon \delta f]\)的值比\(S[f_1]\)的值大(小),因此只有当\(\delta f=0\)时才会取极值。这也等价于\(S[f_1+\epsilon\delta f]\)作为参数\(\epsilon\)的普通函数,在\(\epsilon=0\)处取极值。

正如一阶导数为零只是函数取极值的必要而非充分条件,同样,一阶泛函导数为零只是泛函取极值的必要而非充分条件。

欧拉-拉格朗日方程

物理中大部分感兴趣的系统都是泛函的被积函数\(L\)最高包含\(f\)的一阶导数:

\[S[f]=\int dt L(t,f(t),f'(t)) \]

此前已经说过,泛函取极值的必要条件是泛函的一阶导数为零,因此:

\[-\frac{\delta S}{\delta f}=\frac{d}{dt}(\frac{\partial L}{\partial f'})-\frac{\partial L}{\partial f}=0 \]

这是变分问题的欧拉-拉格朗日方程。
直接对L求全导数:

\[\frac{dL}{dt}=\frac{\partial L}{\partial t}+\frac{\partial L}{\partial f}f'+\frac{\partial}{\partial f'}f''=\frac{\partial L}{\partial t}+\frac{\partial L}{\partial f}f'+\frac{d}{dt}(\frac{\partial L}{\partial f'}f')-\frac{d}{dt}(\frac{\partial L}{\partial f'})f'=\frac{\partial L}{\partial t}-[\frac{d}{dt}(\frac{\partial L}{\partial f'})-\frac{\partial L}{\partial f}]f'+\frac{d}{dt}(\frac{\partial L}{\partial f'}f') \]

根据之前一阶泛函导数取极值,我们知道方括号中的内容为0,据此我们可以得到:

\[\frac{d}{dt}(\frac{\partial L}{\partial f'}f'-L)+\frac{\partial L}{\partial t}=0 \]

我们称这个公式为欧拉-拉格朗日方程的等价形式。
如果被积函数\(L\)包含\(f(t)\)的最高到\(N\)导数,即\(L=L(t,f,f',\dots,f^{(N)})\),则上面的求和展开为:

\[\frac{\delta S}{\delta f}=\frac{\partial L}{\partial f}-\frac{d}{dt}(\frac{\partial L}{\partial f'})+\dots+(-1)^{(N)}\frac{d^N}{dt^N}(\frac{\partial L}{\partial f^{(N)}}) \]

如果\(\frac{\partial L}{\delta f}\)\(f(t)\)的最高阶导数来自最后一项,如果\(\frac{\partial L}{\partial f^{(N)}}\)仍然包含\(f^{(N)}\),即:

\[\frac{\partial}{\partial f^{(N)}}(\frac{\partial L}{\partial f^{(N)}})=\frac{\partial^2L}{\partial f^{(N)}\partial f^{(N)}}\neq 0 \]

\(\frac{d^N}{dt^N}(\frac{\partial L}{\partial f^{(N)}})\)包含最高至\(f(t)\)\(2N\)阶导数。满足上边这个式子的\(L\)也被称作是非退化的。

守恒量

我们对上边的\(L\)直接求全导数:

\[\frac{dL}{dt}= \frac{\partial L}{\partial t}+\frac{\partial L}{\partial f}f'+\frac{\partial L}{\partial f'}f''=\frac{\partial L}{\partial t}+\frac{\partial L}{\partial f}f'+\frac{d}{dt}(\frac{\partial L}{\partial f'}f')-\frac{d}{dt}(\frac{\partial L}{\partial f'})f'=\frac{\partial}{\partial t}-[\frac{d}{dt}(\frac{\partial L}{\partial f'})-\frac{\partial L}{\partial f}]+\frac{d}{dt}(\frac{\partial L}{\partial f'}f')\]

因此当欧拉拉格朗日方程满足时,也必定有:

\[\frac{d}{dt}(\frac{\partial L}{\partial f'}f'-L)+\frac{\partial L}{\partial t}=0 \]

如果\(L\)不显含积分变量\(t\),也即\(L\)是守恒量,也即\(L\)不随时间演化,我们可以得知:

\[\frac{\partial L}{\partial t}=0 \Rightarrow \frac{\partial L}{\partial f'}f'-L=C \]

其中\(C\)是常数。

多个变量和多元函数

多个变量

上述研究的是依赖单个函数\(f(t)\)的泛函,即\(S=S[f]\)。以上所有讨论对于多个独立函数\(f_1(t),f_2(t),\dots\)的泛函的推广是直接的。考虑泛函:

\[S=S[f_1,f_2,\dots]=f dxL(t,f_1,f_2,\dots,f_1^{\prime},f_2^{\prime}) \]

其极值同样要求:

\[\delta S=\int dx(\frac{\delta S}{\delta f_1}\delta f_1+\frac{\delta S}{\delta f_2}\delta f_2+\dots)=0 \]

函数\(f_1,f_2,\dots\)是独立的,其变分\(\delta f_1,\delta f_2,\dots\)也是相互独立的,因此上式成立的必然要求是每一项的系数都为零,于是泛函取极值即要求:

\[\frac{\delta S}{\delta f_1}=0,\frac{\delta S}{\delta f_2}=0,\dots \]

多元函数

\(f\)\(t\)\(x\)的二元函数\(f=f(t,x)\)。简单起见,我们只考虑\(L\)含有\(f\)的一阶导数,泛函具有形式:

\[S[f]=\int \int dt dx L(t,x,f,\frac{\partial f}{\partial t},\frac{\partial f}{\partial x})=\int \int dt dx [\frac{\partial L}{\partial f}\delta f+\frac{\partial L}{\partial(\frac{\partial f}{\partial t})}\delta(\frac{\partial f}{\partial t})+\frac{\partial L}{\partial (\frac{\partial f}{\partial x})}\delta(\frac{\partial f}{\partial x})]=\int \int dt dx[\frac{\partial L}{\partial f}-\frac{\partial}{\partial t}(\frac{\partial L}{\partial (\frac{\partial f}{\partial t})})-\frac{\partial}{\partial x}(\frac{\partial L}{\partial (\frac{\partial f}{\partial x})})]$$。 所以泛函取极值的必要条件即: $$\frac{\delta S}{\delta f}=\frac{\partial L}{\partial f}-\frac{\partial}{\partial t}(\frac{\partial L}{\partial(\frac{\partial f}{\partial t})})-\frac{\partial}{\partial x}(\frac{\partial L}{\partial(\frac{\partial f}{\partial x})})\]

http://www.hskmm.com/?act=detail&tid=12995

相关文章:

  • AT_arc194_d [ARC194D] Reverse Brackets
  • 2025.9.22——1橙
  • huggingface.co 无法访问
  • 202403_QQ_brutezip
  • Day19回顾方法的调用
  • 「微积分 A1」极限与连续函数
  • PHP OOP 面向对象进阶 27 个问题让你充分了解对象特性
  • 202312_DASCTF_蚁剑流量
  • 网页开发入门:CSS与JS基础及BS/CS架构解析 - 实践
  • 实用指南:Vue开发准备
  • AppSpider 7.5.020 for Windows - Web 应用程序安全测试
  • 上周热点回顾(9.15
  • “学术造神”何时休?
  • python学习网站
  • vLLM 核心机密:大模型推理引擎内部长啥样?
  • 华为销量下滑OV米荣迎来窗口期
  • 【GitHub每日速递 250922】开源 AI 搜索引擎 Perplexica:本地大模型 + 多模式搜索,免费又强大!
  • coze工作流实战——三分钟读一本名著
  • 大厂是怎么识别“高潜员工”的?
  • 读人形机器人19后劳动经济
  • 2025年最佳笔记本扩展坞评测:一站式提升工作站效率
  • 论文查重项目
  • 我的第一个程序Hello,World!成功运行!
  • Day05-1-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\David\scanner-Demo01~05(简易计算器)
  • Day05-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\David\struct-ifDemo01~03+shunxuDemo
  • JS历理 优化login.js脚本2
  • Codeforces Round 1052 (Div. 2)
  • uboot启动流程
  • 内存泄漏
  • Context Engineering