Skip to content

定义Definition

微分指标与隐藏约束

Differentiation index of a DAE · DAE differentiation index · 隐藏约束 · 微分指标

以导数阵列提取全部状态导数所需的最少微分次数定义指标,逐层推导指数1、2及机械指数3的隐藏条件,并展示约束降阶后的漂移和数据微分放大。

约束里没有写出的导数,未必可以自由选择。对“位置必须在圆上”求一次导数得到切向速度,再求一次才看见维持圆周的反作用力。微分指标记录需要沿这条链走几步,才能解出所有状态分量的导数。

形式陈述 ​

本页采用哪一种指标 ​

对光滑DAE

(1)F(t,u,u′)=0,

依次作关于时间的全导数,形成导数阵列

(2)F=0,DtF=0,…,DtνF=0.

这里 Dt会同时微分显式时间、状态以及状态的高阶导数;计算时将 u′,u″,…暂时作为独立的导数未知量。例如

DtF=Ft+Fuu′+Fu′u″.

在相容解附近,若相关消元秩保持不变,式(2)能通过局部光滑代数消元提取唯一的

(3)u′=a(t,u),

则使这一点成立的最小非负整数 ν称为本表示的微分指标。式(3)称为底层ODE。消元仍保留约束;并不是说其任意初值都对应原DAE解。

以下所有指标计算采用这个“解出全部状态导数”的约定,并假定所写函数足够光滑、所列可逆块在一个邻域内保持可逆。显式ODE的指标为0;非退化纯代数方程需要微分一次,指标为1。求出某个代数变量本身,和求出它的导数,相差的一次不能漏掉。

秩变化点和退化方程表示可能没有这样一个统一指标。另有扰动指标、tractability index等概念;本页不把这些不同定义自动视为相同。

直觉

指数1:一次微分补上代数导数 ​

对

(4)x′=f(t,x,z),g(t,x,z)=0,gz可逆,

原方程不含 z′,所以尚不能确定完整状态 (x,z)的导数。一次微分给

gt+gxf+gzz′=0,

唯一解出 z′。故指标恰为1,而不是因为约束能直接解出 z就记成0。

指数2:先找出隐藏的代数条件 ​

现在代数约束不含 z:

(5)x′=f(t,x,z),g(t,x)=0.

第一次微分产生

(6)H(t,x,z):=gt(t,x)+gx(t,x)f(t,x,z)=0.

这是隐藏约束。如果方阵

(7)Hz=gxfz

可逆,隐函数定理使式(6)局部决定 z=ζ(t,x)。但它仍没有决定 z′;还须再微分一次:

(8)z′=−Hz−1(Ht+Hxf).

两次足够。一次不够,是因为式(6)不含 z′;微分第一条运动方程产生的 x″可以随任意 z′调整,不能反过来多提供一个独立限制。因此在这些非退化条件下,指标恰为2。

一致初值必须同时满足 g(t0,x0)=0与 H(t0,x0,z0)=0。沿约化ODE有 dg/dt=H=0,所以第一项约束由正确初值传给整个局部轨道。只求出 H=0而忘记初始 g=0,会保留一个任意常数偏差。

指标计算应保存每层约束 ​

实际推导可列三栏:本层新增方程、该层解出的未知量、使用的可逆块。下一层只在这些块仍可逆的区域内有效。某一时刻块失秩,应停止沿用当前约化,而不是继续把一个越来越大的逆矩阵当成正常系数。

指标衡量方程的微分结构,不直接给积分器的误差阶,也不是判断某个具体步长是否稳定的数字。

例子与边界

一个一眼能核验的指数2系统 ​

给定光滑函数 r,考虑

(9)x′=z,x=r(t).

所有解都被强制为 x=r,z=r′。再微分一次,才得到完整底层ODE x′=z, z′=r″。一致初值是 (r(t0),r′(t0)),而非只要 x0=r(t0)就可以。

若数值上只推进 z′=r″,则 z−r′保持初值误差;继续积分 x′=z,得到

