专题 · 15 环 · 1 环的主人不在馆里

航天

终点:一枚正在落回发射场的一级火箭

把东西送上天要回答三个问题:它会走一条什么曲线,怎么从这条轨道换到那条,以及在燃料有限的前提下该怎么烧。三个问题各对应一段数学,最后一段到二十世纪中叶才备齐。

缩略轴按先后排列,间距不表示年数;实心=馆里有他,空心=还没有。

  1. 1609

    轨道是椭圆,扫过的面积随时间均匀增长语言

    开普勒1571–1630《走得有快有慢,扫过的面积却一样》

    第谷留下的火星数据有八分弧对不上圆轨道,他没有把这八分抹掉。今天算一个航天器什么时候到某个位置,解的仍是他那条超越方程。

  2. 1687

    一条平方反比定律,推出全部三条轨道定律语言

    牛顿1643–1727《为什么必须是平方反比》

    二体问题有解析解,这是航天里唯一一件能写成闭式的事。此后所有的工作,都是在处理「不止两个物体」和「不是质点」带来的偏差。

  3. 1744

    求一条曲线,使某个积分取极值最优

    欧拉1707–1783《变分法与最速降线》

    变分法把「哪条路最好」变成一个能解的方程。两百年后的最优轨迹设计,用的还是欧拉—拉格朗日方程这条主干。

  4. 1761

    飞这一段要多久,与轨道长什么样无关算法

    兰伯特1728–1777《飞这一段要多久,与轨道长什么样无关》

    转移时间只取决于两个端点到焦点的距离之和与它们之间的弦长。这条定理反过来用,就是「给定出发点、到达点和飞行时间,求那条轨道」——今天所有的轨道转移、交会对接都要解这个问题。

  5. 1788

    一本没有图的力学书语言

    拉格朗日1736–1813《一本没有图的力学书》

    他在序里夸口说全书找不到一张图。把力学写成纯分析之后,约束条件才能作为方程处理——今天的多体动力学仿真器仍按这条路子搭。三体问题的五个平动点也是他给的。

  6. 1843

    三个数不够,要四个结构

    哈密顿1805–1865《万向节死锁:三个角度不够用》

    用三个欧拉角表示姿态,会在某些角度上丢掉一个自由度,这就是万向节死锁——阿波罗 11 号的惯性平台真的撞上过。四元数没有这个毛病,今天航天器和无人机的姿态全用它存。

  7. 1845

    空气也有黏性:物体在流体里受的阻力,从这组方程算起语言

    斯托克斯1819–1903《牛顿的漩涡差了一个力矩》

    纳维–斯托克斯方程是今天计算流体力学的底本:火箭穿过大气时的阻力、级间分离时的气动载荷、一级落回时栅格舵上的力,都要拿它(或它的简化)去算。纳维、泊松、圣维南先后推出过同一组方程;斯托克斯 1845 年那篇推导最干净,并拿它解了圆筒之间与圆管里的流动。

  8. 1890

    三体问题没有那种解,而且解会乱起来边界

    庞加莱1854–1912《三体问题与混沌》

    他本来想证明太阳系稳定,得奖的论文印出来之后他自己发现错了,自费收回重印——改正之后的结论是相反的。轨道预报有一个时间尺度上的天花板,就是从这里来的。

  9. 1892

    不解方程,也能判断它稳不稳语言

    李雅普诺夫1857–1918《不解方程,也能判断它稳不稳》

    造一个沿着轨迹只会减小的正函数,就能断定系统收敛——不必把解写出来。他自己在序言第二段写明要的就是这个:会积分的时候问题当然不难,难的是不依赖积分也能解决。从火箭的姿态回路到无人机,从电源环路到今天证明优化算法收敛,用的都是这一招。

  10. 1901

    不解方程,一步一步把轨道推出去算法

    龙格1856–1927《一步里算四次,能买到四阶》

    轨道方程绝大多数写不出解析解,只能一步一步往前推。龙格 1895 年把求积的老办法搬了过来——中点的值还不知道,就先用欧拉走半步猜出来;库塔 1901 年把它推到四阶,一步算四个函数值,误差是步长的四次方。今天从深空探测的定轨到发动机内流场的仿真,跑的还是这条一百多年没换过的式子;他们在同一篇里留下的另一件东西同样没换过:拿大步长与小步长的结果是否相符来决定这一步该信到第几位。

  11. 1946

    与其硬算,不如随机采样数一数不确定

    冯·诺依曼1903–1957《他要的不是真随机,是查得了账的假随机》

    构想是乌拉姆 1946 年病中打牌时想到的,冯·诺依曼把它变成了机器上跑得动的东西。一枚火箭上天之前要回答的不是「标称弹道长什么样」,而是「把风、推力偏差、传感器噪声各自的分布撒进去,落点会散成什么样」——这件事没有闭式,只能把整条弹道随机跑上几万遍数一数。今天的弹道散布分析、故障树与可靠性评估都是这么做的。要紧的是那些随机数本身也得是算出来的:现场没法摇骰子,而且出了事要能一模一样地重跑一遍。

  12. 1947

    在一堆不等式围出来的地方,找最好的那个角最优

    丹齐格1914–2005《沿着多面体的棱往上爬》

    线性规划与单纯形法,起于 1947 年美国空军的计划工作:先把「按规矩排计划」改成写出一个要最大或最小的目标,再交给机器解。最优控制的连续问题一离散,推力的上下界、终点的位置与速度都成了一条条不等式,燃料最省就成了这样一道题;2007 年那一环解的二阶锥规划是它的推广,今天用内点法求解,而「约束写成不等式、目标交给求解器」这套提法是从这里开始的。

  13. 1954

    扰动之后,哪些轨道还留得住结构

    柯尔莫哥洛夫1903–1987《扰动之后并不是全乱》

    庞加莱那一环给的是坏消息:三体不可积,轨道会乱。这一环是另一半——只要频率随轨道真的在变,加一个足够小的扰动之后,整个区域除去一块测度任意小的集合,仍然由不变环面铺着。哪些留得住有判据:频率被有理数逼近得「反常地好」的那些先碎。今天判断一个轨位能不能长期停住、算行星际的低能转移轨道,以及粒子加速器里束流能存多久,问的都是这件事。

  14. 1956

    推力该什么时候开、什么时候关最优

    庞特里亚金1908–1988《推力什么时候反过来》

    最大值原理 1956 年先以「假设」发表在一篇三页的短札里(与学生玻尔强斯基、甘克列利泽合写),两年里由学生补出证明。它把「在约束下求最优控制」变成一个能解的两点边值问题;要紧的是控制受「舵只能打到头」这类不等式约束时,魏尔斯特拉斯的旧判据不成立,而它仍成立。由此得出一个反直觉的结论:最优的推力程序常常只取两个极端,要么全开、要么全关。同一时期贝尔曼从另一条路给出动态规划。

  15. 2007

    把动力下降写成一个凸问题最优

    阿奇克梅谢与布莱克莫尔无损凸化不在馆里

    推力有上下界,「下界」这一条让问题本来是非凸的。他们证明放松成凸问题之后最优解不变——这叫无损凸化。凸问题能在几十毫秒内求到全局最优,于是制导可以在下降途中一遍遍重算。喷气推进实验室的火星着陆制导走的是这一路。