张量篇 第 T3 章 曲线坐标、运动标架与 Christoffel 符号
对应原书:Simmonds《A Brief on Tensor Analysis》第 2 版,第 III 章 Newton's Law and Tensor Calculus(书 p.45–69,PDF p.58–82;原书 p.70 为空白页,扫描缺失)。
原书借牛顿第二定律 \(\mathbf f=m\ddot{\mathbf x}\) 引入张量微积分:在极坐标、球坐标这类曲线坐标里,基向量随位置变化,对它求导就产生 Christoffel 符号;换坐标时,第 T2 章的基变换矩阵 \(A\) 变成逐点变化的 Jacobian \(\partial u^i/\partial\tilde u^j\),得到全书唯一加方框的公式。牛顿力学本身与量化无关,但本章的两个结论对量化很重要:梯度按 Jacobian 协变地变换;二阶导数(Hessian、Christoffel 符号)在非线性换元下会多出一项,因而不是张量。这解释了"换参数化后牛顿法为什么表现不同""对数价格下的 Gamma 为什么多一项 Delta"等现象。
学习目标
读完本章,你应当能够:
- 由坐标变换 \(\mathbf x=\hat{\mathbf x}(u^j)\) 写出自然基 \(\mathbf g_i=\partial\mathbf x/\partial u^i\)、Jacobian 与倒易基,理解"运动标架":基向量随点变化。
- 推导一般坐标下的加速度 \(a^k=\ddot u^k+\Gamma^k_{ij}\dot u^i\dot u^j\),并把极坐标的向心项 \(-r\dot\theta^2\)、Coriolis 项 \(2\dot r\dot\theta\) 认作 Christoffel 符号的贡献。
- 用 \(\Gamma^k_{ij}=\mathbf g^k\cdot\mathbf g_{i,j}\) 或只用度量的公式 \(\Gamma^k_{ij}=\frac12g^{kp}(g_{ip,j}+g_{jp,i}-g_{ij,p})\) 计算 Christoffel 符号,并用
numpy.einsum数值实现。 - 掌握方框公式:坐标变换下协变分量乘 \(\partial u^i/\partial\tilde u^j\),逆变分量乘 \(\partial\tilde u^i/\partial u^j\)。
- 理解 Christoffel 符号的变换含二阶导数项因而不是张量;把它对应到重参数化下 Hessian 的变换 \(\tilde H=J^TH J+\sum_kf_{,k}\,\partial^2u^k/\partial\tilde u\partial\tilde u\),并说明自然梯度为何与参数化无关。
读前导读
先说实话:这一章对量化是选读
张量篇(T1–T4)取材于一本写给力学和工程学生的书。本章的主线是牛顿定律、极坐标里的向心加速度和 Coriolis 项,这些和交易、定价、风控都没有直接关系。如果你时间紧,可以只读下面列出的几处,其余部分跳过,不影响后面各册。
真正对量化有用的只有三件事,而且都集中在 T3.5、T3.6 和实战 2:
- 换参数时,一阶导数(梯度、Delta)只需乘 Jacobian。 这就是你熟悉的链式法则。期权 Delta 从"对价格"换成"对对数价格"要乘 \(S\),就是这一条。
- 二阶导数(Hessian、Gamma)换参数时会多出一项。 多出的这一项正比于一阶导数,所以在最优点(一阶导数为零)消失。这解释了两件实务现象:对数价格下的 Gamma 比 \(S^2\Gamma\) 多一个 \(S\cdot\text{Delta}\);最大似然估计在 \(\sigma\) 和 \(\log\sigma\) 两种参数化下,标准误可以用 delta 方法互相换算,但牛顿法的迭代路径却不同。
- 梯度要经过一个"度量"才成为方向。 偏导数向量告诉你"往各坐标方向走一步,函数变多少",但它本身不是"该往哪走"。把它乘上度量矩阵的逆,才是一个和参数化无关的方向。度量取 Fisher 信息时,这就是自然梯度。第 T4 章会把同一思路用到组合上,得到 \(\Sigma^{-1}\boldsymbol\mu\)。
这一章在解决什么问题
在笛卡尔坐标(普通的 \(x,y,z\))里,坐标轴方向处处相同,求导很简单。换成极坐标、球坐标这类"弯曲"的坐标后,"沿 \(r\) 增加的方向"在不同的点指向不同的地方。于是对一个向量求导时,除了分量本身的变化,还要算上"尺子方向变了"带来的变化。Christoffel 符号 \(\Gamma^k_{ij}\) 就是记录"尺子怎么变"的一张表。
用金融话说:债券价格对收益率的敏感度(DV01)本身随收益率水平变化,所以凸性里包含了"敏感度本身在变"的信息。本章讲的是同一类现象在多维、任意坐标下的系统写法。
需要先想起来的数学
1. 偏导数与链式法则。 偏导数 \(\partial f/\partial u\) 是只动 \(u\)、其他变量不动时 \(f\) 的变化率。链式法则说:若 \(f\) 依赖 \(u\),\(u\) 又依赖 \(\tilde u\),则 \(\dfrac{\partial f}{\partial\tilde u}=\dfrac{\partial f}{\partial u}\dfrac{\partial u}{\partial\tilde u}\)。例:\(V(S)\),\(S=e^x\),则 \(dV/dx=V'(S)\cdot e^x=S\cdot\text{Delta}\)。多元时把各条路径加起来:\(\partial f/\partial\tilde u^j=\sum_i(\partial f/\partial u^i)(\partial u^i/\partial\tilde u^j)\)。见 第 00 册第 02 章 导数与泰勒展开 和 第 00 册第 05 章 多元微积分与优化。
2. Jacobian 矩阵与行列式。 一组新变量对一组旧变量的偏导数排成矩阵,就是 Jacobian 矩阵,第 \((i,j)\) 元是 \(\partial x^i/\partial u^j\)。它是"局部的线性换算表":坐标变动 \(du\),位置大约变动 \(J\,du\)。它的行列式(本书也记作 \(J\))是局部面积(体积)的放大倍数。例:极坐标 \(x=r\cos\theta,y=r\sin\theta\),行列式为 \(r\),即半径 \(r\) 处,\(dr\,d\theta\) 的小格面积约为 \(r\,dr\,d\theta\)。见 第 00 册第 06 章 线性代数速成。
3. 二阶偏导与 Hessian。 二阶偏导 \(\partial^2f/\partial u^i\partial u^j\) 排成的矩阵叫 Hessian,描述函数的"弯曲程度",一维时就是凸性/Gamma。光滑函数的混合偏导可以交换次序:\(\partial^2f/\partial u\partial v=\partial^2f/\partial v\partial u\)。见第 00 册第 05 章。
4. 指标记号(第 T2 章)。 上标是编号不是幂,\(u^2\) 指"第 2 个坐标"。Einstein 求和约定:同一项里一个指标上下各出现一次,就自动对它求和,如 \(v^i\mathbf g_i=\sum_iv^i\mathbf g_i\);这种被求和的指标叫哑指标,换个字母不改变含义。\(\delta^i_j\)(Kronecker delta)在 \(i=j\) 时为 1,否则为 0,相当于单位矩阵。\(g_{ij}=\mathbf g_i\cdot\mathbf g_j\) 是度量矩阵,\(g^{ij}\) 是它的逆矩阵。记号速查见 第 00 册第 08 章 读懂数学证明与符号。
5. 本章的两个新符号。 逗号表示偏导:\(f_{,i}=\partial f/\partial u^i\),\(\mathbf g_{i,j}=\partial\mathbf g_i/\partial u^j\)。字母上加点表示对时间求导:\(\dot r=dr/dt\),\(\ddot r=d^2r/dt^2\)。
怎么读这一章
- 跳过:T3.1(牛顿定律与守恒律)、T3.3(一般三维坐标)、T3.4 的具体例题和计数表、T3.7 中 Frenet–Serret 与中心力场两条。这些是力学内容。
- 快速浏览:T3.2,只需抓住一句话:"基向量随位置变,求导时就多出 \(\Gamma\) 项"。极坐标的向心项 \(-r\dot\theta^2\) 是这个现象最直观的例子。
- 核心必读:T3.5 的方框公式和随后关于 Delta 的那段;T3.6 整节,尤其是"量化翻译"框;实战 2 及其读法。
- 建议顺序:先读 T3.5 → T3.6 → 实战 2,确认能看懂 \(\sigma\) 与 \(\log\sigma\) 的对比;有余力再回头看 T3.2 和 T3.4.2 的度量公式。
另外提醒一句:导言说原书"全书唯一加方框的公式"指的是 (3.89)(3.90);本教材为了醒目,也给其他几个关键公式加了方框,不要混淆。
T3.1 牛顿定律与坐标无关的形式(简要)
在惯性标架中,质点满足
(原书引 Truesdell:牛顿本人从未写出这种形式,最早写出它的是 Euler。)连续介质力学把整体形式 \(\mathbf F=\dot{\mathbf L}\) 与转动动量守恒当作对任意物体成立的公设,刚体则由特殊的本构假设定义。
不写分量,直接对 (3.1) 做向量运算就能得到几条守恒律:
- 两边点乘 \(\dot{\mathbf x}\):外力功率 = 动能 \(k=\frac12m\dot{\mathbf x}\cdot\dot{\mathbf x}\) 的变化率;
- 两边叉乘 \(\mathbf x\):力矩 = 转动动量 \(\mathbf x\times m\dot{\mathbf x}\) 的变化率;
- 若存在势 \(v\) 使 \(\mathbf f\cdot\dot{\mathbf x}=-\dot v\),则 \(k+v=\) 常数(能量守恒);
- 例 3.2(Kepler 定律):中心力场中 \(\mathbf x\times\dot{\mathbf x}=\mathbf c\) 为常向量,所以轨道在一个平面内,且由例 3.1 的面积公式 \(dA/dt=\frac12|\mathbf x\times\dot{\mathbf x}|\),相等时间扫过相等面积。
术语(3.3 节):质点占据的点集称为轨道(orbit),参数化 \(\mathbf x=\hat{\mathbf x}(t)\) 称为轨迹(trajectory),速度 \(\dot{\mathbf x}\) 与轨道相切,弧长 \(s=\int|\dot{\mathbf x}|dt\)。原书脚注举了一个好例子:滚动车轮边缘一点的轨迹是光滑的,但轨道(摆线)在触地点有尖点,因为那里速度为零。
这些坐标无关的结论简洁有力,但除特例外给不出运动的全部细节。要求解,就得写成分量;而要让力的分量简单,就得选合适的坐标,例如中心力问题用极坐标。
T3.2 极坐标:运动标架
T3.2.1 自然基与屋顶分量
原书从 3.5 节起把公式排成左右两栏:左栏是平面极坐标 \((r,\theta)\) 的具体公式,右栏是一般坐标的张量形式。本章沿用这种对照,写成"极坐标 ‖ 一般形式"。
\(x=r\cos\theta\),\(y=r\sin\theta\)。位置与速度:
自然地定义
Jacobian \(J=\det\begin{bmatrix}\cos\theta&-r\sin\theta\\\sin\theta&r\cos\theta\end{bmatrix}=r\)。于是 \(\mathbf v=v^r\mathbf g_r+v^\theta\mathbf g_\theta\),
速度的屋顶(逆变)分量就是坐标的时间导数,\(\mathbf g_i\) 是该坐标系的地窖基向量(也叫自然基、协变基)。几何上(原书封面图),过点 \(P\) 有一条 \(r\)-坐标曲线(\(\theta\) 固定)和一条 \(\theta\)-坐标曲线(\(r\) 固定),\(\mathbf g_r,\mathbf g_\theta\) 分别与它们相切。注意 \(|\mathbf g_\theta|=r\),不是单位向量。
白话解释:\(\mathbf g_i=\partial\mathbf x/\partial u^i\) 回答的是"只把第 \(i\) 个坐标拨动一个单位,位置往哪儿走、走多远"。在半径 \(r\) 处把 \(\theta\) 拨动 1 弧度,点沿圆周走了 \(r\) 的距离,所以 \(|\mathbf g_\theta|=r\);拨动 \(r\) 一个单位,点沿径向走 1,所以 \(|\mathbf g_r|=1\)。离原点越远,\(\theta\) 的"一格"代表的实际距离越大。
金融直觉:这和 DV01 类似。收益率变 1bp,价格变多少,取决于你此刻所在的收益率水平。"坐标的一格"折算成"实际变化"的比例逐点不同,\(\mathbf g_i\) 就是这张逐点的换算表。
原点处 \(J=0\),基失效,这类点称为例外点(exceptional points)。作者说它们是许多坐标系的"祸与福":场方程常在那里出现奇异解,有时要按物理理由舍弃,有时恰好代表源、汇、涡线、集中力乃至黑洞这类有用的理想化。
T3.2.2 物理分量
\(\mathbf w\) 沿 \(\mathbf u\) 方向的物理分量(physical component)定义为 \(\mathbf w\cdot\bar{\mathbf u}\)。极坐标的屋顶基 \(\mathbf g^r=\cos\theta\,\mathbf e_x+\sin\theta\,\mathbf e_y\),\(\mathbf g^\theta=r^{-1}(-\sin\theta\,\mathbf e_x+\cos\theta\,\mathbf e_y)\),所以
这与通常的径向速度、角向速度一致。只有物理分量才有物理量纲:\(v^\theta=\dot\theta\) 的量纲是 1/时间,\(v^{(\theta)}=r\dot\theta\) 才是速度。量化里同理:同一笔风险,用"每单位对数价格"和"每元价格"表达,数值和单位都不同,比较前要统一。
T3.2.3 加速度与 Christoffel 符号
对 \(\mathbf v=v^i\mathbf g_i\) 求导:
关键在第二项:基向量随点变化,所以它的时间导数不为零。这就是运动标架(moving frame)的本质。由链式法则,\(\dot{\mathbf g}_i=v^j\mathbf g_{i,j}\),这里逗号表示偏导:\(\mathbf g_{i,j}=\partial\mathbf g_i/\partial u^j\)。由于 \(\mathbf g_{i,j}=\mathbf x_{,ij}=\mathbf x_{,ji}=\mathbf g_{j,i}\),二阶混合偏导可交换。
\(\mathbf g_{i,j}\) 本身是向量,可以用基展开:
系数 \(\Gamma^k_{ij}\) 称为该坐标系的 Christoffel 符号(Christoffel symbols),下指标对称 \(\Gamma^k_{ij}=\Gamma^k_{ji}\)。代入 (3.31),把第一项的哑指标 \(i\) 换成 \(k\)(张量分析的典型招数):
推导拆解:从 (3.31) 到 (3.35) 共四步。
- \(\mathbf v=v^i\mathbf g_i\) 是"分量 × 基"的乘积,对时间求导用乘积法则:\(\mathbf a=\dot v^i\mathbf g_i+v^i\dot{\mathbf g}_i\)。
- \(\mathbf g_i\) 不直接依赖时间,它依赖位置 \(u^j\),而 \(u^j\) 随时间变。用链式法则:\(\dot{\mathbf g}_i=\dfrac{\partial\mathbf g_i}{\partial u^j}\dfrac{du^j}{dt}=\mathbf g_{i,j}\,v^j\)(这里用了 (3.27) 的 \(v^j=\dot u^j\))。
- 代入 (3.33):\(v^i\dot{\mathbf g}_i=v^iv^j\Gamma^k_{ij}\mathbf g_k\)。
- 第一项 \(\dot v^i\mathbf g_i\) 里的 \(i\) 是哑指标,改名为 \(k\) 写成 \(\dot v^k\mathbf g_k\),于是两项都乘 \(\mathbf g_k\),可以合并。
结论的读法:加速度的分量 = 分量自身的变化率 \(\dot v^k\) + 基向量变化造成的修正 \(\Gamma^k_{ij}v^iv^j\)。在笛卡尔坐标里基不变,\(\Gamma=0\),只剩第一项。
极坐标下,\(\mathbf g_{r,r}=\mathbf 0\),\(\mathbf g_{r,\theta}=\mathbf g_{\theta,r}=r^{-1}\mathbf g_\theta\),\(\mathbf g_{\theta,\theta}=-r\mathbf g_r\),比较得
推导拆解:直接对 (3.25) 求偏导,再和基向量比较。
- \(\mathbf g_r=(\cos\theta,\sin\theta)\) 不含 \(r\),所以 \(\mathbf g_{r,r}=\mathbf 0\)。
- 对 \(\theta\) 求导:\(\mathbf g_{r,\theta}=(-\sin\theta,\cos\theta)\)。而 \(\mathbf g_\theta=r(-\sin\theta,\cos\theta)\),所以 \(\mathbf g_{r,\theta}=r^{-1}\mathbf g_\theta\),读出 \(\Gamma^\theta_{r\theta}=r^{-1}\)、\(\Gamma^r_{r\theta}=0\)。
- \(\mathbf g_{\theta,\theta}=(-r\cos\theta,-r\sin\theta)=-r\,\mathbf g_r\),读出 \(\Gamma^r_{\theta\theta}=-r\)、\(\Gamma^\theta_{\theta\theta}=0\)。
再代入 (3.35):\(a^r=\ddot r+\Gamma^r_{\theta\theta}\dot\theta^2=\ddot r-r\dot\theta^2\);\(a^\theta=\ddot\theta+(\Gamma^\theta_{r\theta}+\Gamma^\theta_{\theta r})\dot r\dot\theta=\ddot\theta+2r^{-1}\dot r\dot\theta\)。系数 2 来自 \((i,j)=(r,\theta)\) 和 \((\theta,r)\) 两项都要求和。
于是
物理课上的向心加速度 \(-r\dot\theta^2\) 和 Coriolis 项 \(2\dot r\dot\theta\) 原来完全来自基向量的变化。牛顿定律的分量形式为 \(f^r=m(\ddot r-r\dot\theta^2)\),\(f^\theta=m(\ddot\theta+2r^{-1}\dot r\dot\theta)\)。中心力场 \(f^\theta=0\) 时,第二式等价于 \(r^{-2}(r^2\dot\theta)^\cdot=0\),即 \(r^2\dot\theta\) 为常数,又一次得到 Kepler 定律。
T3.3 一般三维坐标
T3.3.1 常用坐标系
- 球坐标 \((\rho,\phi,\theta)\):\(x=\rho\sin\phi\cos\theta\),\(y=\rho\sin\phi\sin\theta\),\(z=\rho\cos\phi\)(\(\phi\) 为余纬),\(z\) 轴是例外点。
- 斜笛卡尔坐标 \((u,v,w)\):\(x^i=A^i_ju^j\),\(\det A\ne0\) 时无例外点。这正是第 T2 章的一般基。
- 圆柱坐标 \((r,\theta,z)\)。
统一记号:\(x^i=\hat x^i(u^j)\)(式 3.49),上标是指标不是幂;\(j\) 称为自变量指标,只要求与该项其他指标不同名。
T3.3.2 一般坐标下的牛顿定律
逐条照搬极坐标的推导(原书在每个一般公式后用方括号注明对应的极坐标公式编号):
例 3.3 球坐标的地窖基向量与 Jacobian:\(\mathbf g_\rho=(\sin\phi\cos\theta,\sin\phi\sin\theta,\cos\phi)\),\(\mathbf g_\phi=\rho(\cos\phi\cos\theta,\cos\phi\sin\theta,-\sin\phi)\),\(\mathbf g_\theta=\rho\sin\phi(-\sin\theta,\cos\theta,0)\),\(J=\rho^2\sin\phi\)。
\(f^k=0\) 时,\(\ddot u^k+\Gamma^k_{ij}\dot u^i\dot u^j=0\) 描述的是欧氏空间里的匀速直线运动在曲线坐标下的样子。第 T4 章会看到,同一个方程在曲面上就是测地线方程。
T3.4 Christoffel 符号的计算
T3.4.1 算法一:用倒易基
对 (3.63) 两边点乘 \(\mathbf g^p\),由 \(\mathbf g^p\cdot\mathbf g_k=\delta^p_k\):
步骤:(a) 求 \(\mathbf g_{i,j}\) 的笛卡尔分量;(b) 求 Jacobian 矩阵的逆得到 \(\mathbf g^k\);(c) 做点积。
例 3.4 \(x^1=u^1u^2\),\(x^2=(u^3)^2\),\(x^3=(u^1)^2-(u^2)^2\)(记 \(u,v,w\))。\(\mathbf g_u\sim(v,0,2u)\),\(\mathbf g_v\sim(u,0,-2v)\),\(\mathbf g_w\sim(0,2w,0)\);二阶导数中非零的只有 \(\mathbf g_{u,u}\sim(0,0,2)\),\(\mathbf g_{u,v}\sim(1,0,0)\),\(\mathbf g_{v,v}\sim(0,0,-2)\),\(\mathbf g_{w,w}\sim(0,2,0)\)。\(J=4w(u^2+v^2)\),用伴随公式求逆:
于是 \(\Gamma^u_{uu}=J^{-1}(2uw)(2)=u/(u^2+v^2)\),\(\Gamma^u_{uv}=v/(u^2+v^2)\),类似地 \(-\Gamma^u_{vv}=\Gamma^v_{uv}=u/(u^2+v^2)\),\(-\Gamma^v_{uu}=\Gamma^v_{vv}=v/(u^2+v^2)\),\(\Gamma^w_{ww}=1/w\),其余为零。(三维中独立的 Christoffel 符号共 \(3\times6=18\) 个。)
T3.4.2 算法二:只用度量
推导(值得自己走一遍,这是指标技巧的典型):对 \(g_{ij}=\mathbf g_i\cdot\mathbf g_j\) 求导并代入 (3.63),
在 (3.78) 中轮换指标得到另外两式 \(g_{kj,i}=\Gamma^p_{ki}g_{pj}+\Gamma^p_{ji}g_{pk}\),\(g_{ik,j}=\Gamma^p_{ij}g_{pk}+\Gamma^p_{kj}g_{pi}\)。第一式加第二式减第三式,利用 \(\Gamma\) 下指标对称,四项两两相消:
两边乘 \(\frac12g^{qj}\) 并对 \(j\) 求和(升指标),即得 (3.71)。
白话解释:第一次读不必跟完指标轮换,记住结论即可:Christoffel 符号完全由度量 \(g_{ij}\) 及其一阶导数决定。\(g_{ij}=\mathbf g_i\cdot\mathbf g_j\) 记录各方向"一格"的长度和夹角;它随位置怎么变,"尺子"就怎么变,\(\Gamma\) 也就跟着定了。最后一步"乘 \(g^{qj}\)"就是用度量矩阵的逆把方程解出来,作用相当于普通方程两边乘系数矩阵的逆。
这对量化的意义在于:统计模型里没有"嵌入的笛卡尔空间",只有一个度量(Fisher 信息矩阵)。(3.71) 保证了只凭这个矩阵,就能定义"直线"(测地线)和"二阶修正",信息几何就是从这里起步的。
这个公式有两个优点。第一,它只依赖度量 \(g_{ij}\),不需要把空间嵌入笛卡尔空间,因此可直接用于广义相对论(指标取 1–4),也可用于任何"只给了度量"的场合,比如以 Fisher 信息为度量的统计流形。第二,正交坐标中 \([g_{ij}]\) 对角,(3.71) 分成四种情形(不对 \(k\) 求和):
| 情形 | 公式 | 个数(\(n\) 维,按 \(\Gamma^k_{ij}=\Gamma^k_{ji}\) 计) |
|---|---|---|
| (a) \(i,j,k\) 互异 | \(\Gamma^k_{ij}=0\) | \(n(n-1)(n-2)/2\) |
| (b) \(i\ne j\),\(k\) 等于其一 | \(\Gamma^i_{ij}=\frac12g^{ii}g_{ii,j}\) | \(n(n-1)\) |
| (c) \(i=j\ne k\) | \(\Gamma^k_{ii}=-\frac12g^{kk}g_{ii,k}\) | \(n(n-1)\) |
| (d) 全相等 | \(\Gamma^i_{ii}=\frac12g^{ii}g_{ii,i}\) | \(n\) |
四类合计 \(n^2(n+1)/2\),三维为 18。
原书疑似印误(式 3.73)。 原书称情形 (a) 的符号在 \(n\) 维中有 \(n(n-1)/2\) 个。按下指标对称计数,应为 \(n\binom{n-1}{2}=n(n-1)(n-2)/2\)。两者只在 \(n=3\) 时相等(都是 3),所以三维的例子不受影响。上表已按正确计数给出,并可用四类之和 \(n^2(n+1)/2\) 核对。
例 3.5(球坐标) \([g_{ij}]=\operatorname{diag}(1,\rho^2,\rho^2\sin^2\phi)\)。非零的 Christoffel 符号为
(以及下指标交换后的相同值)。例如 (b) 型 \(\Gamma^\theta_{\theta\phi}=\frac12\rho^{-2}\csc^2\phi\cdot2\rho^2\sin\phi\cos\phi=\cot\phi\)。
例 3.6 球坐标中加速度的 \(\phi\) 分量。由 (3.65),只有 \(\Gamma^2_{12}\) 和 \(\Gamma^2_{33}\) 非零:
再次提醒:只有物理分量 \(a^{(\phi)}\) 有加速度量纲。
T3.5 坐标变换与方框公式
T3.5.1 自然基的变换
设从 \(u^j\) 坐标变到 \(\tilde u^k\) 坐标:\(u^j=\hat u^j(\tilde u^k)\),除个别例外点外一一对应且连续可微。例如圆柱 \((r,\theta,z)\) 到球 \((\rho,\phi,\theta)\):\(r=\rho\sin\phi\),\(\theta=\theta\),\(z=\rho\cos\phi\)。新自然基由链式法则
与第 T2 章的 \(\tilde{\mathbf g}_j=A^i_j\mathbf g_i\) 同形,只是现在
逐点变化。
T3.5.2 全书唯一的方框公式
把 (3.87)(3.88) 代入第 T2 章的 (2.36)(2.38):
记忆方法:新指标在分母(\(\tilde u\) 在下)就是协变,新指标在分子(\(\tilde u\) 在上)就是逆变,指标位置自然配平。许多教材一开头就把 (3.89)(3.90) 当作协变/逆变向量和张量的定义;广义相对论和壳体理论处理弯曲连续体时常采用这种观点。本书则把它作为推论。
金融直觉:为什么会有两种相反的换算方向?看一个一维例子。期权损益的一阶近似是 \(\text{P\&L}\approx\text{Delta}\times\Delta S\)。现在改用对数价格 \(x=\ln S\):
- 敏感度变成 \(\partial V/\partial x=S\cdot\text{Delta}\),乘 \(\partial S/\partial x=S\),这是协变分量的换法(\((3.89)_1\));
- 价格变动变成 \(\Delta x\approx\Delta S/S\),乘 \(\partial x/\partial S=1/S\),这是逆变分量的换法(\((3.89)_2\))。
两者一乘一除,乘积 \((S\cdot\text{Delta})(\Delta S/S)=\text{Delta}\times\Delta S\) 不变。这就是整个方框公式的用意:"敏感度"类的量(梯度、Delta、DV01)和"位移"类的量(价格变动、参数步长)反向换算,保证它们的配对,也就是 P&L,与你选的坐标无关。张量篇里"协变"与"逆变"之分,归根到底就是这两类量的区别。
量化里最常见的协变量是梯度。 第 T4 章会正式证明:标量函数的偏导数 \(f_{,i}\) 是梯度的地窖分量。所以 \((3.89)_1\) 就是链式法则 \(\partial f/\partial\tilde u^j=(\partial u^i/\partial\tilde u^j)\,\partial f/\partial u^i\)。期权的 Delta 从"对价格"换成"对对数价格",\(\partial V/\partial x=S\,\partial V/\partial S\)(\(x=\ln S\)),就是这个公式的一维情形。
例 3.7 圆柱坐标中某张量在 \(r=1,\theta=\pi/4,z=-\sqrt3\) 处的混合分量(第 \(i\) 行第 \(j\) 列为 \(T_j^{\cdot i}\))为
求球坐标分量 \(\tilde T_2^{\cdot1}\)。该点 \(\rho=2\),\(\sin\phi=\frac12\),\(\cos\phi=-\frac{\sqrt3}2\)。两个 Jacobian 矩阵为
由 \((3.90)_3\):
T3.6 Christoffel 符号不是张量
定义新坐标下的 \(\tilde\Gamma^i_{jk}=\tilde{\mathbf g}^i\cdot\partial\tilde{\mathbf g}_j/\partial\tilde u^k\)。对 (3.86) 再求一次导,乘积法则给出两项:
点乘 \(\tilde{\mathbf g}^i=(\partial\tilde u^i/\partial u^p)\mathbf g^p\):
如果没有带下划线的二阶导数项,这就是 3 阶张量(一个上标、两个下标)的变换律。正因为有这一项,Christoffel 符号不是张量的分量。有些作者因此把它写成 \(\{^{\,i}_{jk}\}\) 以示区别。
白话解释:"是不是张量"的意思是:换坐标时,它能不能只靠乘几个 Jacobian 就换算过去。一阶导数可以,二阶导数一般不行。最简单的例子:\(f(u)=u\) 是直线,\(f''=0\)。改用坐标 \(u=\tilde u^2\) 后,\(f=\tilde u^2\),对 \(\tilde u\) 的二阶导数是 2。原来是 0,乘任何 Jacobian 还是 0,得不到 2。多出来的 2 完全是"坐标本身弯曲"造成的,就是 (3.95) 下划线项的一维版本。
所以 \(\Gamma\) 本身没有坐标无关的意义:同一个平面,笛卡尔坐标下 \(\Gamma=0\),极坐标下 \(\Gamma\ne0\)。它是"这套坐标弯不弯"的记录,而不是"空间弯不弯"的记录。空间本身弯不弯,要看第 T4 章的曲率。
两个推论:
- 线性坐标变换下二阶导数项为零,\(\Gamma\) 按张量变换。所以笛卡尔坐标和斜笛卡尔坐标的 Christoffel 符号都是零。
- 只要空间能用笛卡尔坐标描述(对气球这种内蕴弯曲的连续体做不到),取旧坐标为笛卡尔 \(x^i\)(其中 \(\Gamma\equiv0\))、新坐标为一般 \(u^i\),得
量化翻译:Hessian 在非线性换元下也不是张量。 设 \(f(u)\) 是目标函数(如负对数似然),换参数 \(u=u(\tilde u)\)。链式法则两次:
\[\frac{\partial^2f}{\partial\tilde u^i\partial\tilde u^j}=\frac{\partial u^k}{\partial\tilde u^i}\frac{\partial u^p}{\partial\tilde u^j}\frac{\partial^2f}{\partial u^k\partial u^p}+\underline{\frac{\partial f}{\partial u^k}\frac{\partial^2u^k}{\partial\tilde u^i\partial\tilde u^j}}.\]第一项是 \((0,2)\) 型张量的变换律 \(J^THJ\),第二项和 (3.95) 的下划线项同源。它在驻点(\(\partial f/\partial u=0\))处消失,所以最优点处的 Hessian(以及由它得到的标准误)是张量,按 \(J^THJ\) 变换;离开驻点就不是。直接后果:
- 牛顿法不具有非线性重参数化不变性:从同一个点出发,在 \(\sigma\) 和 \(\log\sigma\) 下迭代,路径不同(实战 2 演示)。
- 期权的对数 Gamma:\(x=\ln S\) 时 \(\partial^2V/\partial x^2=S^2\,\partial^2V/\partial S^2+S\,\partial V/\partial S\)。多出来的 \(S\,\partial V/\partial S\) 正是这个附加项,这也是 Black–Scholes 方程换到对数价格后出现 \(-\frac12\sigma^2\partial_x\) 一项的来源(第 T4 章实战核对)。
- 自然梯度(natural gradient)用 Fisher 信息 \(g_{ij}\) 作度量,更新方向 \(-g^{ij}f_{,j}\):\(f_{,j}\) 协变,\(g^{ij}\) 两个上标逆变,乘积是逆变向量(一个"位移"),在任何参数化下指向同一个几何方向。这是它对参数化不变(到一阶)的原因。
- Itô 引理 \(df(X)=f'dX+\frac12f''d\langle X\rangle\) 中的二阶项也是"非线性换元下二阶量不按张量变换"的体现,二者是概念上的类比;原书没有任何随机分析内容,Itô 引理见第 08 册。
推导拆解:上面框里的几个结论,在一维下都可以手算核对。
Hessian 公式。 设 \(u=u(\tilde u)\)。先求一阶导:\(\dfrac{df}{d\tilde u}=f'(u)\,u'(\tilde u)\)(链式法则)。再对 \(\tilde u\) 求导,用乘积法则:第一个因子 \(f'(u)\) 的导数是 \(f''(u)\,u'\),第二个因子 \(u'\) 的导数是 \(u''\),所以
\[\frac{d^2f}{d\tilde u^2}=f''(u)\,(u')^2+f'(u)\,u''.\]第一项是"张量项" \(J^THJ\) 的一维版本,第二项是附加项。对数 Gamma。 取 \(S=e^x\),则 \(dS/dx=S\),\(d^2S/dx^2=S\)。代入上式:\(V_{xx}=V_{SS}S^2+V_SS\)。
自然梯度为何不变。 用实战 2 的记号:在 \(\sigma\) 坐标,自然梯度一步是 \(\Delta\sigma=-\eta f_\sigma/g_{\sigma\sigma}\)。在 \(\theta=\log\sigma\) 坐标,\(f_\theta=\sigma f_\sigma\),\(g_{\theta\theta}=\sigma^2g_{\sigma\sigma}\),一步是 \(\Delta\theta=-\eta\,\sigma f_\sigma/(\sigma^2g_{\sigma\sigma})=-\eta f_\sigma/(\sigma g_{\sigma\sigma})\)。折回 \(\sigma\):\(\Delta\sigma\approx\sigma\Delta\theta=-\eta f_\sigma/g_{\sigma\sigma}\),与前者相同。分子按 Jacobian 乘一次,分母按 Jacobian 乘两次,再折回时又乘一次,正好抵消。
普通梯度为何不行。 在 \(\theta\) 坐标走 \(\Delta\theta=-\eta f_\theta=-\eta\sigma f_\sigma\),折回 \(\sigma\) 是 \(\Delta\sigma\approx-\eta\sigma^2f_\sigma\),比 \(\sigma\) 坐标下的 \(-\eta f_\sigma\) 多了因子 \(\sigma^2\)。日波动率约 0.02 时 \(\sigma^2=4\times10^{-4}\),步子小了两千多倍,这就是实战 2 中 \(\theta\) 坐标"几乎没动"的原因。
T3.7 习题中的重要结论
原书第 III 章 18 道习题,以下结论值得掌握:
- 倒易基的导数(习题 3.11):对 \(\mathbf g^i\cdot\mathbf g_j=\delta^i_j\) 求导得 \(\mathbf g^i_{,j}=-\Gamma^i_{jk}\mathbf g^k\)(式 3.104)。第 T4 章推导协变分量的协变导数要用。
- 度量与弧长(习题 3.12):\(ds^2=d\mathbf x\cdot d\mathbf x=g_{ij}du^idu^j\),曲线长 \(\int\sqrt{g_{ij}\dot u^i\dot u^j}\,dt\)。\(g_{ij}\) 因此被称为度量张量。把 \(g_{ij}\) 换成 Fisher 信息,\(ds^2\) 就是两个邻近分布之间的"统计距离",这是信息几何的出发点。
金融直觉:\(ds^2=g_{ij}du^idu^j\) 是一个二次型,和组合方差 \(\mathbf w\cdot\Sigma\mathbf w\) 形式完全相同。若把 \(g_{ij}\) 取成协方差矩阵的逆 \(\Sigma^{-1}\),\(ds^2\) 就是马氏距离的平方。度量的作用是告诉你"同样的数值变动,在这里算远还是算近":波动率 1% 的资产涨 2% 是两个标准差,波动率 10% 的资产涨 2% 只是 0.2 个标准差。以 Fisher 信息为度量时,"远近"按"两个参数值能否被数据区分开"来衡量。
- Frenet–Serret 公式(习题 3.4):\(\ddot{\mathbf x}=\ddot s\mathbf t+\kappa\dot s^2\mathbf n\)(路径加速度 + 向心加速度),曲率 \(\kappa=|\dot{\mathbf x}\times\ddot{\mathbf x}|/|\dot{\mathbf x}|^3\),挠率 \(\tau=(\dot{\mathbf x}\times\ddot{\mathbf x})\cdot\dddot{\mathbf x}/|\dot{\mathbf x}\times\ddot{\mathbf x}|^2\);\(\kappa(s),\tau(s)\) 在刚体运动意义下唯一确定曲线。习题 3.5 求圆柱螺旋线的 \(\kappa,\tau\)。
- Christoffel 符号能否任意指定(习题 3.16):不能。\(\Gamma\) 由度量的导数决定,必须满足可积性条件,这是第 T4 章曲率概念的伏笔。
- 由解析函数生成的柱坐标(习题 3.17):\(x+iy=f(u+iv)\) 给出正交坐标,\(J=|f'|^2\),Christoffel 符号由 \(f''/f'\) 的实部和虚部给出;抛物柱、椭圆柱、双极柱坐标都是特例。
- 中心力场轨道化为求积(习题 3.7):用 \(r^2\dot\theta=r_0\) 消去 \(\theta\),得到只含 \(r\) 的一阶方程。
量化实战
实战 1:数值计算 Christoffel 符号,并复核原书例题
用有限差分求自然基及其导数,分别按 (3.69) 和 (3.71) 两种算法计算球坐标的 Christoffel 符号,与例 3.5 的闭式解对照;再用 einsum 实现方框公式 \((3.90)_3\),复核例 3.7。这套"数值 Jacobian + einsum"的写法可以直接用于任何只给出参数化映射的问题。
import numpy as np
np.set_printoptions(precision=5, suppress=True)
# ---- 1. 球坐标 (rho, phi, theta) 的 Christoffel 符号:两种算法 + 原书闭式解 ----
def x_of_u(u):
rho, phi, th = u
return np.array([rho*np.sin(phi)*np.cos(th), rho*np.sin(phi)*np.sin(th), rho*np.cos(phi)])
def jac(f, u, h=1e-5): # 数值 Jacobian:第 i 列 = df/du^i
return np.column_stack([(f(u + h*e) - f(u - h*e)) / (2*h) for e in np.eye(len(u))])
u0 = np.array([2.0, 0.7, 1.1])
G = jac(x_of_u, u0) # 列 = 地窖基 g_i = dx/du^i
Ginv = np.linalg.inv(G) # 行 = 屋顶基 g^k
# g_{i,j}:对 u^j 再求一次导,得到形状 [p(笛卡尔), i, j]
dG = np.stack([(jac(x_of_u, u0 + 1e-4*e) - jac(x_of_u, u0 - 1e-4*e)) / 2e-4
for e in np.eye(3)], axis=-1)
Gamma1 = np.einsum('kp,pij->kij', Ginv, dG) # (3.69) Gamma^k_ij = g^k . g_{i,j}
# 第二种:只用度量 (3.71) Gamma^k_ij = 1/2 g^{kp}(g_ip,j + g_jp,i - g_ij,p)
def metric(u):
J = jac(x_of_u, u); return J.T @ J
dg = np.stack([(metric(u0 + 1e-4*e) - metric(u0 - 1e-4*e)) / 2e-4 for e in np.eye(3)], axis=-1) # dg[i,j,p]=g_ij,p
g_up = np.linalg.inv(metric(u0))
Gamma2 = 0.5 * np.einsum('kp,ijp->kij', g_up,
np.einsum('ipj->ijp', dg) + np.einsum('jpi->ijp', dg) - dg)
print("两种算法最大差:", np.abs(Gamma1 - Gamma2).max())
rho, phi = u0[0], u0[1]
book = {(1,0,1): 1/rho, (2,0,2): 1/rho, (2,1,2): 1/np.tan(phi), # 例 3.5 (b)
(0,1,1): -rho, (0,2,2): -rho*np.sin(phi)**2, (1,2,2): -np.sin(phi)*np.cos(phi)} # (c)
for (k, i, j), val in book.items():
print(f"Gamma^{k+1}_{i+1}{j+1}: 数值 {Gamma1[k,i,j]: .5f} 原书 {val: .5f}")
nonzero = {(k,i,j) for (k,i,j) in book} | {(k,j,i) for (k,i,j) in book}
others = [abs(Gamma1[k,i,j]) for k in range(3) for i in range(3) for j in range(3) if (k,i,j) not in nonzero]
print("其余分量最大绝对值:", max(others))
# ---- 2. 例 3.7:圆柱 -> 球坐标,混合分量的方框公式 (3.90)_3 ----
r_, phi_ = 2.0, np.arcsin(0.5)
phi_ = np.pi - phi_ # sin(phi)=1/2, cos(phi)=-sqrt(3)/2
s, c = np.sin(phi_), np.cos(phi_)
dU_dUt = np.array([[s, r_*c, 0], [0, 0, 1], [c, -r_*s, 0]]) # [du^k/du~^j],(r,theta,z) 对 (rho,phi,theta)
dUt_dU = np.linalg.inv(dU_dUt) # [du~^i/du^p]
Tm = np.array([[2, -1, 1], [0, 1, 2], [3, 0, -2.]]) # [T_j^.i]:第 i 行第 j 列
Tt = np.einsum('kj,ip,pk->ij', dU_dUt, dUt_dU, Tm) # T~_j^.i = du^k/du~^j du~^i/du^p T_k^.p
print("T~_2^1 =", Tt[0, 1], " 原书 4-2*sqrt(3) =", 4 - 2*np.sqrt(3))
关键输出(指标 1,2,3 对应 \(\rho,\phi,\theta\);取点 \(\rho=2,\phi=0.7\)):
两种算法最大差: 7.568755733267096e-08
Gamma^2_12: 数值 0.50000 原书 0.50000
Gamma^3_13: 数值 0.50000 原书 0.50000
Gamma^3_23: 数值 1.18724 原书 1.18724
Gamma^1_22: 数值 -2.00000 原书 -2.00000
Gamma^1_33: 数值 -0.83003 原书 -0.83003
Gamma^2_33: 数值 -0.49272 原书 -0.49272
其余分量最大绝对值: 3.9981288639928586e-08
T~_2^1 = 0.5358983848622461 原书 4-2*sqrt(3) = 0.5358983848622456
实战 2:重参数化——梯度协变、Hessian 不是张量、自然梯度不变
用 250 个模拟日收益估计波动率 \(\sigma\)。负对数似然 \(f(\sigma)=n\log\sigma+S/(2\sigma^2)\),\(S=\sum x_t^2\)。比较参数 \(\sigma\) 与 \(\theta=\log\sigma\):
- 梯度:\(f_\theta=f_\sigma\cdot\sigma\)(方框公式 \((3.89)_1\));
- Hessian:\(f_{\theta\theta}=f_{\sigma\sigma}\sigma^2+f_\sigma\sigma\),第二项是附加项;
- Fisher 信息(度量):\(g_{\sigma\sigma}=2n/\sigma^2\),\(g_{\theta\theta}=g_{\sigma\sigma}\sigma^2=2n\),按 2 阶协变张量变换。
import numpy as np
rng = np.random.default_rng(3)
# 日收益样本(均值视为 0),估计波动率 sigma;负对数似然 f(sigma) = n log sigma + S/(2 sigma^2)
x = rng.normal(0, 0.02, 250)
n, S = len(x), np.sum(x**2)
f = lambda s: n*np.log(s) + S/(2*s**2)
df = lambda s: n/s - S/s**3 # 梯度(1 维协变分量)
d2f = lambda s: -n/s**2 + 3*S/s**4 # Hessian
s_hat = np.sqrt(S/n)
# 新坐标 theta = log sigma:sigma = e^theta,d sigma/d theta = sigma,d^2 sigma/d theta^2 = sigma
def grad_theta(s): return df(s) * s # (3.89)_1:乘 Jacobian
def hess_theta(s): return d2f(s) * s**2 + df(s) * s # 张量项 + “Christoffel 型”附加项
def num_hess_theta(th, h=1e-4): # 有限差分核对
g = lambda t: f(np.exp(t))
return (g(th + h) - 2*g(th) + g(th - h)) / h**2
for s in [0.5*s_hat, s_hat]:
print(f"sigma={s:.4f}: 解析 H_theta={hess_theta(s):10.3f} 数值={num_hess_theta(np.log(s)):10.3f}"
f" 仅张量项={d2f(s)*s**2:10.3f} 附加项={df(s)*s:10.3f}")
# 牛顿法:同一起点,在两种参数化下迭代
s0 = 0.3 * s_hat
s_a, th = s0, np.log(s0)
print("\n迭代 牛顿(sigma) 牛顿(log sigma)")
for k in range(6):
s_a = s_a - df(s_a) / d2f(s_a)
th = th - grad_theta(np.exp(th)) / hess_theta(np.exp(th))
print(f"{k+1:3d} {s_a: .6f} {np.exp(th): .6f}")
print("MLE sigma_hat =", round(s_hat, 6))
# 自然梯度:用 Fisher 信息作度量,g_sigma = 2n/sigma^2,g_theta = 2n(按 2 阶协变张量变换)
eta = 0.2
s_b, th_b, s_c, th_c = s0, np.log(s0), s0, np.log(s0)
for k in range(30):
s_b -= eta * df(s_b) / (2*n/s_b**2) # 自然梯度,sigma 坐标
th_b -= eta * grad_theta(np.exp(th_b)) / (2*n) # 自然梯度,theta 坐标
s_c -= 1e-8 * df(s_c) # 普通梯度,sigma 坐标
th_c -= 1e-8 * grad_theta(np.exp(th_c)) # 普通梯度,theta 坐标(同学习率)
print(f"\n30 步后 自然梯度: sigma坐标 {s_b:.6f}, theta坐标 {np.exp(th_b):.6f}")
print(f" 普通梯度: sigma坐标 {s_c:.6f}, theta坐标 {np.exp(th_c):.6f}")
print("标准误(delta 方法与张量变换一致): se(sigma)=%.6f, sigma*se(theta)=%.6f"
% (np.sqrt(s_hat**2/(2*n)), s_hat*np.sqrt(1/(2*n))))
关键输出:
sigma=0.0101: 解析 H_theta= 2000.000 数值= 2000.000 仅张量项= 2750.000 附加项= -750.000
sigma=0.0203: 解析 H_theta= 500.000 数值= 500.000 仅张量项= 500.000 附加项= 0.000
迭代 牛顿(sigma) 牛顿(log sigma)
1 0.007994 0.009599
2 0.010368 0.014152
3 0.013166 0.018299
4 0.016123 0.020096
5 0.018636 0.020297
6 0.019994 0.020300
MLE sigma_hat = 0.0203
30 步后 自然梯度: sigma坐标 0.020290, theta坐标 0.020295
普通梯度: sigma坐标 0.016399, theta坐标 0.006094
标准误(delta 方法与张量变换一致): se(sigma)=0.000908, sigma*se(theta)=0.000908
读法:
- 在 \(\sigma=\hat\sigma/2\) 处,\(\theta\) 坐标的 Hessian 是 2000,如果只套用张量变换律 \(J^2f_{\sigma\sigma}\) 会得到 2750,差额 \(-750\) 就是附加项 \(f_\sigma\cdot\partial^2\sigma/\partial\theta^2\)。在 MLE 处梯度为零,附加项消失,两者都等于 500。所以用最优点的 Hessian 求标准误时,换参数化只需乘 Jacobian(delta 方法),最后一行验证了这一点。
- 同一起点的牛顿迭代,在 \(\log\sigma\) 参数化下 5 步收敛,在 \(\sigma\) 参数化下 6 步还没到。实践中对正参数(波动率、方差、GARCH 系数)用对数或其他无约束参数化,除了去掉约束,往往还让目标函数更接近二次型。
- 自然梯度在两种参数化下几乎走到同一处(残差来自离散步长的二阶误差);普通梯度在相同学习率下结果完全不同,在 \(\theta\) 坐标中 30 步几乎没动。普通梯度把协变向量 \(f_{,i}\) 直接当位移用,等于默认度量是 \(\delta_{ij}\),而这个默认依赖于参数化。
本章小结
曲线坐标的自然基 \(\mathbf g_i=\partial\mathbf x/\partial u^i\) 逐点变化,对它求导产生 Christoffel 符号 \(\mathbf g_{i,j}=\Gamma^k_{ij}\mathbf g_k\);加速度 \(a^k=\ddot u^k+\Gamma^k_{ij}\dot u^i\dot u^j\) 中的 \(\Gamma\) 项就是极坐标里的向心项与 Coriolis 项。Christoffel 符号可用倒易基 \(\Gamma^k_{ij}=\mathbf g^k\cdot\mathbf g_{i,j}\) 计算,也可只用度量计算,后者适用于任何只给出度量的空间。坐标变换把第 T2 章的常矩阵 \(A\) 换成 Jacobian \(\partial u^i/\partial\tilde u^j\),得到方框公式:协变分量乘 \(\partial u/\partial\tilde u\),逆变分量乘 \(\partial\tilde u/\partial u\)。Christoffel 符号的变换多出二阶导数项,因而不是张量。对量化最重要的推论是:梯度是协变向量,按链式法则变换;Hessian 只在驻点处按张量变换;牛顿法依赖参数化,自然梯度(用 Fisher 信息作度量)不依赖。
| 概念 | 公式 | 量化对应 |
|---|---|---|
| 自然基 | \(\mathbf g_i=\partial\mathbf x/\partial u^i\),\(J=\det[x^i_{,j}]\) | 参数化映射的 Jacobian |
| 速度屋顶分量 | \(v^i=\dot u^i\) | 参数的"位移"是逆变的 |
| 物理分量 | \(v^{(i)}=v^i/\lvert\mathbf g^i\rvert\) | 统一单位后再比较敏感度 |
| Christoffel 符号 | \(\mathbf g_{i,j}=\Gamma^k_{ij}\mathbf g_k\),\(\Gamma^k_{ij}=\Gamma^k_{ji}\) | |
| 计算公式 | \(\Gamma^k_{ij}=\mathbf g^k\cdot\mathbf g_{i,j}=\frac12g^{kp}(g_{ip,j}+g_{jp,i}-g_{ij,p})\) | Fisher 度量下的联络 |
| 加速度 | \(a^k=\ddot u^k+\Gamma^k_{ij}\dot u^i\dot u^j\) | 测地线方程的前身 |
| 方框公式(向量) | \(\tilde v_j=\frac{\partial u^i}{\partial\tilde u^j}v_i\),\(\tilde v^i=\frac{\partial\tilde u^i}{\partial u^j}v^j\) | 链式法则;Delta 换坐标 |
| 方框公式(张量) | \(\tilde T_{ij}=\frac{\partial u^k}{\partial\tilde u^i}\frac{\partial u^p}{\partial\tilde u^j}T_{kp}\) 等 | 驻点处 Hessian、Fisher 信息 |
| \(\Gamma\) 的变换 | 含 \(\partial^2u^p/\partial\tilde u^j\partial\tilde u^k\) 项,非张量 | Hessian 附加项、对数 Gamma |
| 从笛卡尔出发 | \(\Gamma^i_{jk}=\frac{\partial u^i}{\partial x^p}\frac{\partial^2x^p}{\partial u^j\partial u^k}\) | |
| 弧长 | \(ds^2=g_{ij}du^idu^j\) | 统计距离、马氏距离 |
练习
基础
- 对圆柱坐标 \((r,\theta,z)\) 求 \(\mathbf g_i\)、\(J\)、\([g_{ij}]\),并用正交坐标四种情形求全部非零 Christoffel 符号。 答案要点:\([g_{ij}]=\operatorname{diag}(1,r^2,1)\),\(J=r\);非零的只有 \(\Gamma^r_{\theta\theta}=-r\),\(\Gamma^\theta_{r\theta}=\Gamma^\theta_{\theta r}=1/r\)(与第 T4 章例 4.6 所用一致)。
- 证明 \(\mathbf g^i_{,j}=-\Gamma^i_{jk}\mathbf g^k\)。(原书习题 3.11) 提示:对 \(\mathbf g^i\cdot\mathbf g_k=\delta^i_k\) 关于 \(u^j\) 求导,再点乘展开。
- 二维坐标 \(x=u-v^2\),\(y=u+v\)。求 \(\mathbf g_u,\mathbf g_v\)、\(J\)、倒易基与全部 Christoffel 符号。(原书习题 3.10 前半) 答案要点:\(\mathbf g_u\sim(1,1)\),\(\mathbf g_v\sim(-2v,1)\),\(J=1+2v\);\(\mathbf g_{v,v}\sim(-2,0)\),其余二阶导数为零;\(\mathbf g^u\sim\frac1{1+2v}(1,2v)\),\(\mathbf g^v\sim\frac1{1+2v}(-1,1)\);故 \(\Gamma^u_{vv}=-\frac2{1+2v}\),\(\Gamma^v_{vv}=\frac2{1+2v}\),其余为零。
- 设期权价格 \(V(S)\),\(x=\ln S\)。写出 \(\partial V/\partial x\) 与 \(\partial^2V/\partial x^2\),并说明 Delta 中性(\(\partial V/\partial S=0\))时对数 Gamma 与"现金 Gamma"\(S^2\partial^2V/\partial S^2\) 的关系。 答案要点:\(V_x=SV_S\),\(V_{xx}=S^2V_{SS}+SV_S\);Delta 中性时 \(V_{xx}=S^2V_{SS}\),即"驻点处二阶量按张量变换"。
- 证明线性(斜笛卡尔)坐标 \(x^i=A^i_ju^j\) 中所有 Christoffel 符号为零。 提示:\(\mathbf g_i=A^k_i\mathbf e_k\) 为常向量,\(\mathbf g_{i,j}=\mathbf 0\)。
进阶
- 由 (3.78) 出发完整推导 (3.71),并说明哪一步用到了 \(\Gamma^k_{ij}=\Gamma^k_{ji}\)。 提示:见 T3.4.2;对称性用于让 \(\Gamma^p_{ki}g_{pj}\) 与 \(\Gamma^p_{ik}g_{pj}\) 合并、\(\Gamma^p_{ji}g_{pk}\) 与 \(\Gamma^p_{ij}g_{pk}\) 相消。
- 设参数 \(\theta\) 的对数似然为 \(\ell(\theta)\),Fisher 信息为 \(I(\theta)\)。证明在一一可微换元 \(\theta=\theta(\eta)\) 下 \(I(\eta)=J^TI(\theta)J\)(\(J=\partial\theta/\partial\eta\)),即 Fisher 信息是协变 2 阶张量;并说明为什么观测信息矩阵(负 Hessian)只在 MLE 处满足同样的变换律。 提示:\(I(\theta)=\mathbb E[\nabla\ell\nabla\ell^T]\),得分 \(\nabla\ell\) 按 \(J^T\) 变换;负 Hessian 的附加项 \(\ell_{,k}\partial^2\theta^k/\partial\eta\partial\eta\) 在 MLE 处为零(Fisher 信息因为对得分取期望 \(\mathbb E[\ell_{,k}]=0\),附加项期望为零)。
- 在球坐标中写出 \(f^\rho=0,f^\phi=0,f^\theta=0\) 时的三个运动方程,并验证一条过原点外的直线(匀速)满足它们。 提示:用例 3.5 的 \(\Gamma\);验证可取 \(\phi\equiv\pi/2\)、平面内的直线 \(x=1,y=t\)。
- 对极坐标验证 (3.96):\(\Gamma^i_{jk}=\frac{\partial u^i}{\partial x^p}\frac{\partial^2x^p}{\partial u^j\partial u^k}\) 给出 (3.37)。
- 编程:用实战 1 的数值方法计算例 3.4 坐标系在 \((u,v,w)=(1,2,3)\) 处的全部 Christoffel 符号,与例 3.4 的闭式解比较。 答案要点:\(\Gamma^u_{uu}=0.2\),\(\Gamma^u_{uv}=0.4\),\(\Gamma^u_{vv}=-0.2\),\(\Gamma^v_{uv}=0.2\),\(\Gamma^v_{uu}=-0.4\),\(\Gamma^v_{vv}=0.4\),\(\Gamma^w_{ww}=1/3\)。
原书推荐习题
- 3.8、3.9、3.10:一般坐标的完整计算流程(基、倒易基、\(\Gamma\)、加速度分量)。
- 3.11:\(\mathbf g^i_{,j}=-\Gamma^i_{jk}\mathbf g^k\),第 T4 章协变导数要用。
- 3.12:度量张量与弧长,信息几何的入口。
- 3.16:Christoffel 符号能否任意指定,曲率概念的伏笔。
- 3.4:Frenet–Serret 公式,曲线几何基础。
原书对照
| 本章小节 | 原书小节 | 书页 | PDF 页 |
|---|---|---|---|
| T3.1 牛顿定律与不变形式 | 3.0 章首;3.1 Rigid Bodies;3.2 New Conservation Laws;3.3 Nomenclature;3.4 Cartesian Components | 45–49 | 58–62 |
| T3.2 极坐标:运动标架 | 3.5 Plane Polar Coordinates;3.6 Physical Components;3.7 The Christoffel Symbols | 50–54 | 63–67 |
| T3.3 一般三维坐标 | 3.8 General Three-Dimensional Coordinates;3.9 Newton's Law in General Coordinates | 54–58 | 67–71 |
| T3.4 Christoffel 符号的计算 | 3.10 Computation;3.11 An Alternative Formula | 58–62 | 71–75 |
| T3.5 坐标变换与方框公式 | 3.12 A Change of Coordinates | 62–64 | 75–77 |
| T3.6 Christoffel 符号不是张量 | 3.13 Transformation of the Christoffel Symbols | 64–65 | 77–78 |
| T3.7 习题结论 | 3.14 Exercises(共 18 题) | 65–69 | 78–82 |
页码换算:第 I–III 章原书第 \(p\) 页 = PDF 第 \(p+13\) 页。原书 p.70 为空白页,扫描中缺失,因此从第 IV 章起页码偏移变为 \(p+12\)。式 (3.73) 的计数疑似印误,见 T3.4.2。