(10)x(t)−r(t)=a+b(t−t0),a=x0−r(t0),b=z0−r′(t0).

求导消掉的常数没有消失,它们变成了位置与速度漂移。

机械系统为什么是指数3 ​

取常对称正定质量矩阵 M,位置 q∈Rd、速度 v∈Rd、乘子 λ∈Rm,其中 1≤m≤d。令 g:Rd⊃U→Rm光滑,G=Dg满行秩。考虑

(11)q′=v,Mv′=F(t,q,v)−G(q)Tλ,g(q)=0.

把乘子也计入状态 u=(q,v,λ)。第一次微分位置约束得到 Gv=0;第二次得到

GM−1F−GM−1GTλ+D2g(q)[v,v]=0.

记 W=GM−1GT。任意非零 a∈Rm满足

aTWa=(GTa)TM−1(GTa)>0,

因为满行秩使 GTa≠0。所以第二次微分唯一确定

(12)λ=Λ(t,q,v):=W−1(GM−1F+D2g(q)[v,v]).

第三次微分才确定

(13)λ′=Λt+Λqv+ΛvM−1(F−GTΛ).

前两层不限制 λ′,第三层的系数 W可逆,故原位置约束形式的微分指标为3。一致初值要同时满足 g(q0)=0、G(q0)v0=0和 λ0=Λ(t0,q0,v0)。

若把原位置约束替换成速度约束,得到指数2表示;替换成式(12),得到指数1表示。它们只有在保留正确位置、速度初值时才给出原轨道。仅有加速度层约束时,g(q(t))可以像式(10)一样线性漂移。

小幅数据不保证小幅解 ​

三条方程

(14)x1′=x2,x2′=x3,x1=r(t)

强制 x=(r,r′,r″)。取 rω(t)=ω−1sin⁡(ωt),有

|rω|≤ω−1,x3=−ωsin⁡(ωt).

在任意固定正长度时间窗内,充分大的 ω使 x3的最大幅度达到 ω。只用外力的上确界范数度量输入,会漏掉被系统实际调用的导数。更高指标一般需要更强的数据正则性和扰动范数;它并不等同于普通ODE中的快速衰减刚性。

推论与应用

与常系数幂零指数的对应 ​

对正则常系数系统 Eu′=Au+f(t),可作常可逆左右变换,分出

(15)y′=Jy+a(t),Nz′=z+b(t),Nν=0,Nν−1≠0.

若存在代数块,外力足够光滑且保留全部 z分量,则微分指标恰为 N的幂零指数 ν;没有代数块时记为0,非空零矩阵块的指数为1。正则常系数DAE会证明分解,并沿最长链说明为何少一次微分仍不能解出全部导数。

这里对应的是常系数、正则束和本页的微分指标。不能把同一数值无条件套到变系数、奇异束或任意重写后的方程上。

降阶后如何验收 ​

对于式(11),计算报告应保留位置残差 g(q)、速度残差 Gv和动力残差 Mv′−F+GTλ。把最后一项算得很小,并不能替代前两项。

Baumgarte稳定化让被求导消掉的约束残差满足一个衰减方程;RATTLE则在离散步内分别求位置和切向动量约束。前者是连续反馈方程的修改,后者是特定结构积分器;它们都需要各自的可解性与误差检查,不能仅凭“降低了指标”宣布计算可靠。

参考资料
  • Ernst Hairer,Solving Differential Equations on Manifolds,June2011,IV.2,Definition2.1及指数1–3讨论,印刷pp.30–32;IV.4,pp.34–36:机械系统的三种约束层及一致初值。本文将显式时间和乘子导数写出,固定指标计数的对象。
  • Steffen Schulz,Four Lectures on Differential-Algebraic Equations,2003,§2.1–2.2,Definitions2.3–2.4,pp.10–12:常系数幂零块与微分指标。后续tractability index采用不同定义,不在本页混用。
关系图谱8 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系